public function manageTabs($activeSubTabId)
 {
     $link = $this->ctrl->getLinkTargetByClass('ilAssQuestionSkillAssignmentsGUI', ilAssQuestionSkillAssignmentsGUI::CMD_SHOW_SKILL_QUEST_ASSIGNS);
     $this->tabs->addSubTab('ilassquestionskillassignmentsgui', $this->lng->txt('qpl_skl_sub_tab_quest_assign'), $link);
     $link = $this->ctrl->getLinkTargetByClass('ilAssQuestionSkillUsagesTableGUI', ilAssQuestionSkillUsagesTableGUI::CMD_SHOW);
     $this->tabs->addSubTab('ilassquestionskillusagestablegui', $this->lng->txt('qpl_skl_sub_tab_usages'), $link);
     $this->tabs->activateTab('qpl_tab_competences');
     $this->tabs->activateSubTab($activeSubTabId);
 }
 public function manageTabs($activeSubTabId)
 {
     $link = $this->ctrl->getLinkTargetByClass('iltestskillquestionassignmentsgui', ilTestSkillQuestionAssignmentsGUI::CMD_SHOW_SKILL_QUEST_ASSIGNS);
     $this->tabs->addSubTab('iltestskillquestionassignmentsgui', $this->lng->txt('tst_skl_sub_tab_quest_assign'), $link);
     $link = $this->ctrl->getLinkTargetByClass('iltestskilllevelthresholdsgui', ilTestSkillLevelThresholdsGUI::CMD_SHOW_SKILL_THRESHOLDS);
     $this->tabs->addSubTab('iltestskilllevelthresholdsgui', $this->lng->txt('tst_skl_sub_tab_thresholds'), $link);
     $this->tabs->activateTab('tst_tab_competences');
     $this->tabs->activateSubTab($activeSubTabId);
 }
 /**
  * @return bool
  */
 public function executeCommand()
 {
     $cmd = $this->ctrl->getCmd();
     switch ($cmd) {
         case "assignRoles":
             $this->tabs_gui->clearTargets();
             $this->tabs_gui->setBackTarget($this->lng->txt("back"), $this->ctrl->getLinkTargetByClass("illocalusergui", 'index'));
         default:
             $this->{$cmd}();
             break;
     }
     return true;
 }
 /**
  * Get administration tabs
  * @param ilTabsGUI $tabs_gui
  */
 public function getAdminTabs(ilTabsGUI $tabs_gui)
 {
     /**
      * @var $rbacsystem ilRbacSystem
      */
     global $rbacsystem;
     if ($rbacsystem->checkAccess('read', $this->object->getRefId())) {
         $tabs_gui->addTarget('overview', $this->ctrl->getLinkTarget($this, 'overview'));
     }
     if ($rbacsystem->checkAccess('edit_permission', $this->object->getRefId())) {
         $tabs_gui->addTarget('perm_settings', $this->ctrl->getLinkTargetByClass(array(get_class($this), 'ilpermissiongui'), 'perm'), array('perm', 'info', 'owner'), 'ilpermissiongui');
     }
 }
 /**
  * @param ilTabsGUI $tabs_gui
  */
 public function getAdminTabs(ilTabsGUI $tabs_gui)
 {
     /**
      * @var $tree ilTree
      */
     global $tree;
     if (isset($_GET['admin_mode']) && $_GET['admin_mode'] == 'repository') {
         $this->ctrl->setParameterByClass('iladministrationgui', 'admin_mode', 'settings');
         $tabs_gui->setBackTarget($this->lng->txt('administration'), $this->ctrl->getLinkTargetByClass('iladministrationgui', 'frameset'), ilFrameTargetInfo::_getFrame('MainContent'));
         $this->ctrl->setParameterByClass('iladministrationgui', 'admin_mode', 'repository');
     }
     if ($tree->getSavedNodeData($this->object->getRefId())) {
         $tabs_gui->addTarget('trash', $this->ctrl->getLinkTarget($this, 'trash'), 'trash', get_class($this));
     }
 }
 /**
  * @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;
 }
 private function manageTabs($cmd)
 {
     $this->tabs->clearTargets();
     $this->tabs->setBackTarget($this->lng->txt('tst_results_back_introduction'), $this->ctrl->getLinkTargetByClass('ilObjTestGUI', 'infoScreen'));
     if ($this->getObjectiveOrientedContainer()->isObjectiveOrientedPresentationRequired()) {
         require_once 'Services/Link/classes/class.ilLink.php';
         $courseLink = ilLink::_getLink($this->getObjectiveOrientedContainer()->getRefId());
         $this->tabs->setBack2Target($this->lng->txt('back_to_objective_container'), $courseLink);
     }
 }
 public function setTabs()
 {
     $this->tabs_gui->addSubTab("show_staff", sprintf($this->lng->txt("local_staff"), $this->parent_object->getTitle()), $this->ctrl->getLinkTarget($this, "showStaff"));
     if ($this->ilAccess->checkAccess("view_learning_progress_rec", "", $this->parent_object->getRefId())) {
         $this->tabs_gui->addSubTab("show_staff_rec", sprintf($this->lng->txt("rec_staff"), $this->parent_object->getTitle()), $this->ctrl->getLinkTarget($this, "showStaffRec"));
     }
     if ($this->ilAccess->checkAccess("write", "", $this->parent_object->getRefId())) {
         $this->tabs_gui->addSubTab("show_other_roles", sprintf($this->lng->txt("local_other_roles"), $this->parent_object->getTitle()), $this->ctrl->getLinkTarget($this, "showOtherRoles"));
     }
 }
 /**
  * Add subtabs for editing type
  */
 protected function setSubTabsEdit($active_tab_id)
 {
     $this->tabs->addSubTab('general', $this->lng->txt('meta_general'), $this->ctrl->getLinkTarget($this, 'edit'));
     if ($this->ilias->getSetting('custom_icons')) {
         $this->tabs->addSubTab('custom_icons', $this->lng->txt('icon_settings'), $this->ctrl->getLinkTarget($this, 'editCustomIcons'));
     }
     if (count(ilOrgUnitType::getAvailableAdvancedMDRecordIds())) {
         $this->tabs->addSubTab('amd', $this->lng->txt('md_advanced'), $this->ctrl->getLinkTarget($this, 'editAMD'));
     }
     $this->tabs->setSubTabActive($active_tab_id);
 }
