/**
  * forward method
  */
 public function forward()
 {
     $this->tabs->setTabActive('settings');
     $this->lng->loadLanguageModule('tax');
     require_once 'Modules/TestQuestionPool/classes/class.ilAssQuestionList.php';
     $questionList = new ilAssQuestionList($this->db, $this->lng, $this->pluginAdmin, $this->poolOBJ->getId());
     $questionList->load();
     require_once 'Services/Taxonomy/classes/class.ilObjTaxonomyGUI.php';
     $taxGUI = new ilObjTaxonomyGUI();
     $taxGUI->setAssignedObject($this->poolOBJ->getId());
     $taxGUI->setMultiple(true);
     $taxGUI->activateAssignedItemSorting($questionList, 'qpl', $this->poolOBJ->getId(), 'quest');
     $this->ctrl->forwardCommand($taxGUI);
 }
 /**
  * Show taxonomy
  *
  * @param
  * @return
  */
 function showTaxonomy()
 {
     global $tpl, $lng;
     if (!$this->offlineMode() && $this->glossary->getShowTaxonomy()) {
         include_once "./Services/Taxonomy/classes/class.ilObjTaxonomy.php";
         $tax_ids = ilObjTaxonomy::getUsageOfObject($this->glossary->getId());
         if (count($tax_ids) > 0) {
             include_once "./Services/Taxonomy/classes/class.ilTaxonomyExplorerGUI.php";
             $tax_exp = new ilTaxonomyExplorerGUI($this, "showTaxonomy", $tax_ids[0], "ilglossarypresentationgui", "listTerms");
             if (!$tax_exp->handleCommand()) {
                 //$tpl->setLeftNavContent($tax_exp->getHTML());
                 $tpl->setLeftContent($tax_exp->getHTML() . " ");
             }
             return;
             include_once "./Services/Taxonomy/classes/class.ilObjTaxonomyGUI.php";
             $tpl->setLeftNavContent(ilObjTaxonomyGUI::getTreeHTML($tax_ids[0], "ilglossarypresentationgui", "listTerms", $lng->txt("cont_all_topics")));
         }
     }
 }
 /**
  * execute command
  */
 function &executeCommand()
 {
     global $lng, $ilAccess, $ilTabs, $ilErr;
     $cmd = $this->ctrl->getCmd();
     $next_class = $this->ctrl->getNextClass($this);
     switch ($next_class) {
         case 'ilmdeditorgui':
             $this->checkPermission("write");
             $this->getTemplate();
             $this->setTabs();
             $this->setLocator();
             $this->addHeaderAction();
             include_once 'Services/MetaData/classes/class.ilMDEditorGUI.php';
             $md_gui =& new ilMDEditorGUI($this->object->getId(), 0, $this->object->getType());
             $md_gui->addObserver($this->object, 'MDUpdateListener', 'General');
             $this->ctrl->forwardCommand($md_gui);
             break;
         case "ilglossarytermgui":
             $this->getTemplate();
             //				$this->quickList();
             $this->ctrl->setReturn($this, "listTerms");
             $term_gui =& new ilGlossaryTermGUI($this->term_id);
             $term_gui->setGlossary($this->object);
             //$ret =& $term_gui->executeCommand();
             $ret =& $this->ctrl->forwardCommand($term_gui);
             break;
         case "ilinfoscreengui":
             $this->addHeaderAction();
             $this->showInfoScreen();
             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 'ilpermissiongui':
             if (strtolower($_GET["baseClass"]) == "iladministrationgui") {
                 $this->prepareOutput();
             } else {
                 $this->getTemplate();
                 $this->setTabs();
                 $this->setLocator();
                 $this->addHeaderAction();
             }
             include_once "Services/AccessControl/classes/class.ilPermissionGUI.php";
             $perm_gui =& new ilPermissionGUI($this);
             $ret =& $this->ctrl->forwardCommand($perm_gui);
             break;
         case "ilcommonactiondispatchergui":
             include_once "Services/Object/classes/class.ilCommonActionDispatcherGUI.php";
             $gui = ilCommonActionDispatcherGUI::getInstanceFromAjaxCall();
             $this->ctrl->forwardCommand($gui);
             break;
         case "ilobjtaxonomygui":
             $this->getTemplate();
             $this->setTabs();
             $this->setLocator();
             $this->addHeaderAction();
             $ilTabs->activateTab("settings");
             $this->setSettingsSubTabs("taxonomy");
             include_once "./Services/Taxonomy/classes/class.ilObjTaxonomyGUI.php";
             $this->ctrl->setReturn($this, "properties");
             $tax_gui = new ilObjTaxonomyGUI();
             $tax_gui->setMultiple(false);
             /*include_once("./Modules/Glossary/classes/class.ilTermTaxInfo.php");
             		$term_info = new ilTermTaxInfo();*/
             //$tax_gui->activateAssignedItemSorting($term_info, "glo", "term");
             $tax_gui->setAssignedObject($this->object->getId());
             $ret = $this->ctrl->forwardCommand($tax_gui);
             break;
         case "ilexportgui":
             $this->getTemplate();
             $this->setTabs();
             $ilTabs->activateTab("export");
             $this->setLocator();
             include_once "./Services/Export/classes/class.ilExportGUI.php";
             $exp_gui = new ilExportGUI($this);
             //$exp_gui->addFormat("xml", "", $this, "export");
             $exp_gui->addFormat("xml");
             $exp_gui->addFormat("html", "", $this, "exportHTML");
             $exp_gui->addCustomColumn($lng->txt("cont_public_access"), $this, "getPublicAccessColValue");
             $exp_gui->addCustomMultiCommand($lng->txt("cont_public_access"), $this, "publishExportFile");
             $ret = $this->ctrl->forwardCommand($exp_gui);
             break;
         case 'ilobjectcopygui':
             $this->prepareOutput();
             include_once './Services/Object/classes/class.ilObjectCopyGUI.php';
             $cp = new ilObjectCopyGUI($this);
             $cp->setType('glo');
             $this->ctrl->forwardCommand($cp);
             break;
         default:
             $cmd = $this->ctrl->getCmd("listTerms");
             if ($cmd == "create" && $_POST["new_type"] == "term") {
                 $this->ctrl->setCmd("create");
                 $this->ctrl->setCmdClass("ilGlossaryTermGUI");
                 $ret =& $this->executeCommand();
                 return;
             } else {
                 if (!in_array($cmd, array("frameset", "quickList"))) {
                     if (strtolower($_GET["baseClass"]) == "iladministrationgui" || $this->getCreationMode() == true) {
                         $this->prepareOutput();
                         $cmd .= "Object";
                     } else {
                         $this->getTemplate();
                         $this->setTabs();
                         $this->setLocator();
                         $this->addHeaderAction();
                         if ($cmd == "redrawHeaderAction") {
                             $cmd = "redrawHeaderActionObject";
                         }
                     }
                 }
                 $ret =& $this->{$cmd}();
             }
             break;
     }
     if (!in_array($cmd, array("frameset", "quickList"))) {
         if (strtolower($_GET["baseClass"]) != "iladministrationgui") {
             if (!$this->getCreationMode()) {
                 $this->tpl->show();
             }
         }
     } else {
         $this->tpl->show(false);
     }
 }
 /**
  * Show taxonomy
  *
  * @param
  * @return
  */
 function showTaxonomy()
 {
     global $tpl, $lng;
     if (!$this->offlineMode() && $this->glossary->getShowTaxonomy()) {
         include_once "./Services/Taxonomy/classes/class.ilObjTaxonomy.php";
         $tax_ids = ilObjTaxonomy::getUsageOfObject($this->glossary->getId());
         if (count($tax_ids) > 0) {
             include_once "./Services/Taxonomy/classes/class.ilObjTaxonomyGUI.php";
             $tpl->setLeftNavContent(ilObjTaxonomyGUI::getTreeHTML($tax_ids[0], "ilglossarypresentationgui", "listTerms", $lng->txt("cont_all_topics")));
         }
     }
 }
 function &executeCommand()
 {
     global $rbacsystem, $ilNavigationHistory, $ilAccess, $ilCtrl, $ilTabs;
     $next_class = $this->ctrl->getNextClass($this);
     $cmd = $this->ctrl->getCmd();
     // show repository tree
     $this->showRepTree(true);
     switch ($next_class) {
         case "ilobjusergui":
             include_once './Services/User/classes/class.ilObjUserGUI.php';
             $this->tabs_gui->setTabActive('administrate_users');
             if (!$_GET['obj_id']) {
                 $this->gui_obj = new ilObjUserGUI("", $_GET['ref_id'], true, false);
                 $this->gui_obj->setCreationMode($this->creation_mode);
                 $ret =& $this->ctrl->forwardCommand($this->gui_obj);
             } else {
                 $this->gui_obj = new ilObjUserGUI("", $_GET['obj_id'], false, false);
                 $this->gui_obj->setCreationMode($this->creation_mode);
                 $ret =& $this->ctrl->forwardCommand($this->gui_obj);
             }
             $ilTabs->clearTargets();
             $ilTabs->setBackTarget($this->lng->txt('backto_lua'), $this->ctrl->getLinkTarget($this, 'listUsers'));
             global $ilHelp;
             $ilHelp->setScreenIdComponent("cat");
             $ilHelp->setScreenId("administrate_user");
             $ilHelp->setSubScreenId($ilCtrl->getCmd());
             break;
         case "ilobjuserfoldergui":
             include_once './Services/User/classes/class.ilObjUserFolderGUI.php';
             $this->gui_obj = new ilObjUserFolderGUI("", (int) $_GET['ref_id'], true, false);
             $this->gui_obj->setUserOwnerId((int) $_GET['ref_id']);
             $this->gui_obj->setCreationMode($this->creation_mode);
             $ret =& $this->ctrl->forwardCommand($this->gui_obj);
             $ilTabs->clearTargets();
             $ilTabs->setBackTarget($this->lng->txt('backto_lua'), $this->ctrl->getLinkTarget($this, 'listUsers'));
             global $ilHelp;
             $ilHelp->setScreenIdComponent("cat");
             $ilHelp->setScreenId("administrate_user");
             $ilHelp->setSubScreenId($ilCtrl->getCmd());
             break;
         case "ilcolumngui":
             $this->checkPermission("read");
             $this->prepareOutput();
             include_once "./Services/Style/classes/class.ilObjStyleSheet.php";
             $this->tpl->setVariable("LOCATION_CONTENT_STYLESHEET", ilObjStyleSheet::getContentStylePath($this->object->getStyleSheetId()));
             $this->renderObject();
             break;
         case 'ilpermissiongui':
             $this->prepareOutput();
             $this->tabs_gui->setTabActive('perm_settings');
             include_once "Services/AccessControl/classes/class.ilPermissionGUI.php";
             $perm_gui =& new ilPermissionGUI($this);
             $ret =& $this->ctrl->forwardCommand($perm_gui);
             break;
         case 'ilinfoscreengui':
             if ($this->info_screen_enabled) {
                 $this->prepareOutput();
                 $this->infoScreen();
             }
             break;
         case 'ilcontainerlinklistgui':
             include_once "Services/Container/classes/class.ilContainerLinkListGUI.php";
             $link_list_gui =& new ilContainerLinkListGUI();
             $ret =& $this->ctrl->forwardCommand($link_list_gui);
             break;
             // container page editing
         // container page editing
         case "ilcontainerpagegui":
             $this->prepareOutput(false);
             $ret = $this->forwardToPageObject();
             if ($ret != "") {
                 $this->tpl->setContent($ret);
             }
             break;
         case 'ilobjectcopygui':
             $this->prepareOutput();
             include_once './Services/Object/classes/class.ilObjectCopyGUI.php';
             $cp = new ilObjectCopyGUI($this);
             $cp->setType('cat');
             $this->ctrl->forwardCommand($cp);
             break;
         case "ilobjstylesheetgui":
             $this->forwardToStyleSheet();
             break;
         case 'ilusertablegui':
             include_once './Services/User/classes/class.ilUserTableGUI.php';
             $u_table = new ilUserTableGUI($this, "listUsers");
             $u_table->initFilter();
             $this->ctrl->setReturn($this, 'listUsers');
             $this->ctrl->forwardCommand($u_table);
             break;
         case "ilcommonactiondispatchergui":
             $this->prepareOutput();
             include_once "Services/Object/classes/class.ilCommonActionDispatcherGUI.php";
             $gui = ilCommonActionDispatcherGUI::getInstanceFromAjaxCall();
             $this->ctrl->forwardCommand($gui);
             break;
         case 'ildidactictemplategui':
             $this->ctrl->setReturn($this, 'edit');
             include_once './Services/DidacticTemplate/classes/class.ilDidacticTemplateGUI.php';
             $did = new ilDidacticTemplateGUI($this);
             $this->ctrl->forwardCommand($did);
             break;
         case 'ilexportgui':
             $this->prepareOutput();
             $this->tabs_gui->setTabActive('export');
             include_once './Services/Export/classes/class.ilExportGUI.php';
             $exp = new ilExportGUI($this);
             $exp->addFormat('xml');
             $this->ctrl->forwardCommand($exp);
             break;
         case 'ilobjecttranslationgui':
             $this->checkPermissionBool("write");
             $this->prepareOutput();
             //$this->tabs_gui->setTabActive('export');
             $this->setEditTabs("settings_trans");
             include_once "./Services/Object/classes/class.ilObjectTranslationGUI.php";
             $transgui = new ilObjectTranslationGUI($this);
             $this->ctrl->forwardCommand($transgui);
             break;
         case 'ilobjtaxonomygui':
             $this->checkPermissionBool("write");
             $this->prepareOutput();
             $this->initTaxSubTabs();
             include_once "./Services/Taxonomy/classes/class.ilObjTaxonomyGUI.php";
             $tax = new ilObjTaxonomyGUI();
             $tax->setAssignedObject($this->object->getId());
             $tax->setMultiple(true);
             $tax->setListInfo($this->lng->txt("cntr_tax_list_info"));
             $this->ctrl->forwardCommand($tax);
             break;
         default:
             if ($cmd == "infoScreen") {
                 $this->checkPermission("visible");
             } else {
                 $this->checkPermission("read");
             }
             // add entry to navigation history
             if (!$this->getCreationMode() && $ilAccess->checkAccess("read", "", $_GET["ref_id"])) {
                 $ilNavigationHistory->addItem($_GET["ref_id"], $ilCtrl->getLinkTargetByClass("ilrepositorygui", "frameset"), "cat");
             }
             $this->prepareOutput();
             include_once "./Services/Style/classes/class.ilObjStyleSheet.php";
             if (is_object($this->object)) {
                 $this->tpl->setVariable("LOCATION_CONTENT_STYLESHEET", ilObjStyleSheet::getContentStylePath($this->object->getStyleSheetId()));
             }
             if (!$cmd) {
                 $cmd = "render";
             }
             $cmd .= "Object";
             $this->{$cmd}();
             break;
     }
     $this->addHeaderAction();
     return true;
 }