/** * list questions of question pool */ function questionsObject() { global $rbacsystem, $ilUser, $ilCtrl, $ilDB, $lng, $ilPluginAdmin; if (get_class($this->object) == "ilObjTest") { if ($_GET["calling_test"] > 0) { $ref_id = $_GET["calling_test"]; $q_id = $_GET["q_id"]; if ($_REQUEST['test_express_mode']) { if ($q_id) { ilUtil::redirect("ilias.php?ref_id=" . $ref_id . "&q_id=" . $q_id . "&test_express_mode=1&cmd=showPage&cmdClass=iltestexpresspageobjectgui&baseClass=ilObjTestGUI"); } else { ilUtil::redirect("ilias.php?ref_id=" . $ref_id . "&test_express_mode=1&cmd=showPage&cmdClass=iltestexpresspageobjectgui&baseClass=ilObjTestGUI"); } } else { ilUtil::redirect("ilias.php?baseClass=ilObjTestGUI&ref_id=" . $ref_id . "&cmd=questions"); } } } 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) { ilUtil::redirect($consumer->getQuestionEditingFormBackTarget($_GET['consumer_context'])); } require_once 'Services/Link/classes/class.ilLink.php'; ilUtil::redirect(ilLink::_getLink($ref_id)); } } $this->object->purgeQuestions(); // reset test_id SESSION variable $_SESSION["test_id"] = ""; require_once 'Services/Taxonomy/classes/class.ilObjTaxonomy.php'; $taxIds = ilObjTaxonomy::getUsageOfObject($this->object->getId()); $table_gui = $this->buildQuestionBrowserTableGUI($taxIds); $table_gui->setPreventDoubleSubmission(false); if ($rbacsystem->checkAccess('write', $_GET['ref_id'])) { $toolbar = new ilToolbarGUI(); $toolbar->addButton($this->lng->txt("ass_create_question"), $this->ctrl->getLinkTarget($this, 'createQuestionForm')); $this->tpl->setContent($this->ctrl->getHTML($toolbar) . $this->ctrl->getHTML($table_gui)); } else { $this->tpl->setContent($this->ctrl->getHTML($table_gui)); } if ($this->object->getShowTaxonomies()) { $this->lng->loadLanguageModule('tax'); require_once 'Services/Taxonomy/classes/class.ilTaxonomyExplorerGUI.php'; foreach ($taxIds as $taxId) { if ($taxId != $this->object->getNavTaxonomyId()) { continue; } $taxExp = new ilTaxonomyExplorerGUI($this, 'showNavTaxonomy', $taxId, 'ilobjquestionpoolgui', 'questions'); if (!$taxExp->handleCommand()) { $this->tpl->setLeftContent($taxExp->getHTML() . " "); } break; } } }
/** * list questions of question pool */ function questionsObject($arrFilter = null) { global $rbacsystem; global $ilUser; if (get_class($this->object) == "ilObjTest") { if ($_GET["calling_test"] > 0) { $ref_id = $_GET["calling_test"]; $q_id = $_GET["q_id"]; if ($_REQUEST['test_express_mode']) { if ($q_id) { ilUtil::redirect("ilias.php?ref_id=" . $ref_id . "&q_id=" . $q_id . "&test_express_mode=1&cmd=showPage&cmdClass=iltestexpresspageobjectgui&baseClass=ilObjTestGUI"); } else { ilUtil::redirect("ilias.php?ref_id=" . $ref_id . "&test_express_mode=1&cmd=showPage&cmdClass=iltestexpresspageobjectgui&baseClass=ilObjTestGUI"); } } else { ilUtil::redirect("ilias.php?baseClass=ilObjTestGUI&ref_id=" . $ref_id . "&cmd=questions"); } } } $this->object->purgeQuestions(); // reset test_id SESSION variable $_SESSION["test_id"] = ""; $this->tpl->addBlockFile("ADM_CONTENT", "adm_content", "tpl.il_as_qpl_questionbrowser.html", "Modules/TestQuestionPool"); include_once "./Modules/TestQuestionPool/classes/tables/class.ilQuestionBrowserTableGUI.php"; $table_gui = new ilQuestionBrowserTableGUI($this, 'questions', $rbacsystem->checkAccess('write', $_GET['ref_id']) ? true : false); $table_gui->setEditable($rbacsystem->checkAccess('write', $_GET['ref_id'])); $arrFilter = array(); foreach ($table_gui->getFilterItems() as $item) { if ($item->getValue() !== false) { $arrFilter[$item->getPostVar()] = $item->getValue(); } } $data = $this->object->getQuestionBrowserData($arrFilter); $table_gui->setData($data); $this->tpl->setVariable('TABLE', $table_gui->getHTML()); if ($rbacsystem->checkAccess('write', $_GET['ref_id'])) { $this->tpl->setCurrentBlock("QTypes"); $types =& $this->object->getQuestionTypes(false, true); $lastquestiontype = $ilUser->getPref("tst_lastquestiontype"); foreach ($types as $translation => $data) { if ($data["type_tag"] == $lastquestiontype) { $this->tpl->setVariable("QUESTION_TYPE_SELECTED", " selected=\"selected\""); } $this->tpl->setVariable("QUESTION_TYPE_ID", $data["type_tag"]); $this->tpl->setVariable("QUESTION_TYPE", $translation); $this->tpl->parseCurrentBlock(); } $this->tpl->setVariable("QUESTION_ADD", $this->lng->txt("create")); $this->tpl->setVariable("FORMACTION", $this->ctrl->getFormAction($this, 'questions')); $this->tpl->parseCurrentBlock(); } }