示例#10
0
 protected function handleTabs($activeTabId)
 {
     if ($this->getObjectiveOrientedContainer()->isObjectiveOrientedPresentationRequired()) {
         require_once 'Services/Link/classes/class.ilLink.php';
         $courseLink = ilLink::_getLink($this->getObjectiveOrientedContainer()->getRefId());
         $this->tabs->setBack2Target($this->lng->txt('back_to_objective_container'), $courseLink);
         $this->tabs->addTab('results_pass_oriented', $this->lng->txt('tst_tab_results_pass_oriented'), $this->ctrl->getLinkTargetByClass('ilTestEvaluationGUI', 'outUserResultsOverview'));
         $this->tabs->addTab('results_objective_oriented', $this->lng->txt('tst_tab_results_objective_oriented'), $this->ctrl->getLinkTargetByClass('ilTestEvalObjectiveOrientedGUI', 'showVirtualPass'));
         $this->tabs->setTabActive($activeTabId);
     }
 }
 protected function setSubTabs()
 {
     global $ilSetting;
     include_once './Services/AuthShibboleth/classes/class.ilShibbolethRoleAssignmentRules.php';
     if ($ilSetting->get('shib_active') == 0 and ilShibbolethRoleAssignmentRules::getCountRules() == 0) {
         return false;
     }
     // DONE: show sub tabs if there is any role assignment rule
     $this->tabs_gui->addSubTabTarget('shib_settings', $this->ctrl->getLinkTarget($this, 'settings'));
     $this->tabs_gui->addSubTabTarget('shib_role_assignment', $this->ctrl->getLinkTarget($this, 'roleAssignment'));
     return true;
 }
 /**
  * Set Course title and icon in header
  *
  */
 protected function initHeader()
 {
     $lgui = ilObjectListGUIFactory::_getListGUIByType($this->crs->getType());
     $this->tpl->setTitle($this->crs->getTitle());
     $this->tpl->setDescription($this->crs->getDescription());
     if ($this->crs->getOfflineStatus()) {
         $this->tpl->setAlertProperties($lgui->getAlertProperties());
     }
     $this->tpl->setTitleIcon(ilUtil::getTypeIconPath('crs', $this->crs->getId(), 'big'));
     $this->ctrl->setParameterByClass('ilrepositorygui', 'ref_id', $this->ref_id);
     $this->tabs->setBackTarget($this->pl->txt('back_to_course'), $this->ctrl->getLinkTargetByClass('ilrepositorygui'));
 }
 /**
  *
  */
 public function confirmDeleteSignature()
 {
     $signature = srCertificateSignature::find($_GET['signature_id']);
     $item_html = $signature->getFirstName() . " " . $signature->getLastName() . '<br>';
     $this->tabs->clearTargets();
     $this->tabs->setBackTarget($this->pl->txt('common_back'), $this->ctrl->getLinkTarget($this, 'view'));
     ilUtil::sendQuestion($this->pl->txt('signatures_confirm_delete'));
     $toolbar = new ilToolbarGUI();
     $this->ctrl->saveParameter($this, 'signature_id');
     $toolbar->addButton($this->pl->txt('confirm'), $this->ctrl->getLinkTarget($this, 'deleteSignature'));
     $toolbar->addButton($this->pl->txt('cancel'), $this->ctrl->getLinkTarget($this, 'showSignatures'));
     $this->tpl->setContent($item_html . '</br>' . $toolbar->getHTML());
 }
 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;
 }
 /**
  * Confirm deletion of multiple fields
  */
 public function confirmDeleteFields()
 {
     $this->tabs->clearSubTabs();
     $conf = new ilConfirmationGUI();
     $conf->setFormAction($this->ctrl->getFormAction($this));
     $conf->setHeaderText($this->lng->txt('dcl_confirm_delete_fields'));
     $field_ids = isset($_POST['dcl_field_ids']) ? $_POST['dcl_field_ids'] : array();
     foreach ($field_ids as $field_id) {
         /** @var ilDataCollectionField $field */
         $field = ilDataCollectionCache::getFieldCache($field_id);
         $conf->addItem('dcl_field_ids[]', $field_id, $field->getTitle());
     }
     $conf->setConfirm($this->lng->txt('delete'), 'deleteFields');
     $conf->setCancel($this->lng->txt('cancel'), 'listFields');
     $this->tpl->setContent($conf->getHTML());
 }
 /**
  * @param $type
  */
 protected function buildFrame($type)
 {
     if ($type == 'pad') {
         $this->tabs->activateTab('edit');
     } elseif ($type == 'slider') {
         $this->tabs->activateTab('timeslider');
     }
     $this->object->addUser($this->user);
     $iframe = $this->pl->getTemplate('default/tpl.iframe.html');
     $iframe->setVariable('HOST', $this->object->getHttpProtocol() . $this->object->getTeamhost());
     $iframe->setVariable('PAD_ID', $this->object->getPadId());
     $iframe->setVariable('REF_ID', $this->object->getRefId());
     $iframe->setVariable('TYPE', $type);
     $iframe->setVariable('SCROLLING', $this->object->getScrolling() ? 'auto' : 'no');
     $iframe->setVariable('ACCOUNT', $this->object->getIliasUser($this->user) . '@' . $this->object->getTeamhost());
     $this->tpl->setContent($iframe->get());
 }
 /**
  * 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()
 {
     $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}();
     }
 }
 private function handleTabs()
 {
     $this->tabs->activateTab('assQuestions');
     $this->tabs->addSubTab('tstRandQuestSetGeneralConfig', $this->lng->txt('tst_rnd_quest_cfg_tab_general'), $this->ctrl->getLinkTarget($this, self::CMD_SHOW_GENERAL_CONFIG_FORM));
     $this->tabs->addSubTab('tstRandQuestSetPoolConfig', $this->lng->txt('tst_rnd_quest_cfg_tab_pool'), $this->ctrl->getLinkTarget($this, self::CMD_SHOW_SRC_POOL_DEF_LIST));
     switch ($this->ctrl->getCmd(self::CMD_SHOW_GENERAL_CONFIG_FORM)) {
         case self::CMD_SHOW_GENERAL_CONFIG_FORM:
         case self::CMD_SAVE_GENERAL_CONFIG_FORM:
             $this->tabs->activateSubTab('tstRandQuestSetGeneralConfig');
             break;
         case self::CMD_SHOW_SRC_POOL_DEF_LIST:
         case self::CMD_SAVE_SRC_POOL_DEF_LIST:
         case self::CMD_DELETE_SINGLE_SRC_POOL_DEF:
         case self::CMD_DELETE_MULTI_SRC_POOL_DEFS:
         case self::CMD_SHOW_CREATE_SRC_POOL_DEF_FORM:
         case self::CMD_SAVE_CREATE_SRC_POOL_DEF_FORM:
         case self::CMD_SHOW_EDIT_SRC_POOL_DEF_FORM:
         case self::CMD_SAVE_EDIT_SRC_POOL_DEF_FORM:
             $this->tabs->activateSubTab('tstRandQuestSetPoolConfig');
             break;
     }
 }
 /**
  * Builds tabs and subtabs using given $tabs, $config and $command
  * parameters.
  * @param ilTabsGUI $tabs
  * @param array     $config
  * @param array     $command
  */
 private function buildTabs(ilTabsGUI $tabs, $config, $command)
 {
     /**
      * @var $rbacsystem ilRbacSystem
      */
     global $rbacsystem;
     require_once 'Modules/Chatroom/classes/class.ilChatroom.php';
     foreach ($config as $id => $tabDefinition) {
         if (!ilChatroom::checkUserPermissions($tabDefinition['permission'], $this->gui->getRefId(), false)) {
             continue;
         } else {
             if (isset($tabDefinition['enabled']) && !$tabDefinition['enabled']) {
                 continue;
             }
         }
         $tabs->addTab($id, $this->getLabel($tabDefinition, $id), $tabDefinition['link']);
         if ($command[0] == $id && isset($tabDefinition['subtabs']) && is_array($tabDefinition['subtabs'])) {
             foreach ($tabDefinition['subtabs'] as $subid => $subTabDefinition) {
                 if (!$rbacsystem->checkAccess($subTabDefinition['permission'], $this->gui->getRefId())) {
                     continue;
                 } else {
                     if (isset($subTabDefinition['enabled']) && !$subTabDefinition['enabled']) {
                         continue;
                     }
                 }
                 $tabs->addSubTab($subid, $this->getLabel($subTabDefinition, $subid), $subTabDefinition['link']);
             }
         }
     }
 }
