/**
  * 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);
 }