Exemplo n.º 1
0
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";
                    }
                }
            }
    }
}
Exemplo n.º 2
0
 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());
     }
 }
Exemplo n.º 3
0
 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());
     }
 }