getThemeName(); // keep $theme, $themes1, $themes2 vars for plugin backwards compatibility for the time being $themes1 = $themeHelper->isTopNavTheme(); $themes2 = $themeHelper->isSidebarTheme(); $themeHelper->updateDockerLogColor($docroot); $display['font'] = filter_var($_COOKIE['fontSize'] ?? $display['font'] ?? '', FILTER_SANITIZE_NUMBER_FLOAT, FILTER_FLAG_ALLOW_FRACTION); $header = $display['header']; // keep $header, $backgnd vars for plugin backwards compatibility for the time being $backgnd = $display['background']; $config = "/boot/config"; $entity = $notify['entity'] & 1 == 1; $alerts = '/tmp/plugins/my_alerts.txt'; $wlan0 = file_exists('/sys/class/net/wlan0'); $safemode = _var($var,'safeMode')=='yes'; $banner = "$config/plugins/dynamix/banner.png"; $notes = '/var/tmp/unRAIDServer.txt'; if (!file_exists($notes)) { file_put_contents($notes, shell_exec("$docroot/plugins/dynamix.plugin.manager/scripts/plugin changes $docroot/plugins/unRAIDServer/unRAIDServer.plg")); } $taskPages = find_pages('Tasks'); $buttonPages = find_pages('Buttons'); $pages = []; // finds subpages if (!empty($myPage['text'])) $pages[$myPage['name']] = $myPage; if (_var($myPage,'Type')=='xmenu') $pages = array_merge($pages, find_pages($myPage['name'])); // nchan related actions $nchan = ['webGui/nchan/notify_poller','webGui/nchan/session_check']; if ($wlan0) $nchan[] = 'webGui/nchan/wlan0'; // build nchan scripts from found pages $allPages = array_merge($taskPages, $buttonPages, $pages); foreach ($allPages as $page) { if (isset($page['Nchan'])) nchan_merge($page['root'], $page['Nchan']); } // act on nchan scripts if (count($pages)) { $running = file_exists($nchan_pid) ? file($nchan_pid,FILE_IGNORE_NEW_LINES|FILE_SKIP_EMPTY_LINES) : []; $start = array_diff($nchan, $running); // returns any new scripts to be started $stop = array_diff($running, $nchan); // returns any old scripts to be stopped $running = array_merge($start, $running); // update list of current running nchan scripts // start nchan scripts which are new foreach ($start as $row) { $script = explode(':',$row)[0]; exec("$docroot/$script &>/dev/null &"); } // stop nchan scripts with the :stop option foreach ($stop as $row) { [$script,$opt] = my_explode(':',$row); if ($opt == 'stop') { exec("pkill -f $docroot/$script &>/dev/null &"); array_splice($running,array_search($row,$running),1); } } if (count($running)) file_put_contents($nchan_pid,implode("\n",$running)."\n"); else @unlink($nchan_pid); } function annotate($text) { echo "\n\n"; } function generateReloadScript($loadMinutes) { if ($loadMinutes <= 0) { return ''; } $interval = $loadMinutes * 60000; return "\n\n"; } ?> lang="=strtok($locale, '_') ?: 'en'?>" class="= $themeHelper->getThemeHtmlClass() ?>">