function content() { global $pagenum, $selected, $message, $menu, $set, $langmessage, $LNEversion, $out, $prefix; if ($message != "") { $out .= "<div class=\"LNE_message\">" . $message . "</div>\n"; } if ($_SESSION['adminlevel'] > 3) { $out .= adminmenu(); } switch ($_GET['do']) { case "search": $out .= "<h2 class=\"LNE_title\">{$langmessage['66']}</h2>\n"; $out .= search(); break; case "register": if ($set['gzip']) { $out .= register(); } break; case "addons": $out .= addons(); break; case "create": $out .= create_page(); break; case "database": $out .= query(); break; case "delete": delete_page(); break; case "edit": print $out; $out = ""; editpage(); break; case "editextra": print $out; $out = ""; extras(); break; case "editmenu": $out .= editmenu(); break; case "login": $out .= loginform(); break; case "plugins": $out .= plugins(); break; case "profile": if ($_SESSION[$set['password']] == "1") { $out .= profile(); } break; case "query": $out .= query(); break; case "settings": $out .= settings(); break; case "setup": $out .= setup(); break; case "sitemap": $out .= showsitemap($langmessage, 0); break; case "users": $out .= users(); break; default: $addons = fetch_all(dbquery("SELECT * FROM " . $prefix . "addons WHERE active=1")); $found = false; foreach ($addons as $addon) { if ($_GET['do'] == $addon['name'] && $_SESSION['adminlevel'] >= $addon['adminlevel']) { require_once "addons/" . $addon['name'] . "/admin.php"; $out .= $addon['aname'](); $found = true; break; } } if (!$found) { $result = dbquery("SELECT * FROM " . $prefix . "paginas WHERE page=\"" . $pagenum . "\""); if ($row = fetch_array($result)) { if ($row['restricted'] != 0 && $row['restricted'] > $_SESSION['adminlevel']) { $out .= restrictedpage($row['restricted']); } else { $contnt = html_entity_decode(stripslashes($row['content'])); showcontent($contnt); } } else { $result = dbquery("SELECT * FROM " . $prefix . "paginas WHERE page=\"index\""); if ($row = fetch_array($result)) { $contnt = html_entity_decode(stripslashes($row['content'])); showcontent($contnt); } else { $out .= "<h2>{$langmessage['116']}</h2>\n"; } } foreach ($addons as $addon) { if (strpos($contnt, "%!\$" . $addon['name']) && $addon['header'] == 1) { require_once "addons/" . $addon['name'] . "/header.php"; } } } } }
function handle($doc, $argv = null) { try { if (!$argv && isset($_SERVER['argv'])) { $argv = array_slice($_SERVER['argv'], 1); } ExitException::$usage = printable_usage($doc); $options = parse_defaults($doc); $formalUse = formal_usage(ExitException::$usage); $pattern = parse_pattern($formalUse, $options); $argv = parse_argv(new TokenStream($argv, 'ExitException'), $options, $this->optionsFirst); foreach ($pattern->flat('AnyOptions') as $ao) { $docOptions = parse_defaults($doc); $ao->children = array_diff((array) $docOptions, $pattern->flat('Option')); } extras($this->help, $this->version, $argv, $doc); list($matched, $left, $collected) = $pattern->fix()->match($argv); if ($matched && !$left) { $return = array(); foreach (array_merge($pattern->flat(), $collected) as $a) { $name = $a->name; if ($name) { $return[$name] = $a->value; } } return new Response($return); } throw new ExitException(); } catch (ExitException $ex) { $this->handleExit($ex); return new Response(null, $ex->status, $ex->getMessage()); } }
function handle($doc, $argv = null) { try { if ($argv === null && isset($_SERVER['argv'])) { $argv = array_slice($_SERVER['argv'], 1); } $usageSections = parse_section('usage:', $doc); if (count($usageSections) == 0) { throw new LanguageError('"usage:" (case-insensitive) not found.'); } elseif (count($usageSections) > 1) { throw new LanguageError('More than one "usage:" (case-insensitive).'); } $usage = $usageSections[0]; // temp fix until python port provides solution ExitException::$usage = $usage; $options = parse_defaults($doc); $formalUse = formal_usage($usage); $pattern = parse_pattern($formalUse, $options); $argv = parse_argv(new Tokens($argv), $options, $this->optionsFirst); $patternOptions = $pattern->flat('Option'); foreach ($pattern->flat('OptionsShortcut') as $optionsShortcut) { $docOptions = parse_defaults($doc); $optionsShortcut->children = array_diff((array) $docOptions, $patternOptions); } extras($this->help, $this->version, $argv, $doc); list($matched, $left, $collected) = $pattern->fix()->match($argv); if ($matched && !$left) { $return = array(); foreach (array_merge($pattern->flat(), $collected) as $a) { $name = $a->name; if ($name) { $return[$name] = $a->value; } } return new Response($return); } throw new ExitException(); } catch (ExitException $ex) { $this->handleExit($ex); return new Response(null, $ex->status, $ex->getMessage()); } }