/** * imports question(s) into the questionpool (after verification) */ function importVerifiedFileObject() { if ($_POST["questions_only"] == 1) { $newObj =& $this->object; } else { include_once "./Modules/TestQuestionPool/classes/class.ilObjQuestionPool.php"; // create new questionpool object $newObj = new ilObjQuestionPool(0, true); // set type of questionpool object $newObj->setType($_GET["new_type"]); // set title of questionpool object to "dummy" $newObj->setTitle("dummy"); // set description of questionpool object $newObj->setDescription("questionpool import"); // create the questionpool class in the ILIAS database (object_data table) $newObj->create(true); // create a reference for the questionpool object in the ILIAS database (object_reference table) $newObj->createReference(); // put the questionpool object in the administration tree $newObj->putInTree($_GET["ref_id"]); // get default permissions and set the permissions for the questionpool object $newObj->setPermissions($_GET["ref_id"]); // notify the questionpool object and all its parent objects that a "new" object was created $newObj->notify("new", $_GET["ref_id"], $_GET["parent_non_rbac_id"], $_GET["ref_id"], $newObj->getRefId()); } // start parsing of QTI files include_once "./Services/QTI/classes/class.ilQTIParser.php"; $qtiParser = new ilQTIParser($_SESSION["qpl_import_qti_file"], IL_MO_PARSE_QTI, $newObj->getId(), $_POST["ident"]); $result = $qtiParser->startParsing(); // import page data if (strlen($_SESSION["qpl_import_xml_file"])) { include_once "./Modules/LearningModule/classes/class.ilContObjParser.php"; $contParser = new ilContObjParser($newObj, $_SESSION["qpl_import_xml_file"], $_SESSION["qpl_import_subdir"]); $contParser->setQuestionMapping($qtiParser->getImportMapping()); $contParser->startParsing(); } // set another question pool name (if possible) $qpl_name = $_POST["qpl_new"]; if (strcmp($qpl_name, $newObj->getTitle()) != 0 && strlen($qpl_name) > 0) { $newObj->setTitle($qpl_name); $newObj->update(); } // delete import directory include_once "./Services/Utilities/classes/class.ilUtil.php"; ilUtil::delDir(dirname(ilObjQuestionPool::_getImportDirectory())); if ($_POST["questions_only"] == 1) { $this->ctrl->redirect($this, "questions"); } else { ilUtil::sendSuccess($this->lng->txt("object_imported"), true); ilUtil::redirect("ilias.php?ref_id=" . $newObj->getRefId() . "&baseClass=ilObjQuestionPoolGUI"); } }