/** * edit question */ function edit() { global $ilCtrl, $ilTabs; $ilTabs->setTabActive('question'); if ($this->getSelfAssessmentMode()) { $q_ref = $this->content_obj->getQuestionReference(); if ($q_ref != "") { $inst_id = ilInternalLink::_extractInstOfTarget($q_ref); if (!($inst_id > 0)) { $q_id = ilInternalLink::_extractObjIdOfTarget($q_ref); } } $q_type = $_POST["q_type"] != "" ? $_POST["q_type"] : $_GET["q_type"]; $ilCtrl->setParameter($this, "q_type", $q_type); if ($q_id == "" && $q_type == "") { return $this->insert("edit_empty"); } include_once "./Modules/TestQuestionPool/classes/class.ilQuestionEditGUI.php"; include_once "./Modules/TestQuestionPool/classes/class.assQuestion.php"; include_once "./Modules/ScormAicc/classes/class.ilObjSAHSLearningModule.php"; $ilCtrl->setCmdClass("ilquestioneditgui"); $ilCtrl->setCmd("editQuestion"); $edit_gui = new ilQuestionEditGUI(); // create question first-hand (needed for uploads) if ($q_id < 1 && $q_type) { include_once "./Modules/TestQuestionPool/classes/class.assQuestionGUI.php"; $q_gui =& assQuestionGUI::_getQuestionGUI($q_type); $q_id = $q_gui->object->createNewQuestion(true); unset($q_gui); if ($_GET["qpool_ref_id"] > 0) { $edit_gui->setPoolRefId($_GET["qpool_ref_id"]); $edit_gui->setPoolRefId(0); } //set default tries $edit_gui->setDefaultNrOfTries(ilObjSAHSLearningModule::_getTries($this->scormlmid)); } $edit_gui->setPoolObjId(0); $edit_gui->setQuestionId($q_id); $edit_gui->setQuestionType($q_type); $edit_gui->setSelfAssessmentEditingMode(true); $edit_gui->setPageConfig($this->getPageConfig()); $ret = $ilCtrl->forwardCommand($edit_gui); $this->tpl->setContent($ret); return $ret; } else { require_once "./Modules/TestQuestionPool/classes/class.assQuestionGUI.php"; $q_gui =& assQuestionGUI::_getQuestionGUI("", $_GET["q_id"]); $this->ctrl->redirectByClass(array("ilobjquestionpoolgui", get_class($q_gui)), "editQuestion"); } }