/** * Basic controller method invoking all further methods in order to generate an admin view. * Takes care of generating the navigation, title, common JS variables, loading quickhelp texts,... * * @throws class_exception * @return string * @final * @todo could be moved to a general admin-skin helper */ public final function getModuleOutput() { //skip rendering everything if we just want to redirect... if ($this->strOutput == "" && class_response_object::getInstance()->getStrRedirectUrl() != "") { return ""; } $this->validateAndUpdateCurrentAspect(); //Calling the content-setter, including a default dialog $this->arrOutput["content"] = $this->strOutput; if ($this->getArrModule("template") != "/folderview.tpl") { $this->arrOutput["path"] = class_admin_helper::getAdminPathNavi($this->getArrOutputNaviEntries(), $this->getArrModule("modul")); $this->arrOutput["moduleSitemap"] = $this->objToolkit->getAdminSitemap($this->getArrModule("modul")); $this->arrOutput["moduletitle"] = $this->getOutputModuleTitle(); $this->arrOutput["actionTitle"] = $this->getOutputActionTitle(); if (class_module_system_aspect::getActiveObjectCount() > 1) { $this->arrOutput["aspectChooser"] = $this->objToolkit->getAspectChooser($this->getArrModule("modul"), $this->getAction(), $this->getSystemid()); } $this->arrOutput["login"] = $this->getOutputLogin(); $this->arrOutput["quickhelp"] = $this->getQuickHelp(); } $this->arrOutput["languageswitch"] = class_module_system_module::getModuleByName("languages") != null ? class_module_system_module::getModuleByName("languages")->getAdminInstanceOfConcreteModule()->getLanguageSwitch() : ""; $this->arrOutput["module_id"] = $this->getArrModule("moduleId"); $this->arrOutput["webpathTitle"] = urldecode(str_replace(array("http://", "https://"), array("", ""), _webpath_)); $this->arrOutput["head"] = "<script type=\"text/javascript\">KAJONA_DEBUG = " . $this->objConfig->getDebug("debuglevel") . "; KAJONA_WEBPATH = '" . _webpath_ . "'; KAJONA_BROWSER_CACHEBUSTER = " . class_module_system_setting::getConfigValue("_system_browser_cachebuster_") . ";</script>"; //see if there are any hooks to be called $this->onRenderOutput($this->arrOutput); //Loading the desired Template //if requested the pe, load different template $strTemplateID = ""; if ($this->getParam("peClose") == 1 || $this->getParam("pe") == 1) { //add suffix try { $strTemplate = "/folderview.tpl"; $strTemplateID = $this->objTemplate->readTemplate($strTemplate, "", false, true); } catch (class_exception $objException) { //An error occurred. In most cases, this is because the user ist not logged in, so the login-template was requested. if ($this->getArrModule("template") == "/login.tpl") { throw new class_exception("You have to be logged in to use the portal editor!!!", class_exception::$level_ERROR); } } } else { $strTemplateID = $this->objTemplate->readTemplate(class_adminskin_helper::getPathForSkin($this->objSession->getAdminSkin()) . $this->getArrModule("template"), "", true); } return $this->objTemplate->fillTemplate($this->arrOutput, $strTemplateID); }