aBreadcrumbs = array( array('url' => KTUtil::getRequestScriptName($_SERVER), 'name' => _kt('Administration')), ); parent::KTAdminDispatcher(); } function do_main() { if ($this->category !== '') { return $this->do_viewCategory(); }; // are we categorised, or not? $oRegistry =& KTAdminNavigationRegistry::getSingleton(); $categories = $oRegistry->getCategories(); $KTConfig =& KTConfig::getSingleton(); $condensed_admin = $KTConfig->get("condensedAdminUI"); $aAllItems = array(); // we need to investigate sub_url solutions. if ($condensed_admin) { foreach ($categories as $aCategory) { $aItems = $oRegistry->getItemsForCategory($aCategory['name']); $aAllItems[$aCategory['name']] = $aItems; } } $this->oPage->title = _kt("DMS Administration") . ": "; $oTemplating =& KTTemplating::getSingleton(); if ($condensed_admin) { $oTemplate = $oTemplating->loadTemplate("kt3/admin_fulllist"); } else { $oTemplate = $oTemplating->loadTemplate("kt3/admin_categories"); } $aTemplateData = array( "context" => $this, "categories" => $categories, "all_items" => $aAllItems, "baseurl" => $_SERVER['PHP_SELF'], ); return $oTemplate->render($aTemplateData); } function do_viewCategory() { // are we categorised, or not? $category = KTUtil::arrayGet($_REQUEST, "fCategory", $this->category); $oRegistry =& KTAdminNavigationRegistry::getSingleton(); $aCategory = $oRegistry->getCategory($category); $aItems = $oRegistry->getItemsForCategory($category); $this->aBreadcrumbs[] = array("name" => $aCategory["title"], "url" => KTUtil::ktLink('admin.php',$category)); $this->oPage->title = _kt("DMS Administration") . ": " . $aCategory["title"]; $oTemplating =& KTTemplating::getSingleton(); $oTemplate = $oTemplating->loadTemplate("kt3/admin_items"); $aTemplateData = array( "context" => $this, "category" => $aCategory, "items" => $aItems, "baseurl" => $_SERVER['PHP_SELF'], ); return $oTemplate->render($aTemplateData); } } $sub_url = KTUtil::arrayGet($_SERVER, 'PATH_INFO'); $sub_url = trim($sub_url); $sub_url= trim($sub_url, "/"); if (empty($sub_url)) { $oDispatcher = new AdminSplashDispatcher(); } else { $oRegistry =& KTAdminNavigationRegistry::getSingleton(); if ($oRegistry->isRegistered($sub_url)) { $oDispatcher = $oRegistry->getDispatcher($sub_url); $aParts = explode('/',$sub_url); $oRegistry =& KTAdminNavigationRegistry::getSingleton(); $aCategory = $oRegistry->getCategory($aParts[0]); $oDispatcher->aBreadcrumbs = array(); $oDispatcher->aBreadcrumbs[] = array('action' => "administration", 'name' => _kt('Administration')); $oDispatcher->aBreadcrumbs[] = array("name" => $aCategory['title'], "url" => KTUtil::ktLink('admin.php',$aParts[0])); } else { // FIXME (minor) redirect to no-suburl? $oDispatcher = new AdminSplashDispatcher(); $oDispatcher->category = $sub_url; } } $oDispatcher->dispatch(); // we _may_ be redirected at this point (see KTAdminNavigation) ?>