/** * adds tabs to tab gui object * * @param object $tabs_gui ilTabsGUI object */ function getTabs(&$tabs_gui) { global $ilAccess, $ilHelp; $ilHelp->setScreenIdComponent("qpl"); $next_class = strtolower($this->ctrl->getNextClass()); switch ($next_class) { case "": case "ilpermissiongui": case "ilmdeditorgui": case "ilexportgui": 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->getLinkTarget($this, 'properties'), "properties", "", ""); } // 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 ($ilAccess->checkAccess("write", "", $this->object->getRefId())) { $tabs_gui->addTarget("export", $this->ctrl->getLinkTargetByClass("ilexportgui", ""), "", "ilexportgui"); } 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'); } }
/** * Creates a new questionpool and returns the reference id * * Creates a new questionpool and returns the reference id * * @return integer Reference id of the newly created questionpool * @access public */ function createQuestionPool($name = "Dummy") { global $tree; $parent_ref = $tree->getParentId($_GET["ref_id"]); include_once "./Modules/TestQuestionPool/classes/class.ilObjQuestionPool.php"; $qpl = new ilObjQuestionPool(); $qpl->setType("qpl"); $qpl->setTitle($name); $qpl->setDescription(""); $qpl->create(); $qpl->createReference(); $qpl->putInTree($parent_ref); $qpl->setPermissions($parent_ref); $qpl->setOnline(1); // must be online to be available $qpl->saveToDb(); return $qpl->getRefId(); }
/** * 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'); } }