示例#22
0
 /**
  * @param ilTabsGUI $ilTabs
  */
 protected function addBackTab(ilTabsGUI $ilTabs)
 {
     if ($_GET["calling_test"] > 0 || $_GET["test_ref_id"] > 0) {
         $ref_id = $_GET["calling_test"];
         if (strlen($ref_id) == 0) {
             $ref_id = $_GET["test_ref_id"];
         }
         if (!$_GET['test_express_mode'] && !$GLOBALS['___test_express_mode']) {
             $ilTabs->setBackTarget($this->lng->txt("backtocallingtest"), "ilias.php?baseClass=ilObjTestGUI&cmd=questions&ref_id={$ref_id}");
         } else {
             $link = ilTestExpressPage::getReturnToPageLink();
             $ilTabs->setBackTarget($this->lng->txt("backtocallingtest"), $link);
         }
     } else {
         if (isset($_GET['calling_consumer']) && (int) $_GET['calling_consumer']) {
             $ref_id = (int) $_GET['calling_consumer'];
             $consumer = ilObjectFactory::getInstanceByRefId($ref_id);
             if ($consumer instanceof ilQuestionEditingFormConsumer) {
                 $ilTabs->setBackTarget($consumer->getQuestionEditingFormBackTargetLabel(), $consumer->getQuestionEditingFormBackTarget($_GET['consumer_context']));
             } else {
                 require_once 'Services/Link/classes/class.ilLink.php';
                 $ilTabs->setBackTarget($this->lng->txt("qpl"), ilLink::_getLink($ref_id));
             }
         } else {
             $ilTabs->setBackTarget($this->lng->txt("qpl"), $this->ctrl->getLinkTargetByClass("ilobjquestionpoolgui", "questions"));
         }
     }
 }
 /**
  * adds the hints tab to ilTabsGUI
  *
  * @global ilCtrl $ilCtrl
  * @param ilTabsGUI $tabs
  */
 protected function addTab_QuestionHints(ilTabsGUI $tabs)
 {
     global $ilCtrl;
     require_once 'Modules/TestQuestionPool/classes/class.ilAssQuestionHintsGUI.php';
     $reflectionClass = null;
     switch ($ilCtrl->getCmdClass()) {
         case 'ilassquestionhintsgui':
             $reflectionClass = new ReflectionClass('ilAssQuestionHintsGUI');
             break;
         case 'ilassquestionhintgui':
             require_once 'Modules/TestQuestionPool/classes/class.ilAssQuestionHintGUI.php';
             $reflectionClass = new ReflectionClass('ilAssQuestionHintGUI');
             break;
     }
     $tabCommands = array();
     if ($reflectionClass instanceof ReflectionClass) {
         foreach ($reflectionClass->getConstants() as $constName => $constValue) {
             if (substr($constName, 0, strlen('CMD_')) == 'CMD_') {
                 $tabCommands[] = $constValue;
             }
         }
     }
     $tabLink = $ilCtrl->getLinkTargetByClass('ilAssQuestionHintsGUI', ilAssQuestionHintsGUI::CMD_SHOW_LIST);
     $tabs->addTarget('tst_question_hints_tab', $tabLink, $tabCommands, $ilCtrl->getCmdClass(), '');
 }
 private function addSettingsSubTabs(ilTabsGUI $tabs)
 {
     $tabs->addSubTabTarget('qpl_settings_subtab_general', $this->ctrl->getLinkTargetByClass('ilObjQuestionPoolSettingsGeneralGUI'), '', 'ilObjQuestionPoolSettingsGeneralGUI');
     $tabs->addSubTabTarget('qpl_settings_subtab_taxonomies', $this->ctrl->getLinkTargetByClass('ilObjTaxonomyGUI', 'editAOTaxonomySettings'), '', 'ilObjTaxonomyGUI');
 }
 /**
  * Add role folder tabs
  * @global ilTree $tree
  * @global ilLanguage $lng
  * @param ilTabsGUI $tabs_gui 
  */
 function getAdminTabs(&$tabs_gui)
 {
     global $tree, $lng;
     if ($this->checkPermissionBool("visible,read")) {
         $tabs_gui->addTarget("view", $this->ctrl->getLinkTarget($this, "view"), array("", "view"), get_class($this));
         $tabs_gui->addTarget("settings", $this->ctrl->getLinkTarget($this, "editSettings"), array("editSettings"), get_class($this));
     }
     if ($this->checkPermissionBool("edit_permission")) {
         $tabs_gui->addTarget("perm_settings", $this->ctrl->getLinkTargetByClass(array(get_class($this), 'ilpermissiongui'), "perm"), "", "ilpermissiongui");
     }
 }
