19 include_once(
"./Services/Export/classes/class.ilXmlImporter.php");
45 include_once
"./Modules/TestQuestionPool/classes/class.ilObjQuestionPool.php";
49 if ($new_id = $a_mapping->
getMapping(
'Services/Container',
'objs', $a_id)) {
51 $newObj->setOnline(
true);
54 } elseif ($new_id = $a_mapping->
getMapping(
'Modules/TestQuestionPool',
'qpl',
"new_id")) {
59 $DIC[
'ilLog']->write(__METHOD__ .
': non container and no tax mapping, perhaps old qpl export');
68 if (!@file_exists($xml_file)) {
69 $DIC[
'ilLog']->write(__METHOD__ .
': Cannot find xml definition: ' . $xml_file);
72 if (!@file_exists($qti_file)) {
73 $DIC[
'ilLog']->write(__METHOD__ .
': Cannot find qti definition: ' . $qti_file);
77 $this->poolOBJ = $newObj;
79 $newObj->fromXML($xml_file);
82 if (isset($_POST[
"qpl_new"]) && strlen($_POST[
"qpl_new"])) {
83 $newObj->setTitle($_POST[
"qpl_new"]);
94 $DIC[
'ilLog']->write(__METHOD__ .
': xml file: ' . $xml_file .
", qti file:" . $qti_file);
104 include_once
"./Services/QTI/classes/class.ilQTIParser.php";
109 if (strlen($xml_file)) {
111 $questionPageParser->setQuestionMapping($qtiParser->getImportMapping());
112 $questionPageParser->startParsing();
114 foreach ($qtiParser->getImportMapping() as $k => $v) {
115 $oldQuestionId = substr($k, strpos($k,
'qst_') + strlen(
'qst_'));
116 $newQuestionId = $v[
'pool'];
121 "qpl:quest:$oldQuestionId",
128 "qpl:quest:$oldQuestionId",
133 "Modules/TestQuestionPool",
143 $a_mapping->
addMapping(
"Modules/TestQuestionPool",
"qpl", $a_id, $newObj->getId());
159 include_once(
"./Services/Taxonomy/classes/class.ilObjTaxonomy.php");
161 foreach ($maps as $old => $new) {
162 if ($old !=
"new_id" && (
int) $old > 0) {
164 $new_tax_ids = $a_mapping->
getMapping(
"Services/Taxonomy",
"tax_usage_of_obj", $old);
165 if ($new_tax_ids !==
false) {
166 $tax_ids = explode(
":", $new_tax_ids);
167 foreach ($tax_ids as $tid) {
173 foreach ($taxMappings as $oldTaxId => $newTaxId) {
174 if ($oldTaxId == $this->poolOBJ->getNavTaxonomyId()) {
175 $this->poolOBJ->setNavTaxonomyId($newTaxId);
176 $this->poolOBJ->saveToDb();
196 $qti = $this->
getImportDirectory() .
'/' . preg_replace(
'/qpl/',
'qti', $basename) .
'.xml';
198 return array(
$xml,$qti);
204 $dir = dirname($dir);
211 $name = basename($dir);
217 require_once
'Modules/TestQuestionPool/classes/questions/class.ilAssQuestionSkillAssignmentXmlParser.php';
219 $parser->startParsing();
221 require_once
'Modules/TestQuestionPool/classes/questions/class.ilAssQuestionSkillAssignmentImporter.php';
223 $importer->setTargetParentObjId($targetParentObjId);
224 $importer->setImportInstallationId($this->
getInstallId());
225 $importer->setImportMappingRegistry($mappingRegistry);
226 $importer->setImportMappingComponent(
'Modules/TestQuestionPool');
227 $importer->setImportAssignmentList($parser->getAssignmentList());
231 if ($importer->getFailedImportAssignmentList()->assignmentsExist()) {
232 require_once
'Modules/TestQuestionPool/classes/questions/class.ilAssQuestionSkillAssignmentImportFails.php';
234 $qsaImportFails->registerFailedImports($importer->getFailedImportAssignmentList());
236 $this->poolOBJ->setOnline(
false);
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
static get(string $a_var)
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
importXmlRepresentation(string $a_entity, string $a_id, string $a_xml, ilImportMapping $a_mapping)
Import XML.
addMapping(string $a_comp, string $a_entity, string $a_old_id, string $a_new_id)
finalProcessing(ilImportMapping $a_mapping)
Final processing.
getMapping(string $a_comp, string $a_entity, string $a_old_id)
getMappingsOfEntity(string $a_comp, string $a_entity)
parseXmlFileNames()
Create qti and xml file name.
Legacy Content Object Parser.
static _setImportDirectory($a_import_dir=null)
set import directory
static saveUsage(int $a_tax_id, int $a_obj_id)
static getInstanceByObjId(?int $obj_id, bool $stop_on_error=true)
get an instance of an Ilias object by object id
getImportDirectoryContainer()
importQuestionSkillAssignments($xmlFile, ilImportMapping $mappingRegistry, $targetParentObjId)
static clear(string $a_var)
static set(string $a_var, $a_val)
Set a value.
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...