Exemplo n.º 1
0
function showextended()
{
    global $lang;
    global $conf;
    global $site;
    global $user;
    $site->title($lang['search']['extended']);
    $form = new CodeKBForm("search.php", "search");
    $form->addtext("query");
    $form->addlabel("query", $lang['search']['keywords']);
    $form->addtext("author");
    $form->addlabel("author", $lang['search']['author']);
    $form->addmultiselect("cats", "0", $lang['category']['root']);
    $tmpcat = new CodeKBCategory(0, $user);
    $array = $tmpcat->listcategories("name", 1);
    while (is_array($array) && ($val = array_shift($array))) {
        $form->addmultiselect("cats", $val['id'], str_repeat("-", $val['reclevel'] * 2) . " " . $val['name']);
    }
    unset($tmpcat);
    $form->addlabel("cats", $lang['search']['category']);
    $form->addcombo("sort", $lang['sort']['sortbyname'], null, true);
    $form->addcombo("sort", $lang['sort']['sortbycreatedate']);
    $form->addcombo("sort", $lang['sort']['sortbymodifydate']);
    $form->addlabel("sort", $lang['sort']['sortby']);
    $form->addcombo("order", $lang['sort']['ascending'], null, true);
    $form->addcombo("order", $lang['sort']['descending']);
    $form->addcombo("age", $lang['search']['1day']);
    $form->addcombo("age", $lang['search']['7days']);
    $form->addcombo("age", $lang['search']['1month']);
    $form->addcombo("age", $lang['search']['3months']);
    $form->addcombo("age", $lang['search']['6months']);
    $form->addcombo("age", $lang['search']['1year']);
    $form->addcombo("age", $lang['search']['all'], null, true);
    $form->addlabel("age", $lang['search']['notolder']);
    $form->addradio("whichage", $lang['sort']['sortbycreatedate'], $lang['sort']['sortbycreatedate'], true);
    $form->addradio("whichage", $lang['sort']['sortbymodifydate'], $lang['sort']['sortbymodifydate']);
    $form->addbutton(null, $lang['search']['search']);
    $form->addbutton("cancel");
    $dialog = new CodeKBTemplate("dialog");
    $dialog->push("legend", $lang['search']['extended']);
    $dialogitem = new CodeKBTemplate("dialogitem");
    $content = $form->head();
    $content .= $form->get("query") . "<br />\n";
    $content .= $form->get("author") . "<br />\n";
    $dialogitem->push("top", $content);
    $dialogitem->push("content1", $form->get("cats"));
    $content = $form->get("sort");
    $content .= $form->get("order");
    $content .= "<br /><br />\n";
    $content .= $form->get("age");
    $content .= $form->get("whichage");
    $dialogitem->push("content2", $content);
    $content = "<br />\n";
    $content .= $form->tail();
    $dialogitem->push("tail", $content);
    $dialog->push("content", $dialogitem);
    $site->addcontent($dialog);
    return true;
}
Exemplo n.º 2
0
 public function output()
 {
     global $conf;
     global $lang;
     $header = new CodeKBTemplate("header");
     $header->push("stylesheet", $conf['general']['stylesheet']);
     $header->push("favicon", $conf['general']['imagepath'] . "/codekb.ico");
     $header->push("title", $this->_title);
     $header->push("headline", $conf['general']['title']);
     array_unshift($this->_menu, array("home.php", $lang['menu']['home'], $lang['menu']['homealt']), array("category.php", $lang['menu']['browse'], $lang['menu']['browsealt']));
     if ($this->_user->isadmin()) {
         array_push($this->_menu, array("admin.php", $lang['menu']['admin'], $lang['menu']['adminalt']));
     }
     if ($this->_user->valid()) {
         array_push($this->_menu, array("login.php?action=logout", $lang['menu']['logout'] . " [<em>" . htmlentities($this->_user->name()) . "</em>]", $lang['menu']['logoutalt']));
     } else {
         array_push($this->_menu, array("login.php", $lang['menu']['login'], $lang['menu']['loginalt']));
     }
     $menuitems = "";
     while ($menuentry = array_shift($this->_menu)) {
         $menuitems .= "\t\t" . url($menuentry[0], $menuentry[1], $menuentry[2]);
         if (count($this->_menu) != 0) {
             $menuitems .= " | \n";
         }
     }
     $search = new CodeKBForm("search.php", "search");
     $search->addtext("query");
     $menuitems .= $search->head();
     $searchstring = url("help.php", $lang['menu']['help'], $lang['menu']['helpalt']) . " | \n";
     $searchstring .= url("search.php", $lang['menu']['search'], $lang['menu']['searchalt']) . " \n";
     $searchstring .= $search->get("query");
     $tail = $search->tail();
     $menu = new CodeKBTemplate("menu");
     $menu->push("menu", $menuitems);
     $menu->push("search", $searchstring);
     $menu->push("tail", $tail);
     echo $header;
     echo $menu;
     if ($this->_navigation) {
         echo $this->_navigation;
     }
     echo $this->_content;
     $footeritems = "";
     while ($menuentry = array_shift($this->_footer)) {
         $footeritems .= "\t\t" . url($menuentry[0], icon($menuentry[1], $menuentry[2]), $menuentry[3]) . " \n";
         $footeritems .= "\t\t" . url($menuentry[0], $menuentry[2], $menuentry[3]) . "&nbsp; \n";
     }
     if ($conf['layout']['jumptonavigation']) {
         $footerform = new CodeKBForm("category.php", "list");
         $tmpcat = new CodeKBCategory(0, $this->_user);
         $footerform->addcombo("id", "0", $lang['category']['root'], $this->_catid == 0, "jump");
         $array = $tmpcat->listcategories("name", 1);
         foreach ($array as $val) {
             if ($this->_user->can("see", $val['id'])) {
                 $footerform->addcombo("id", $val['id'], str_repeat("-", $val['reclevel'] * 2) . " " . $val['name'], $this->_catid == $val['id'], "jump");
             }
         }
         unset($tmpcat);
         $footerform->addbutton("jump", $lang['general']['go']);
         $navi = $footerform->head();
         $navi .= $footerform->get("id");
         $navi .= $footerform->tail();
     }
     $query_num = CodeKBDatabase::querycount();
     $endtime = microtime(true);
     $debug = "";
     if ($conf['err']['debug']) {
         CodeKBException::backtrace();
         $debug = "<span style=\"font-size: xx-small;\">(Execution time: " . round($endtime - $this->_starttime, 4) . " / " . $query_num . " Queries)</span>";
     }
     $footer = new CodeKBTemplate("footer");
     $footer->push("footer", $footeritems);
     $footer->push("runtime", $debug);
     $footer->push("navigation", $navi);
     echo $footer;
 }