示例#26
0
 /**
  * adds tabs to tab gui object
  *
  * @param ilTabsGUI $tabs_gui
  */
 function getTabs(&$tabs_gui)
 {
     global $ilAccess, $ilUser, $ilHelp;
     if (preg_match('/^ass(.*?)gui$/i', $this->ctrl->getNextClass($this))) {
         return;
     } else {
         if ($this->ctrl->getNextClass($this) == 'ilassquestionpagegui') {
             return;
         }
     }
     $ilHelp->setScreenIdComponent("tst");
     $hidden_tabs = array();
     $template = $this->object->getTemplate();
     if ($template) {
         include_once "Services/Administration/classes/class.ilSettingsTemplate.php";
         $template = new ilSettingsTemplate($template, ilObjAssessmentFolderGUI::getSettingsTemplateConfig());
         $hidden_tabs = $template->getHiddenTabs();
     }
     // for local use in this f*****g sledge hammer method
     $curUserHasWriteAccess = $ilAccess->checkAccess("write", "", $this->ref_id);
     switch ($this->ctrl->getCmdClass()) {
         // no tabs .. no subtabs .. during test pass
         case 'iltestoutputgui':
             // tab handling happens within GUIs
         // tab handling happens within GUIs
         case 'iltestevaluationgui':
         case 'iltestevalobjectiveorientedgui':
             return;
         case 'ilmarkschemagui':
         case 'ilobjtestsettingsgeneralgui':
         case 'ilobjtestsettingsscoringresultsgui':
             if ($curUserHasWriteAccess) {
                 $this->getSettingsSubTabs($hidden_tabs);
             }
             break;
     }
     if ($this->getObjectiveOrientedContainer()->isObjectiveOrientedPresentationRequired()) {
         require_once 'Services/Link/classes/class.ilLink.php';
         $courseLink = ilLink::_getLink($this->getObjectiveOrientedContainer()->getRefId());
         $tabs_gui->setBackTarget($this->lng->txt('back_to_objective_container'), $courseLink);
     }
     switch ($this->ctrl->getCmd()) {
         case "resume":
         case "previous":
         case "next":
         case "summary":
         case "directfeedback":
         case "finishTest":
         case "outCorrectSolution":
         case "passDetails":
         case "showAnswersOfUser":
         case "outUserResultsOverview":
         case "backFromSummary":
         case "show_answers":
         case "setsolved":
         case "resetsolved":
         case "confirmFinish":
         case "outTestSummary":
         case "outQuestionSummary":
         case "gotoQuestion":
         case "selectImagemapRegion":
         case "confirmSubmitAnswers":
         case "finalSubmission":
         case "postpone":
         case "redirectQuestion":
         case "outUserPassDetails":
         case "checkPassword":
         case "exportCertificate":
         case "finishListOfAnswers":
         case "backConfirmFinish":
         case "showFinalStatement":
             return;
             break;
             /*case "browseForQuestions":
             		case "filter":
             		case "resetFilter":
             		case "resetTextFilter":
             		case "insertQuestions":
             			// #8497: resetfilter is also used in lp
             			if($this->ctrl->getNextClass($this) != "illearningprogressgui")
             			{
             				return $this->getBrowseForQuestionsTab($tabs_gui);
             			}				
             			break;*/
         /*case "browseForQuestions":
         		case "filter":
         		case "resetFilter":
         		case "resetTextFilter":
         		case "insertQuestions":
         			// #8497: resetfilter is also used in lp
         			if($this->ctrl->getNextClass($this) != "illearningprogressgui")
         			{
         				return $this->getBrowseForQuestionsTab($tabs_gui);
         			}				
         			break;*/
         case "scoring":
         case "certificate":
         case "certificateservice":
         case "certificateImport":
         case "certificateUpload":
         case "certificateEditor":
         case "certificateDelete":
         case "certificateSave":
         case "defaults":
         case "deleteDefaults":
         case "addDefaults":
         case "applyDefaults":
         case "inviteParticipants":
         case "searchParticipants":
             if ($curUserHasWriteAccess && in_array($this->ctrl->getCmdClass(), array('ilobjtestgui', 'ilcertificategui'))) {
                 $this->getSettingsSubTabs($hidden_tabs);
             }
             break;
         case "export":
         case "print":
             break;
         case "statistics":
         case "eval_a":
         case "detailedEvaluation":
         case "outEvaluation":
         case "singleResults":
         case "exportEvaluation":
         case "evalUserDetail":
         case "passDetails":
         case "outStatisticsResultsOverview":
         case "statisticsPassDetails":
             $this->getStatisticsSubTabs();
             break;
     }
     if (strcmp(strtolower(get_class($this->object)), "ilobjtest") == 0) {
         // questions tab
         if ($ilAccess->checkAccess("write", "", $this->ref_id) && !in_array('assQuestions', $hidden_tabs)) {
             $force_active = $_GET["up"] != "" || $_GET["down"] != "" ? true : false;
             if (!$force_active) {
                 if ($_GET["browse"] == 1) {
                     $force_active = true;
                 }
             }
             switch ($this->object->getQuestionSetType()) {
                 case ilObjTest::QUESTION_SET_TYPE_FIXED:
                     $target = $this->ctrl->getLinkTargetByClass('iltestexpresspageobjectgui', 'showPage');
                     break;
                 case ilObjTest::QUESTION_SET_TYPE_RANDOM:
                     $target = $this->ctrl->getLinkTargetByClass('ilTestRandomQuestionSetConfigGUI');
                     break;
                 case ilObjTest::QUESTION_SET_TYPE_DYNAMIC:
                     $target = $this->ctrl->getLinkTargetByClass('ilObjTestDynamicQuestionSetConfigGUI');
                     break;
             }
             $tabs_gui->addTarget("assQuestions", $target, array("questions", "createQuestion", "randomselect", "back", "createRandomSelection", "cancelRandomSelect", "insertRandomSelection", "removeQuestions", "moveQuestions", "insertQuestionsBefore", "insertQuestionsAfter", "confirmRemoveQuestions", "cancelRemoveQuestions", "executeCreateQuestion", "cancelCreateQuestion", "addQuestionpool", "saveRandomQuestions", "saveQuestionSelectionMode", "print", "addsource", "removesource", "randomQuestions"), "", "", $force_active);
         }
         // info tab
         if ($ilAccess->checkAccess("read", "", $this->ref_id) && !in_array('info_short', $hidden_tabs)) {
             $tabs_gui->addTarget("info_short", $this->ctrl->getLinkTarget($this, 'infoScreen'), array("infoScreen", "outIntroductionPage", "showSummary", "setAnonymousId", "outUserListOfAnswerPasses", "redirectToInfoScreen"));
         }
         // settings tab
         if ($ilAccess->checkAccess("write", "", $this->ref_id)) {
             if (!in_array('settings', $hidden_tabs)) {
                 $settingsCommands = array("marks", "showMarkSchema", "addMarkStep", "deleteMarkSteps", "addSimpleMarkSchema", "saveMarks", "certificate", "certificateEditor", "certificateRemoveBackground", "certificateSave", "certificatePreview", "certificateDelete", "certificateUpload", "certificateImport", "scoring", "defaults", "addDefaults", "deleteDefaults", "applyDefaults", "inviteParticipants", "saveFixedParticipantsStatus", "searchParticipants", "addParticipants");
                 require_once 'Modules/Test/classes/class.ilObjTestSettingsGeneralGUI.php';
                 $reflection = new ReflectionClass('ilObjTestSettingsGeneralGUI');
                 foreach ($reflection->getConstants() as $name => $value) {
                     if (substr($name, 0, 4) == 'CMD_') {
                         $settingsCommands[] = $value;
                     }
                 }
                 require_once 'Modules/Test/classes/class.ilObjTestSettingsScoringResultsGUI.php';
                 $reflection = new ReflectionClass('ilObjTestSettingsScoringResultsGUI');
                 foreach ($reflection->getConstants() as $name => $value) {
                     if (substr($name, 0, 4) == 'CMD_') {
                         $settingsCommands[] = $value;
                     }
                 }
                 $settingsCommands[] = "";
                 // DO NOT KNOW WHAT THIS IS DOING, BUT IT'S REQUIRED
                 $tabs_gui->addTarget("settings", $this->ctrl->getLinkTargetByClass('ilObjTestSettingsGeneralGUI'), $settingsCommands, array("ilmarkschemagui", "ilobjtestsettingsgeneralgui", "ilobjtestsettingsscoringresultsgui", "ilobjtestgui", "ilcertificategui"));
             }
             // skill service
             if ($this->object->isSkillServiceEnabled() && ilObjTest::isSkillManagementGloballyActivated()) {
                 require_once 'Modules/TestQuestionPool/classes/class.ilAssQuestionSkillAssignmentsGUI.php';
                 $link = $this->ctrl->getLinkTargetByClass(array('ilTestSkillAdministrationGUI', 'ilAssQuestionSkillAssignmentsGUI'), ilAssQuestionSkillAssignmentsGUI::CMD_SHOW_SKILL_QUEST_ASSIGNS);
                 $tabs_gui->addTarget('tst_tab_competences', $link, array(), array());
             }
             if (!in_array('participants', $hidden_tabs)) {
                 // participants
                 $tabs_gui->addTarget("participants", $this->ctrl->getLinkTarget($this, 'participants'), array("participants", "saveClientIP", "removeParticipant", "showParticipantAnswersForAuthor", "deleteAllUserResults", "cancelDeleteAllUserData", "deleteSingleUserResults", "outParticipantsResultsOverview", "outParticipantsPassDetails", "showPassOverview", "showUserAnswers", "participantsAction", "showDetailedResults", 'timing', 'timingOverview', 'npResetFilter', 'npSetFilter', 'showTimingForm'), "");
             }
         }
         include_once './Services/Tracking/classes/class.ilLearningProgressAccess.php';
         if (ilLearningProgressAccess::checkAccess($this->object->getRefId()) && !in_array('learning_progress', $hidden_tabs)) {
             $tabs_gui->addTarget('learning_progress', $this->ctrl->getLinkTargetByClass(array('illearningprogressgui'), ''), '', array('illplistofobjectsgui', 'illplistofsettingsgui', 'illearningprogressgui', 'illplistofprogressgui'));
         }
         if ($ilAccess->checkAccess("write", "", $this->ref_id) && !in_array('manscoring', $hidden_tabs)) {
             include_once "./Modules/Test/classes/class.ilObjAssessmentFolder.php";
             $scoring = ilObjAssessmentFolder::_getManualScoring();
             if (count($scoring)) {
                 // scoring tab
                 $tabs_gui->addTarget("manscoring", $this->ctrl->getLinkTargetByClass('ilTestScoringGUI', 'showManScoringParticipantsTable'), array('showManScoringParticipantsTable', 'applyManScoringParticipantsFilter', 'resetManScoringParticipantsFilter', 'showManScoringParticipantScreen', 'showManScoringByQuestionParticipantsTable', 'applyManScoringByQuestionFilter', 'resetManScoringByQuestionFilter', 'saveManScoringByQuestion'), '');
             }
         }
         // Scoring Adjustment
         $setting = new ilSetting('assessment');
         $scoring_adjust_active = (bool) $setting->get('assessment_adjustments_enabled', false);
         if ($ilAccess->checkAccess("write", "", $this->ref_id) && $scoring_adjust_active && !in_array('scoringadjust', $hidden_tabs)) {
             // scoring tab
             $tabs_gui->addTarget("scoringadjust", $this->ctrl->getLinkTargetByClass('ilScoringAdjustmentGUI', 'showquestionlist'), array('showquestionlist', 'savescoringfortest', 'adjustscoringfortest'), '');
         }
         if (($ilAccess->checkAccess("tst_statistics", "", $this->ref_id) || $ilAccess->checkAccess("write", "", $this->ref_id)) && !in_array('statistics', $hidden_tabs)) {
             // statistics tab
             $tabs_gui->addTarget("statistics", $this->ctrl->getLinkTargetByClass("iltestevaluationgui", "outEvaluation"), array("statistics", "outEvaluation", "exportEvaluation", "detailedEvaluation", "eval_a", "evalUserDetail", "passDetails", "outStatisticsResultsOverview", "statisticsPassDetails", "singleResults"), "");
         }
         if ($ilAccess->checkAccess("write", "", $this->ref_id)) {
             if (!in_array('history', $hidden_tabs)) {
                 // history
                 $tabs_gui->addTarget("history", $this->ctrl->getLinkTarget($this, 'history'), "history", "");
             }
             if (!in_array('meta_data', $hidden_tabs)) {
                 // meta data
                 $tabs_gui->addTarget("meta_data", $this->ctrl->getLinkTargetByClass('ilmdeditorgui', 'listSection'), "", "ilmdeditorgui");
             }
             if (!in_array('export', $hidden_tabs)) {
                 // export tab
                 $tabs_gui->addTarget("export", $this->ctrl->getLinkTargetByClass('iltestexportgui', ''), '', array('iltestexportgui'));
             }
         }
         if ($ilAccess->checkAccess("edit_permission", "", $this->ref_id) && !in_array('permissions', $hidden_tabs)) {
             $tabs_gui->addTarget("perm_settings", $this->ctrl->getLinkTargetByClass(array(get_class($this), 'ilpermissiongui'), "perm"), array("perm", "info", "owner"), 'ilpermissiongui');
         }
     }
     if ($this->testQuestionSetConfigFactory->getQuestionSetConfig()->areDepenciesBroken()) {
         $hideTabs = array('settings', 'manscoring', 'scoringadjust', 'statistics', 'history', 'export');
         foreach ($hideTabs as $tabId) {
             $tabs_gui->removeTab($tabId);
         }
     }
 }
 /**
  * @param ilTabsGUI $tabs_gui
  */
 public function getAdminTabs(ilTabsGUI $tabs_gui)
 {
     /**
      * @var $rbacsystem ilRbacSystem
      */
     global $rbacsystem;
     if ($rbacsystem->checkAccess('read', $this->object->getRefId())) {
         $tabs_gui->addTarget('settings', $this->ctrl->getLinkTarget($this, 'settings'), array('saveSettings', 'settings', '', 'view'), '', '');
     }
     if ($rbacsystem->checkAccess('read', $this->object->getRefId())) {
         $tabs_gui->addTarget('tos_agreement_by_lng', $this->ctrl->getLinkTarget($this, 'showAgreementByLanguage'), array('reset', 'confirmReset', 'showAgreementByLanguage', 'resetAgreementByLanguageFilter', 'applyAgreementByLanguageFilter'), '', '');
     }
     if ($rbacsystem->checkAccess('read', $this->object->getRefId()) && $rbacsystem->checkAccess('read', USER_FOLDER_ID)) {
         $tabs_gui->addTarget('tos_acceptance_history', $this->ctrl->getLinkTarget($this, 'showAcceptanceHistory'), array('showAcceptanceHistory', 'resetAcceptanceHistoryFilter', 'applyAcceptanceHistoryFilter'), '', '');
     }
     if ($rbacsystem->checkAccess('edit_permission', $this->object->getRefId())) {
         $tabs_gui->addTarget('perm_settings', $this->ctrl->getLinkTargetByClass(array(get_class($this), 'ilpermissiongui'), 'perm'), array('perm', 'info', 'owner'), 'ilpermissiongui');
     }
 }
 private function manageTabs($cmd)
 {
     $this->tabs->clearTargets();
     $this->tabs->setBackTarget($this->lng->txt('tst_results_back_introduction'), $this->ctrl->getLinkTargetByClass('ilObjTestGUI', 'infoScreen'));
 }
 /**
  * adds the hints tab to ilTabsGUI
  *
  * @global ilCtrl $ilCtrl
  * @param ilTabsGUI $tabs
  */
 protected function addTab_QuestionHints(ilTabsGUI $tabs)
 {
     global $ilCtrl;
     require_once 'Modules/TestQuestionPool/classes/class.ilAssQuestionHintsGUI.php';
     switch ($ilCtrl->getCmdClass()) {
         case 'ilassquestionhintsgui':
             $tabCommands = self::getCommandsFromClassConstants('ilAssQuestionHintsGUI');
             break;
         case 'ilassquestionhintgui':
             require_once 'Modules/TestQuestionPool/classes/class.ilAssQuestionHintGUI.php';
             $tabCommands = self::getCommandsFromClassConstants('ilAssQuestionHintGUI');
             break;
         default:
             $tabCommands = array();
     }
     $tabLink = $ilCtrl->getLinkTargetByClass('ilAssQuestionHintsGUI', ilAssQuestionHintsGUI::CMD_SHOW_LIST);
     $tabs->addTarget('tst_question_hints_tab', $tabLink, $tabCommands, $ilCtrl->getCmdClass(), '');
 }
