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); }
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']); } } } }
/** * @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"); } }
/** * 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(), ''); }
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'); } }