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; }
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]) . " \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; }