示例#30
0
 public function getTabs(ilTabsGUI $tabs_gui)
 {
     /**
      * @var $ilAccess ilAccessHandler
      * @var $ilHelp ilHelpGUI
      * @var $ilCtrl ilCtrl
      */
     global $ilAccess, $ilHelp, $ilCtrl;
     $ilHelp->setScreenIdComponent("frm");
     $this->ctrl->setParameter($this, 'ref_id', $this->ref_id);
     include_once 'Services/Repository/classes/class.ilRepositoryExplorer.php';
     $active = array('', 'showThreads', 'view', 'markAllRead', 'enableForumNotification', 'disableForumNotification', 'moveThreads', 'performMoveThreads', 'cancelMoveThreads', 'performThreadsAction', 'createThread', 'addThread', 'showUser', 'confirmDeleteThreads', 'merge', 'mergeThreads', 'cancelMergeThreads', 'performMergeThreads');
     in_array($ilCtrl->getCmd(), $active) ? $force_active = true : ($force_active = false);
     $tabs_gui->addTarget('forums_threads', $this->ctrl->getLinkTarget($this, 'showThreads'), $ilCtrl->getCmd(), get_class($this), '', $force_active);
     // info tab
     if ($ilAccess->checkAccess('visible', '', $this->ref_id)) {
         $force_active = $this->ctrl->getNextClass() == 'ilinfoscreengui' || strtolower($_GET['cmdClass']) == 'ilnotegui' ? true : false;
         $tabs_gui->addTarget('info_short', $this->ctrl->getLinkTargetByClass(array('ilobjforumgui', 'ilinfoscreengui'), 'showSummary'), array('showSummary', 'infoScreen'), '', '', $force_active);
     }
     if ($ilAccess->checkAccess('write', '', $this->ref_id)) {
         $force_active = $ilCtrl->getCmd() == 'edit' ? true : false;
         $tabs_gui->addTarget('settings', $this->ctrl->getLinkTarget($this, 'edit'), 'edit', get_class($this), '', $force_active);
     }
     if ($ilAccess->checkAccess('write', '', $this->ref_id)) {
         $tabs_gui->addTarget('frm_moderators', $this->ctrl->getLinkTargetByClass('ilForumModeratorsGUI', 'showModerators'), 'showModerators', get_class($this));
     }
     if ($this->ilias->getSetting('enable_fora_statistics', false) && ($this->objProperties->isStatisticEnabled() || $ilAccess->checkAccess('write', '', $this->ref_id))) {
         $force_active = $ilCtrl->getCmd() == 'showStatistics' ? true : false;
         $tabs_gui->addTarget('frm_statistics', $this->ctrl->getLinkTarget($this, 'showStatistics'), 'showStatistics', get_class($this), '', $force_active);
         //false
     }
     if ($ilAccess->checkAccess('write', '', $this->object->getRefId())) {
         $tabs_gui->addTarget('export', $this->ctrl->getLinkTargetByClass('ilexportgui', ''), '', 'ilexportgui');
     }
     if ($ilAccess->checkAccess('edit_permission', '', $this->ref_id)) {
         $tabs_gui->addTarget('perm_settings', $this->ctrl->getLinkTargetByClass(array(get_class($this), 'ilpermissiongui'), 'perm'), array('perm', 'info', 'owner'), 'ilpermissiongui');
     }
 }