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;
 }
Ejemplo n.º 2
0
 /**
  * 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');
     }
 }