public function executeCommand()
 {
     if ($this->isAccessDenied()) {
         $this->ilias->raiseError($this->lng->txt("permission_denied"), $this->ilias->error_obj->MESSAGE);
     }
     $nextClass = $this->ctrl->getNextClass();
     $this->manageTabs($nextClass);
     switch ($nextClass) {
         case 'ilassquestionskillassignmentsgui':
             $questionContainerId = $this->getQuestionContainerId();
             require_once 'Modules/TestQuestionPool/classes/class.ilAssQuestionList.php';
             $questionList = new ilAssQuestionList($this->db, $this->lng, $this->pluginAdmin);
             $questionList->setParentObjId($questionContainerId);
             $questionList->setQuestionInstanceTypeFilter($this->getRequiredQuestionInstanceTypeFilter());
             $questionList->load();
             $gui = new ilAssQuestionSkillAssignmentsGUI($this->ctrl, $this->access, $this->tpl, $this->lng, $this->db);
             $gui->setAssignmentEditingEnabled($this->isAssignmentEditingRequired());
             $gui->setQuestionContainerId($questionContainerId);
             $gui->setQuestionList($questionList);
             if ($this->testOBJ->isFixedTest()) {
                 $gui->setQuestionOrderSequence($this->testOBJ->getQuestions());
             } else {
                 $gui->setAssignmentConfigurationHintMessage($this->buildAssignmentConfigurationInPoolHintMessage());
             }
             $this->ctrl->forwardCommand($gui);
             break;
         case 'iltestskilllevelthresholdsgui':
             $gui = new ilTestSkillLevelThresholdsGUI($this->ctrl, $this->tpl, $this->lng, $this->db, $this->testOBJ->getTestId());
             $gui->setQuestionAssignmentColumnsEnabled(!$this->testOBJ->isRandomTest());
             $gui->setQuestionContainerId($this->getQuestionContainerId());
             $this->ctrl->forwardCommand($gui);
             break;
     }
 }
 /**
  * execute command
  */
 public function executeCommand()
 {
     $cmd = $this->ctrl->getCmd();
     $next_class = $this->ctrl->getNextClass($this);
     switch ($next_class) {
         default:
             return $this->dispatchCommand($cmd);
     }
 }
 /**
  * @return bool
  * @throws Exception
  * @throws ilCtrlException
  * @throws ilException
  */
 public function executeCommand()
 {
     $next_class = $this->ctrl->getNextClass($this);
     $cmd = $this->ctrl->getCmd();
     switch ($next_class) {
         case 'ilrepositorysearchgui':
             switch ($cmd) {
                 case 'addUserFromAutoComplete':
                     if ($_GET['addusertype'] == "staff") {
                         $this->addStaff();
                     } elseif ($_GET['addusertype'] == "other") {
                         $this->addOtherRoles();
                     }
                     break;
                 default:
                     $repo = new ilRepositorySearchGUI();
                     $this->ctrl->forwardCommand($repo);
                     break;
             }
             break;
         default:
             switch ($cmd) {
                 case 'showStaff':
                     $this->tabs_gui->activateSubTab("show_staff");
                     $this->showStaff();
                     break;
                 case 'showOtherRoles':
                     $this->tabs_gui->activateSubTab("show_other_roles");
                     $this->showOtherRoles();
                     break;
                 case 'showStaffRec':
                     $this->tabs_gui->activateSubTab("show_staff_rec");
                     $this->showStaffRec();
                     break;
                 case 'confirmRemoveFromRole':
                 case 'confirmRemoveFromEmployees':
                 case 'confirmRemoveFromSuperiors':
                     $this->confirmRemoveUser($cmd);
                     break;
                 case 'addStaff':
                 case 'addOtherRoles':
                 case 'fromSuperiorToEmployee':
                 case 'fromEmployeeToSuperior':
                 case 'removeFromSuperiors':
                 case 'removeFromEmployees':
                 case 'removeFromRole':
                     $this->{$cmd}();
                     break;
                 default:
                     throw new ilException("Unknown command for command class ilOrgUnitStaffGUI: " . $cmd);
                     break;
             }
             break;
     }
     return true;
 }
 /**
  * execute command
  */
 function &executeCommand()
 {
     $cmd = $this->ctrl->getCmd();
     $next_class = $this->ctrl->getNextClass($this);
     $cmd = $this->getCommand($cmd);
     switch ($next_class) {
         default:
             $ret =& $this->{$cmd}();
             break;
     }
     return $ret;
 }
 public function executeCommand()
 {
     switch ($this->myCtrl->getNextClass()) {
         case strtolower(__CLASS__):
         case '':
             $command = $this->myCtrl->getCmd(self::CMD_SHOW) . 'Cmd';
             $this->{$command}();
             break;
         default:
             throw new ilTestQuestionPoolException('unsupported next class');
     }
 }
 /**
  * execute command
  */
 public function executeCommand()
 {
     $setting = new ilSetting('assessment');
     if (!(bool) $setting->get('assessment_adjustments_enabled', false)) {
         $this->ctrl->redirectByClass('ilObjTestGUI');
     }
     $cmd = $this->ctrl->getCmd();
     $next_class = $this->ctrl->getNextClass($this);
     switch ($next_class) {
         default:
             return $this->dispatchCommand($cmd);
     }
 }
 public function executeCommand()
 {
     $this->ctrl->saveParameter($this, 'nextCommand');
     $nextCommand = explode('::', $_GET['nextCommand']);
     $this->setNextCommandClass($nextCommand[0]);
     $this->setNextCommandCmd($nextCommand[1]);
     $this->ctrl->saveParameter($this->parentGUI, 'lock');
     switch ($this->ctrl->getNextClass()) {
         default:
             $cmd = $this->ctrl->getCmd() . 'Cmd';
             $this->{$cmd}();
     }
 }
 public function executeCommand()
 {
     $forward_class = $this->ctrl->getNextClass($this);
     switch ($forward_class) {
         default:
             if (!($cmd = $this->ctrl->getCmd())) {
                 $cmd = 'showAttachments';
             }
             $this->{$cmd}();
             break;
     }
     return true;
 }
 public function executeCommand()
 {
     $cmd = $this->ctrl->getCmd();
     $next_class = $this->ctrl->getNextClass($this);
     switch ($next_class) {
         case '':
             switch ($cmd) {
                 case '':
                 case 'listTypes':
                     $this->listTypes();
                     break;
                 case 'add':
                     $this->add();
                     break;
                 case 'edit':
                     $this->setSubTabsEdit('general');
                     $this->edit();
                     break;
                 case 'editCustomIcons':
                     $this->setSubTabsEdit('custom_icons');
                     $this->editCustomIcons();
                     break;
                 case 'editAMD':
                     $this->setSubTabsEdit('amd');
                     $this->editAMD();
                     break;
                 case 'updateAMD':
                     $this->setSubTabsEdit('amd');
                     $this->updateAMD();
                     break;
                 case 'updateCustomIcons':
                     $this->setSubTabsEdit('custom_icons');
                     $this->updateCustomIcons();
                     break;
                 case 'create':
                     $this->create();
                     break;
                 case 'update':
                     $this->setSubTabsEdit('general');
                     $this->update();
                     break;
                 case 'delete':
                     $this->delete();
                     break;
             }
             break;
     }
 }
 /**
  * @return mixed
  */
 public function executeCommand()
 {
     // check hack attempts
     if (!$this->settings->get('password_assistance')) {
         if (empty($_SESSION['AccountId']) && $_SESSION['AccountId'] !== false) {
             $this->ilias->error_obj->raiseError($this->lng->txt('permission_denied'), $this->ilias->error_obj->WARNING);
         }
     }
     // check correct setup
     if (!$this->settings->get('setup_ok')) {
         die('Setup is not completed. Please run setup routine again.');
     }
     // Change the language, if necessary.
     // And load the 'pwassist' language module
     $lang = $_GET['lang'];
     if ($lang != null && $lang != '' && $this->lng->getLangKey() != $lang) {
         $lng = new ilLanguage($lang);
     }
     $this->lng->loadLanguageModule('pwassist');
     $cmd = $this->ctrl->getCmd();
     $next_class = $this->ctrl->getNextClass($this);
     switch ($next_class) {
         default:
             if ($cmd != '') {
                 return $this->{$cmd}();
             } else {
                 if (!empty($_GET['key'])) {
                     $this->showAssignPasswordForm();
                 } else {
                     $this->showAssistanceForm();
                 }
             }
             break;
     }
 }
 /**
  * @param $active_tab_id
  */
 protected function setSubTabsSettings($active_tab_id)
 {
     $next_class = $this->ctrl->getNextClass($this);
     $cmd = $this->ctrl->getCmd();
     $this->tabs_gui->addSubTab('edit_settings', $this->lng->txt('settings'), $this->ctrl->getLinkTarget($this, 'editSettings'));
     $this->tabs_gui->addSubTab("edit_translations", $this->lng->txt("obj_multilinguality"), $this->ctrl->getLinkTargetByClass("iltranslationgui", "editTranslations"));
     $ilOrgUnitType = $this->object->getOrgUnitType();
     if ($ilOrgUnitType instanceof ilOrgUnitType) {
         if (count($ilOrgUnitType->getAssignedAdvancedMDRecords(true))) {
             $this->tabs_gui->addSubTab('edit_advanced_settings', $this->lng->txt('orgu_adv_settings'), $this->ctrl->getLinkTarget($this, 'editAdvancedSettings'));
         }
     }
     $this->tabs_gui->setSubTabActive($active_tab_id);
     switch ($next_class) {
         case 'iltranslationgui':
             $this->tabs_gui->setSubTabActive("edit_translations");
             break;
         case '':
             switch ($cmd) {
                 case 'editSettings':
                     $this->tabs_gui->setSubTabActive('edit_settings');
                     break;
                 case 'editAdvancedSettings':
                 case 'updateAdvancedSettings':
                     $this->tabs_gui->setSubTabActive('edit_advanced_settings');
                     break;
             }
             break;
     }
     return;
 }
 public function executeCommand()
 {
     if ($this->isAccessDenied()) {
         $this->ilias->raiseError($this->lng->txt("permission_denied"), $this->ilias->error_obj->MESSAGE);
     }
     $nextClass = $this->ctrl->getNextClass();
     $this->manageTabs($nextClass);
     switch ($nextClass) {
         case 'ilassquestionskillassignmentsgui':
             require_once 'Modules/TestQuestionPool/classes/class.ilAssQuestionList.php';
             $questionList = new ilAssQuestionList($this->db, $this->lng, $this->pluginAdmin);
             $questionList->setParentObjId($this->poolOBJ->getId());
             $questionList->setQuestionInstanceTypeFilter(ilAssQuestionList::QUESTION_INSTANCE_TYPE_ORIGINALS);
             $questionList->load();
             $gui = new ilAssQuestionSkillAssignmentsGUI($this->ctrl, $this->access, $this->tpl, $this->lng, $this->db);
             $gui->setAssignmentEditingEnabled(true);
             $gui->setQuestionContainerId($this->poolOBJ->getId());
             $gui->setQuestionList($questionList);
             $this->ctrl->forwardCommand($gui);
             break;
         case 'ilassquestionskillusagestablegui':
             $gui = new ilAssQuestionSkillUsagesTableGUI($this->ctrl, $this->tpl, $this->lng, $this->db, $this->poolOBJ->getId());
             $this->ctrl->forwardCommand($gui);
             break;
     }
 }
 /**
  * execute command
  */
 public function &executeCommand()
 {
     global $ilCtrl;
     // determine next class in the call structure
     $next_class = $this->ilCtrl->getNextClass($this);
     switch ($next_class) {
         case 'ilrepositorysearchgui':
             include_once './Services/Search/classes/class.ilRepositorySearchGUI.php';
             $rep_search =& new ilRepositorySearchGUI();
             $this->ilCtrl->setReturn($this, 'perminfo');
             $this->ilCtrl->forwardCommand($rep_search);
             break;
         default:
             $cmd = $this->ilCtrl->getCmd();
             $this->{$cmd}();
             break;
     }
 }
 public function executeCommand()
 {
     if ($this->isAccessDenied()) {
         $this->ilias->raiseError($this->lng->txt("permission_denied"), $this->ilias->error_obj->MESSAGE);
     }
     $nextClass = $this->ctrl->getNextClass();
     $this->manageTabs($nextClass);
     switch ($nextClass) {
         case 'iltestskillquestionassignmentsgui':
             $gui = new ilTestSkillQuestionAssignmentsGUI($this->ctrl, $this->tpl, $this->lng, $this->db, $this->testOBJ);
             $this->ctrl->forwardCommand($gui);
             break;
         case 'iltestskilllevelthresholdsgui':
             $gui = new ilTestSkillLevelThresholdsGUI($this->ctrl, $this->tpl, $this->lng, $this->db, $this->testOBJ);
             $this->ctrl->forwardCommand($gui);
             break;
     }
 }
 /**
  *
  */
 public function executeCommand()
 {
     $next_class = $this->ctrl->getNextClass($this);
     $cmd = $this->ctrl->getCmd();
     $this->prepareOutput();
     switch ($next_class) {
         case 'ilpermissiongui':
             $this->tabs_gui->setTabActive('perm_settings');
             require_once 'Services/AccessControl/classes/class.ilPermissionGUI.php';
             $perm_gui = new ilPermissionGUI($this);
             $this->ctrl->forwardCommand($perm_gui);
             break;
         default:
             if ($cmd == '' || $cmd == 'view') {
                 $cmd = 'settings';
             }
             $this->{$cmd}();
             break;
     }
 }
 public function executeCommand()
 {
     $this->checkPermission();
     $this->initHeader();
     $this->setSubTabs();
     $cmd = $this->ctrl->getCmd();
     $next_class = $this->ctrl->getNextClass($this);
     // needed for ILIAS >= 4.5
     if (ilCertificatePlugin::getBaseClass() != 'ilRouterGUI') {
         $this->tpl->getStandardTemplate();
     }
     switch ($next_class) {
         case '':
             switch ($cmd) {
                 case 'showDefinition':
                 case 'showPlaceholders':
                 case 'showCertificates':
                 case 'downloadCertificate':
                 case 'downloadCertificates':
                 case 'updateDefinition':
                 case 'confirmTypeChange':
                 case 'updateType':
                 case 'createDefinition':
                 case 'updatePlaceholders':
                 case 'previewCertificate':
                 case 'buildActions':
                     $this->{$cmd}();
                     break;
                 case 'updatePlaceholdersPreview':
                     $this->updatePlaceholders('previewCertificate');
                     break;
                 case 'callBack':
                 case 'undoCallBack':
                 case 'retryGeneration':
                     /** @var srCertificate $certificate */
                     $certificate = srCertificate::find((int) $_GET['cert_id']);
                     if ($certificate->getDefinitionId() == $this->definition->getId()) {
                         $this->{$cmd}($certificate);
                     }
                     break;
                 case '':
                     if ($this->definition) {
                         $this->showCertificates();
                     } else {
                         $this->showDefinition();
                     }
             }
             break;
     }
     // needed for ILIAS >= 4.5
     if (ilCertificatePlugin::getBaseClass() != 'ilRouterGUI') {
         $this->tpl->show();
     }
 }
 /**
  * execute command
  */
 public function executeCommand()
 {
     global $ilLocator, $lng;
     $next_class = $this->ctrl->getNextClass($this);
     $viewdef = $this->getPageObject();
     if ($viewdef) {
         $this->ctrl->setParameter($this, "dclv", $viewdef->getId());
         $title = $lng->txt("dcl_view_viewdefinition");
     }
     switch ($next_class) {
         case "ilpageobjectgui":
             throw new ilCOPageException("Deprecated. ilDataCollectionRecordViewViewdefinitionGUI gui forwarding to ilpageobject");
         default:
             if ($viewdef) {
                 $this->setPresentationTitle($title);
                 $ilLocator->addItem($title, $this->ctrl->getLinkTarget($this, "preview"));
             }
             return parent::executeCommand();
     }
 }
 /**
  *
  */
 public function executeCommand()
 {
     $next_class = $this->ctrl->getNextClass($this);
     $cmd = $this->ctrl->getCmd();
     switch ($next_class) {
         case 'ilrepositorysearchgui':
             include_once 'Services/Search/classes/class.ilRepositorySearchGUI.php';
             $rep_search = new ilRepositorySearchGUI();
             $rep_search->setCallback($this, 'addModerator');
             $this->ctrl->setReturn($this, 'showModerators');
             $this->ctrl->forwardCommand($rep_search);
             break;
         default:
             if (!$cmd) {
                 $cmd = 'showModerators';
             }
             $this->{$cmd}();
             break;
     }
 }
 /**
  *
  */
 public function executeCommand()
 {
     $this->ctrl->saveParameter($this, 'category_id');
     $cmd = $this->ctrl->getCmd($this->getDefaultCommand());
     $nextClass = $this->ctrl->getNextClass($this);
     switch ($nextClass) {
         default:
             $this->checkPermissions($cmd);
             $this->{$cmd}();
             break;
     }
     $this->handleSubtabs();
 }
 /**
  * Execute Command
  *
  * @return void
  */
 public function executeCommand()
 {
     global $ilAccess, $ilErr, $ilCtrl;
     $next_class = $this->ctrl->getNextClass($this);
     $cmd = $this->ctrl->getCmd();
     if (!$ilAccess->checkAccess('read', '', $this->ref_id)) {
         $ilErr->raiseError($this->lng->txt('msg_no_perm_read'), $ilErr->WARNING);
     }
     if (!$ilAccess->checkAccess('write', '', $this->ref_id) && $cmd != "settings") {
         ilUtil::sendFailure($this->lng->txt('msg_no_perm_write'), true);
         $ilCtrl->redirect($this, "settings");
     }
     $this->setSubTabs();
     switch ($next_class) {
         default:
             if (!$cmd) {
                 $cmd = "settings";
             }
             $this->{$cmd}();
             break;
     }
     return true;
 }
 private function setSubTabsSettings()
 {
     $next_class = $this->ctrl->getNextClass($this);
     $this->tabs_gui->addSubTab("edit_translations", $this->lng->txt("edit_translations"), $this->ctrl->getLinkTargetByClass("iltranslationgui", "editTranslations"));
     $this->tabs_gui->addSubTab("edit_ext_id", $this->lng->txt("edit_ext_id"), $this->ctrl->getLinkTargetByClass("ilextidgui", "edit"));
     switch ($next_class) {
         case 'iltranslationgui':
             $this->tabs_gui->setSubTabActive("edit_translations");
             break;
         case 'ilextidgui':
             $this->tabs_gui->setSubTabActive("edit_ext_id");
             break;
     }
     return;
 }
 /**
  * Command Execution
  */
 public function executeCommand()
 {
     // allow only write access
     if (!$this->access->checkAccess("write", "", $this->testGUI->ref_id)) {
         ilUtil::sendInfo($this->lng->txt("cannot_edit_test"), true);
         $this->ctrl->redirect($this->testGUI, "infoScreen");
     }
     // process command
     $nextClass = $this->ctrl->getNextClass();
     switch ($nextClass) {
         default:
             $cmd = $this->ctrl->getCmd(self::CMD_SHOW_FORM) . 'Cmd';
             $this->{$cmd}();
     }
 }
 /**
  * Command Execution
  */
 public function executeCommand()
 {
     // allow only write access
     if (!$this->access->checkAccess('write', '', $this->poolGUI->ref_id)) {
         ilUtil::sendInfo($this->lng->txt('cannot_edit_question_pool'), true);
         $this->ctrl->redirectByClass('ilObjQuestionPoolGUI', 'infoScreen');
     }
     // activate corresponding tab (auto activation does not work in ilObjTestGUI-Tabs-Salad)
     $this->tabs->activateTab('settings');
     // process command
     $nextClass = $this->ctrl->getNextClass();
     switch ($nextClass) {
         default:
             $cmd = $this->ctrl->getCmd(self::CMD_SHOW_FORM) . 'Cmd';
             $this->{$cmd}();
     }
 }
 /**
  * Command Execution
  */
 public function executeCommand()
 {
     // allow only write access
     if (!$this->access->checkAccess("write", "", $this->testOBJ->getRefId())) {
         ilUtil::sendInfo($this->lng->txt("cannot_edit_test"), true);
         $this->ctrl->redirectByClass('ilObjTestGUI', "infoScreen");
     }
     // activate corresponding tab (auto activation does not work in ilObjTestGUI-Tabs-Salad)
     $this->tabs->activateTab('assQuestions');
     // process command
     $nextClass = $this->ctrl->getNextClass();
     switch ($nextClass) {
         default:
             $cmd = $this->ctrl->getCmd(self::CMD_SHOW_FORM) . 'Cmd';
             $this->{$cmd}();
     }
 }
 public function executeCommand()
 {
     $nextClass = $this->ctrl->getNextClass();
     $command = $this->ctrl->getCmd(self::CMD_SHOW_SKILL_QUEST_ASSIGNS);
     if ($this->isAvoidManipulationRedirectRequired($command)) {
         $this->ctrl->redirect($this, self::CMD_SHOW_SKILL_QUEST_ASSIGNS);
     }
     switch ($nextClass) {
         case strtolower(__CLASS__):
         case '':
             $command .= 'Cmd';
             $this->{$command}();
             break;
         default:
             throw new ilTestQuestionPoolException('unsupported next class in ctrl flow');
     }
 }
 /**
  * Execute Command
  * 
  * @access public
  */
 public function executeCommand()
 {
     $cmd = $this->ctrl->getCmd(self::CMD_SHOW);
     $nextClass = $this->ctrl->getNextClass($this);
     $this->ctrl->setParameter($this, 'q_id', (int) $_GET['q_id']);
     switch ($nextClass) {
         case 'ilassspecfeedbackpagegui':
         case 'ilassgenfeedbackpagegui':
             require_once 'Modules/TestQuestionPool/classes/class.ilAssQuestionFeedbackPageObjectCommandForwarder.php';
             $forwarder = new ilAssQuestionFeedbackPageObjectCommandForwarder($this->questionOBJ, $this->ctrl, $this->tabs, $this->lng);
             $forwarder->forward();
             break;
         default:
             $cmd .= 'Cmd';
             $this->{$cmd}();
             break;
     }
 }
 public function executeCommand()
 {
     if (!$this->access->checkAccess("write", "", $this->testOBJ->getRefId())) {
         ilUtil::sendFailure($this->lng->txt("cannot_edit_test"), true);
         $this->ctrl->redirectByClass('ilObjTestGUI', "infoScreen");
     }
     if ($this->isAvoidManipulationRedirectRequired()) {
         ilUtil::sendFailure($this->lng->txt("tst_msg_cannot_modify_random_question_set_conf_due_to_part"), true);
         $this->ctrl->redirect($this);
     }
     $this->handleTabs();
     $nextClass = $this->ctrl->getNextClass();
     switch ($nextClass) {
         case 'ilTestRandomQuestionSetPoolDefinitionFormGUI':
             $formGUI = new ilTestRandomQuestionSetPoolDefinitionFormGUI($this->ctrl, $this->lng, $this->testOBJ, $this, $this->questionSetConfig);
             $this->ctrl->forwardCommand($formGUI);
             break;
         default:
             $cmd = $this->ctrl->getCmd(self::CMD_SHOW_GENERAL_CONFIG_FORM) . 'Cmd';
             $this->{$cmd}();
     }
 }
 public function executeCommand()
 {
     $this->tabs->setTabActive(self::TAB_ID_QUESTION_PREVIEW);
     $this->lng->loadLanguageModule('content');
     $nextClass = $this->ctrl->getNextClass($this);
     switch ($nextClass) {
         case 'ilassquestionhintrequestgui':
             require_once 'Modules/TestQuestionPool/classes/class.ilAssQuestionHintRequestGUI.php';
             $gui = new ilAssQuestionHintRequestGUI($this, self::CMD_SHOW, $this->questionGUI, $this->hintTracking);
             $this->ctrl->forwardCommand($gui);
             break;
         case 'ilassspecfeedbackpagegui':
         case 'ilassgenfeedbackpagegui':
             require_once 'Modules/TestQuestionPool/classes/class.ilAssQuestionFeedbackPageObjectCommandForwarder.php';
             $forwarder = new ilAssQuestionFeedbackPageObjectCommandForwarder($this->questionOBJ, $this->ctrl, $this->tabs, $this->lng);
             $forwarder->forward();
             break;
         default:
             $cmd = $this->ctrl->getCmd(self::CMD_SHOW) . 'Cmd';
             $this->{$cmd}();
     }
 }
 public function executeCommand()
 {
     if (!$this->checkPermission()) {
         ilUtil::sendFailure($this->pl->txt('msg_no_permission'), true);
         $this->ctrl->redirectByClass('ilpersonaldesktopgui');
     }
     global $ilMainMenu;
     $ilMainMenu->setActive('none');
     $cmd = $this->ctrl->getCmd();
     $next_class = $this->ctrl->getNextClass($this);
     if (!in_array($cmd, array('addType', ''))) {
         $this->ctrl->saveParameter($this, 'type_id');
         $this->ctrl->saveParameter($this, 'signature_id');
     }
     // needed for ILIAS >= 4.5
     if (ilCertificatePlugin::getBaseClass() != 'ilRouterGUI') {
         $this->tpl->getStandardTemplate();
     }
     switch ($next_class) {
         case '':
             switch ($cmd) {
                 case 'showTypes':
                     $this->showTypes();
                     break;
                 case 'editType':
                     $this->editType();
                     $this->setTabs('general');
                     break;
                 case 'addType':
                     $this->addType();
                     $this->setTabs('general');
                     break;
                 case 'saveType':
                     $this->saveType();
                     $this->setTabs('general');
                     break;
                 case 'editTemplate':
                     $this->editTemplate();
                     $this->setTabs('template');
                     break;
                 case 'updateTemplate':
                     $this->updateTemplate();
                     $this->setTabs('template');
                     break;
                 case 'downloadDefaultTemplate':
                     $this->downloadDefaultTemplate();
                     $this->setTabs('template');
                     break;
                 case 'downloadTemplate':
                     $this->downloadTemplate();
                     $this->setTabs('template');
                     break;
                 case 'showSettings':
                     $this->showSettings();
                     $this->setTabs('settings');
                     break;
                 case 'editSetting':
                     $this->editSetting();
                     $this->setTabs('settings');
                     break;
                 case 'updateSetting':
                     $this->updateSetting();
                     $this->setTabs('settings');
                     break;
                 case 'addCustomSetting':
                     $this->addCustomSetting();
                     $this->setTabs('settings');
                     break;
                 case 'editCustomSetting':
                     $this->editCustomSetting();
                     $this->setTabs('settings');
                     break;
                 case 'confirmDeleteCustomSetting':
                     $this->confirmDeleteCustomSetting();
                     $this->setTabs('settings');
                     break;
                 case 'deleteCustomSetting':
                     $this->deleteCustomSetting();
                     break;
                 case 'saveCustomSetting':
                     $this->saveCustomSetting();
                     $this->setTabs('settings');
                     break;
                 case 'showPlaceholders':
                     $this->showPlaceholders();
                     $this->setTabs('placeholders');
                     break;
                 case 'addPlaceholder':
                     $this->addPlaceholder();
                     $this->setTabs('placeholders');
                     break;
                 case 'editPlaceholder':
                     $this->editPlaceholder();
                     $this->setTabs('placeholders');
                     break;
                 case 'updatePlaceholder':
                     $this->updatePlaceholder();
                     $this->setTabs('placeholders');
                     break;
                 case 'createPlaceholder':
                     $this->createPlaceholder();
                     $this->setTabs('placeholders');
                     break;
                 case 'deletePlaceholder':
                     $this->deletePlaceholder();
                     break;
                 case 'confirmDeletePlaceholder':
                     $this->confirmDeletePlaceholder();
                     $this->setTabs('placeholders');
                     break;
                 case 'showSignatures':
                     $this->showSignatures();
                     $this->setTabs('signatures');
                     break;
                 case 'addSignature':
                     $this->addSignature();
                     $this->setTabs('signatures');
                     break;
                 case 'editSignature':
                     $this->editSignature();
                     $this->setTabs('signatures');
                     break;
                 case 'createSignature':
                     $this->createSignature();
                     $this->setTabs('signatures');
                     break;
                 case 'updateSignature':
                     $this->updateSignature();
                     $this->setTabs('signatures');
                     break;
                 case 'confirmDeleteSignature':
                     $this->confirmDeleteSignature();
                     $this->setTabs('signatures');
                     break;
                 case 'deleteSignature':
                     $this->deleteSignature();
                     $this->setTabs('signatures');
                     break;
                 case 'downloadSignature':
                     $this->downloadSignature();
                     $this->setTabs('signatures');
                     break;
                 case '':
                     $this->showTypes();
                     break;
             }
             break;
     }
     // needed for ILIAS >= 4.5
     if (ilCertificatePlugin::getBaseClass() != 'ilRouterGUI') {
         $this->tpl->show();
     }
 }