/dev/null &"); function annotate($text) {echo "\n\n";} ?> lang=""> <?=_var($var,'NAME')?>/<?=_var($myPage,'name')?> "> "> "> "> "> "> "> ">
"; if ($themes2) echo "
"; foreach ($buttons as $button) { annotate($button['file']); // include page specific stylesheets (if existing) $css = "/{$button['root']}/sheets/{$button['name']}"; $css_stock = "$css.css"; $css_theme = "$css-$theme.css"; if (is_file($docroot.$css_stock)) echo '',"\n"; if (is_file($docroot.$css_theme)) echo '',"\n"; // create page content eval('?>'.parse_text($button['text'])); } unset($buttons,$button); // Build page content // Reload page every X minutes during extended viewing? if (isset($myPage['Load']) && $myPage['Load']>0) echo "\n\n"; echo "
"; $tab = 1; $pages = []; if (!empty($myPage['text'])) $pages[$myPage['name']] = $myPage; if (_var($myPage,'Type')=='xmenu') $pages = array_merge($pages, find_pages($myPage['name'])); if (isset($myPage['Tabs'])) $display['tabs'] = strtolower($myPage['Tabs'])=='true' ? 0 : 1; $tabbed = $display['tabs']==0 && count($pages)>1; foreach ($pages as $page) { $close = false; if (isset($page['Title'])) { eval("\$title=\"".htmlspecialchars($page['Title'])."\";"); if ($tabbed) { echo "
"; $close = true; } else { if ($tab==1) echo "
"; echo "
"; echo tab_title($title,$page['root'],_var($page,'Tag',false)); echo "
"; } $tab++; } if (isset($page['Type']) && $page['Type']=='menu') { $pgs = find_pages($page['name']); foreach ($pgs as $pg) { @eval("\$title=\"".htmlspecialchars($pg['Title'])."\";"); $icon = _var($pg,'Icon',""); if (substr($icon,-4)=='.png') { $root = $pg['root']; if (file_exists("$docroot/$root/images/$icon")) { $icon = ""; } elseif (file_exists("$docroot/$root/$icon")) { $icon = ""; } else { $icon = ""; } } elseif (substr($icon,0,5)=='icon-') { $icon = ""; } elseif ($icon[0]!='<') { if (substr($icon,0,3)!='fa-') $icon = "fa-$icon"; $icon = ""; } echo ""; } } // create list of nchan scripts to be started if (isset($page['Nchan'])) nchan_merge($page['root'], $page['Nchan']); annotate($page['file']); // include page specific stylesheets (if existing) $css = "/{$page['root']}/sheets/{$page['name']}"; $css_stock = "$css.css"; $css_theme = "$css-$theme.css"; if (is_file($docroot.$css_stock)) echo '',"\n"; if (is_file($docroot.$css_theme)) echo '',"\n"; // create page content empty($page['Markdown']) || $page['Markdown']=='true' ? eval('?>'.Markdown(parse_text($page['text']))) : eval('?>'.parse_text($page['text'])); if ($close) echo "
"; } 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); } unset($pages,$page,$pgs,$pg,$icon,$nchan,$running,$start,$stop,$row,$script,$opt,$nchan_run); ?>
'; $progress = (_var($var,'fsProgress')!='') ? "•{$var['fsProgress']}" : ""; switch (_var($var,'fsState')) { case 'Stopped': echo " ",_('Array Stopped'),"$progress"; break; case 'Starting': echo " ",_('Array Starting'),"$progress"; break; case 'Stopping': echo " ",_('Array Stopping'),"$progress"; break; default: echo " ",_('Array Started'),"$progress"; break; } echo ""; echo "Unraid® webGui ©2024, Lime Technology, Inc."; echo " "._('manual').""; echo "
"; ?>