function executeCommand() { global $ilUser, $ilCtrl, $tpl, $ilTabs, $ilAccess; $next_class = $this->ctrl->getNextClass($this); $cmd = $this->ctrl->getCmd(); $this->prepareOutput(); // see ilWikiPageGUI::printViewOrderList() // printView() and pdfExport() cannot be in ilWikiPageGUI because of stylesheet confusion if ($cmd == "printView" || $cmd == "pdfExport") { $next_class = null; } switch ($next_class) { case "ilinfoscreengui": $this->checkPermission("visible"); $this->addHeaderAction(); $this->infoScreen(); // forwards command break; case 'ilpermissiongui': $this->addHeaderAction(); $ilTabs->activateTab("perm_settings"); include_once "Services/AccessControl/classes/class.ilPermissionGUI.php"; $perm_gui =& new ilPermissionGUI($this); $ret =& $this->ctrl->forwardCommand($perm_gui); break; case 'ilwikipagegui': $this->checkPermission("read"); include_once "./Modules/Wiki/classes/class.ilWikiPageGUI.php"; $wpage_gui = ilWikiPageGUI::getGUIForTitle($this->object->getId(), ilWikiUtil::makeDbTitle($_GET["page"]), $_GET["old_nr"], $this->object->getRefId()); include_once "./Services/Style/classes/class.ilObjStyleSheet.php"; $wpage_gui->setStyleId(ilObjStyleSheet::getEffectiveContentStyleId($this->object->getStyleSheetId(), "wiki")); $this->setContentStyleSheet(); if (!$ilAccess->checkAccess("write", "", $this->object->getRefId()) && (!$ilAccess->checkAccess("edit_content", "", $this->object->getRefId()) || $wpage_gui->getPageObject()->getBlocked())) { $wpage_gui->setEnableEditing(false); } // alter title and description // $tpl->setTitle($wpage_gui->getPageObject()->getTitle()); // $tpl->setDescription($this->object->getTitle()); $ret = $this->ctrl->forwardCommand($wpage_gui); if ($ret != "") { $tpl->setContent($ret); } break; case 'ilpublicuserprofilegui': require_once './Services/User/classes/class.ilPublicUserProfileGUI.php'; $profile_gui = new ilPublicUserProfileGUI($_GET["user"]); $ret = $this->ctrl->forwardCommand($profile_gui); $tpl->setContent($ret); break; case "ilobjstylesheetgui": include_once "./Services/Style/classes/class.ilObjStyleSheetGUI.php"; $this->ctrl->setReturn($this, "editStyleProperties"); $style_gui = new ilObjStyleSheetGUI("", $this->object->getStyleSheetId(), false, false); $style_gui->omitLocator(); if ($cmd == "create" || $_GET["new_type"] == "sty") { $style_gui->setCreationMode(true); } if ($cmd == "confirmedDelete") { $this->object->setStyleSheetId(0); $this->object->update(); } $ret = $this->ctrl->forwardCommand($style_gui); if ($cmd == "save" || $cmd == "copyStyle" || $cmd == "importStyle") { $style_id = $ret; $this->object->setStyleSheetId($style_id); $this->object->update(); $this->ctrl->redirectByClass("ilobjstylesheetgui", "edit"); } break; case "ilexportgui": // $this->prepareOutput(); $this->addHeaderAction(); $ilTabs->activateTab("export"); include_once "./Services/Export/classes/class.ilExportGUI.php"; $exp_gui = new ilExportGUI($this); $exp_gui->addFormat("xml"); $exp_gui->addFormat("html", "", $this, "exportHTML"); $ret = $this->ctrl->forwardCommand($exp_gui); // $this->tpl->show(); break; case "ilcommonactiondispatchergui": include_once "Services/Object/classes/class.ilCommonActionDispatcherGUI.php"; $gui = ilCommonActionDispatcherGUI::getInstanceFromAjaxCall(); $this->ctrl->forwardCommand($gui); break; case "ilratinggui": // for rating category editing $this->checkPermission("write"); $this->addHeaderAction(); $ilTabs->activateTab("settings"); $this->setSettingsSubTabs("rating_categories"); include_once "Services/Rating/classes/class.ilRatingGUI.php"; $gui = new ilRatingGUI(); $gui->setObject($this->object->getId(), $this->object->getType()); $gui->setExportCallback(array($this, "getSubObjectTitle"), $this->lng->txt("page")); $this->ctrl->forwardCommand($gui); break; case "ilwikistatgui": $this->checkPermission("statistics_read"); $this->addHeaderAction(); $ilTabs->activateTab("statistics"); include_once "Modules/Wiki/classes/class.ilWikiStatGUI.php"; $gui = new ilWikiStatGUI($this->object->getId()); $this->ctrl->forwardCommand($gui); break; case "ilwikipagetemplategui": $this->addHeaderAction(); $ilTabs->activateTab("settings"); $this->setSettingsSubTabs("page_templates"); include_once "./Modules/Wiki/classes/class.ilWikiPageTemplateGUI.php"; $wptgui = new ilWikiPageTemplateGUI($this); $this->ctrl->forwardCommand($wptgui); break; default: $this->addHeaderAction(); if (!$cmd) { $cmd = "infoScreen"; } $cmd .= "Object"; if ($cmd != "infoScreenObject") { $this->checkPermission("read"); } else { $this->checkPermission("visible"); } $this->{$cmd}(); break; } return $ret; }