private function isAccessDenied() { if (!$this->poolOBJ->isSkillServiceEnabled()) { return true; } if (!ilObjQuestionPool::isSkillManagementGloballyActivated()) { return true; } if (!$this->access->checkAccess('write', '', $this->refId)) { return true; } return false; }
/** * adds tabs to tab gui object * * @param object $tabs_gui ilTabsGUI object */ function getTabs(&$tabs_gui) { global $ilAccess, $ilHelp; $currentUserHasWriteAccess = $ilAccess->checkAccess("write", "", $this->object->getRefId()); $ilHelp->setScreenIdComponent("qpl"); $next_class = strtolower($this->ctrl->getNextClass()); switch ($next_class) { case "": case "ilpermissiongui": case "ilmdeditorgui": case "ilquestionpoolexportgui": case "ilquestionpoolskilladministrationgui": break; case 'ilobjtaxonomygui': case 'ilobjquestionpoolsettingsgeneralgui': if ($currentUserHasWriteAccess) { $this->addSettingsSubTabs($tabs_gui); } break; default: return; break; } // questions $force_active = false; $commands = $_POST["cmd"]; if (is_array($commands)) { foreach ($commands as $key => $value) { if (preg_match("/^delete_.*/", $key, $matches) || preg_match("/^addSelectGap_.*/", $key, $matches) || preg_match("/^addTextGap_.*/", $key, $matches) || preg_match("/^deleteImage_.*/", $key, $matches) || preg_match("/^upload_.*/", $key, $matches) || preg_match("/^addSuggestedSolution_.*/", $key, $matches)) { $force_active = true; } } } if (array_key_exists("imagemap_x", $_POST)) { $force_active = true; } if (!$force_active) { $force_active = (strtolower($this->ctrl->getCmdClass()) == strtolower(get_class($this)) || strlen($this->ctrl->getCmdClass()) == 0) && $this->ctrl->getCmd() == "" ? true : false; } $tabs_gui->addTarget("assQuestions", $this->ctrl->getLinkTarget($this, "questions"), array("questions", "filter", "resetFilter", "createQuestion", "importQuestions", "deleteQuestions", "filterQuestionBrowser", "view", "preview", "editQuestion", "exec_pg", "addItem", "upload", "save", "cancel", "addSuggestedSolution", "cancelExplorer", "linkChilds", "removeSuggestedSolution", "add", "addYesNo", "addTrueFalse", "createGaps", "saveEdit", "setMediaMode", "uploadingImage", "uploadingImagemap", "addArea", "deletearea", "saveShape", "back", "addPair", "uploadingJavaapplet", "addParameter", "assessment", "addGIT", "addST", "addPG", "delete", "toggleGraphicalAnswers", "deleteAnswer", "deleteImage", "removeJavaapplet"), "", "", $force_active); if ($ilAccess->checkAccess("visible", "", $this->ref_id)) { $tabs_gui->addTarget("info_short", $this->ctrl->getLinkTarget($this, "infoScreen"), array("infoScreen", "showSummary")); } if ($ilAccess->checkAccess("write", "", $_GET['ref_id'])) { // properties $tabs_gui->addTarget('settings', $this->ctrl->getLinkTargetByClass('ilObjQuestionPoolSettingsGeneralGUI'), array(), array('ilObjQuestionPoolSettingsGeneralGUI', 'ilObjTaxonomyGUI')); // skill service if ($this->object->isSkillServiceEnabled() && ilObjQuestionPool::isSkillManagementGloballyActivated()) { require_once 'Modules/TestQuestionPool/classes/class.ilAssQuestionSkillAssignmentsGUI.php'; $link = $this->ctrl->getLinkTargetByClass(array('ilQuestionPoolSkillAdministrationGUI', 'ilAssQuestionSkillAssignmentsGUI'), ilAssQuestionSkillAssignmentsGUI::CMD_SHOW_SKILL_QUEST_ASSIGNS); $tabs_gui->addTarget('qpl_tab_competences', $link, array(), array()); } } // print view $tabs_gui->addTarget("print_view", $this->ctrl->getLinkTarget($this, 'print'), array("print"), "", ""); if ($ilAccess->checkAccess("write", "", $this->object->getRefId())) { // meta data $tabs_gui->addTarget("meta_data", $this->ctrl->getLinkTargetByClass('ilmdeditorgui', 'listSection'), "", "ilmdeditorgui"); // $tabs_gui->addTarget("export", // $this->ctrl->getLinkTarget($this,'export'), // array("export", "createExportFile", "confirmDeleteExportFile", "downloadExportFile"), // "", ""); } if ($currentUserHasWriteAccess) { $tabs_gui->addTarget("export", $this->ctrl->getLinkTargetByClass("ilquestionpoolexportgui", ""), "", "ilquestionpoolexportgui"); } if ($ilAccess->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'); } }