4 include_once(
"./Services/Export/classes/class.ilXmlImporter.php");
27 include_once(
"./Modules/LearningModule/classes/class.ilLearningModuleDataSet.php");
29 $this->ds->setDSPrefix(
"ds");
33 $this->config = $this->
getImport()->getConfig(
"Modules/LearningModule");
34 if ($this->config->getTranslationImportMode()) {
35 $this->ds->setTranslationImportMode(
36 $this->config->getTranslationLM(),
37 $this->config->getTranslationLang()
39 $cop_config = $this->
getImport()->getConfig(
"Services/COPage");
40 $cop_config->setUpdateIfExists(
true);
41 $cop_config->setForceLanguage($this->config->getTranslationLang());
42 $cop_config->setReuseOriginallyExportedMedia(
true);
43 $cop_config->setSkipInternalLinkResolve(
true);
45 $mob_config = $this->
getImport()->getConfig(
"Services/MediaObjects");
46 $mob_config->setUsePreviousImportIds(
true);
59 include_once
'./Modules/File/classes/class.ilObjFile.php';
61 $this->log->debug(
"import XML Representation");
64 if ($new_id = $a_mapping->getMapping(
'Services/Container',
'objs', $a_id)) {
66 $newObj->createLMTree();
67 $this->log->debug(
"got mapping, new id is: " . $new_id);
78 if (file_exists($xml_file)) {
81 $this->log->debug(
"imported from directory ($mess)");
82 $a_mapping->addMapping(
"Modules/LearningModule",
"lm", $a_id, $newObj->getId());
83 $a_mapping->addMapping(
"Services/Object",
"obj", $a_id, $newObj->getId());
85 $this->log->debug(
"create ilDataSetIportParser instance");
86 include_once(
"./Services/DataSet/classes/class.ilDataSetImportParser.php");
97 $this->log->debug(
"import qti data");
99 $this->qtis =
array();
100 if (is_file($qti_file)) {
101 include_once
"./Services/QTI/classes/class.ilQTIParser.php";
102 include_once(
"./Modules/Test/classes/class.ilObjTest.php");
109 $result = $qtiParser->startParsing();
110 $founditems = &$qtiParser->getFoundItems();
112 if (count($founditems) > 0) {
114 $qtiParser->setTestObject($testObj);
115 $result = $qtiParser->startParsing();
116 $this->qtis = array_merge($this->qtis, $qtiParser->getImportMapping());
128 $pg_map = $a_mapping->getMappingsOfEntity(
"Modules/LearningModule",
"pg");
130 include_once(
"./Modules/LearningModule/classes/class.ilLMPage.php");
131 include_once(
"./Modules/LearningModule/classes/class.ilLMPageObject.php");
132 $this->log->debug(
"pg map entries: " . count($pg_map));
133 foreach ($pg_map as $pg_id) {
136 $this->log->debug(
"write parent id, pg id: " . $pg_id .
", lm id: " . $lm_id);
140 foreach ($a_mapping->getMappingsOfEntity(
"Modules/LearningModule",
"lm_header_page") as $old_id => $dummy) {
141 $new_page_id = (int) $a_mapping->getMapping(
"Modules/LearningModule",
"pg", $old_id);
142 if ($new_page_id > 0) {
147 foreach ($a_mapping->getMappingsOfEntity(
"Modules/LearningModule",
"lm_footer_page") as $old_id => $dummy) {
148 $new_page_id = (int) $a_mapping->getMapping(
"Modules/LearningModule",
"pg", $old_id);
149 if ($new_page_id > 0) {
156 $link_map = $a_mapping->getMappingsOfEntity(
"Modules/LearningModule",
"link");
157 $pages = $a_mapping->getMappingsOfEntity(
"Services/COPage",
"pgl");
158 foreach ($pages as $p) {
159 $id = explode(
":", $p);
160 if (count(
$id) == 3) {
161 include_once(
"./Services/COPage/classes/class.ilPageObject.php");
163 include_once(
"./Services/COPage/classes/class.ilPageObjectFactory.php");
165 $new_page->buildDom();
168 $updated = $new_page->resolveQuestionReferences($this->qtis);
172 if ($this->config->getTranslationImportMode()) {
173 $il = $new_page->resolveIntLinks($link_map);
180 $new_page->update(
false,
true);
187 $alls_map = $a_mapping->getMappingsOfEntity(
"Modules/LearningModule",
"lm_style");
188 foreach ($alls_map as $new_lm_id => $old_style_id) {
189 $new_style_id = (int) $a_mapping->getMapping(
"Services/Style",
"sty", $old_style_id);
190 if ($new_lm_id > 0 && $new_style_id > 0) {
191 include_once(
"./Modules/LearningModule/classes/class.ilObjLearningModule.php");
193 $lm->writeStyleSheetId($new_style_id);
198 $ref_mapping = $a_mapping->getMappingsOfEntity(
'Services/Container',
'refs');
199 $lm_map = $a_mapping->getMappingsOfEntity(
"Modules/LearningModule",
"lm");
200 foreach ($lm_map as $old_lm_id => $new_lm_id) {
static _exists($a_parent_type, $a_id, $a_lang="", $a_no_cache=false)
Checks whether page exists.
getSchemaVersion()
Get schema version.
Class ilObjLearningModule.
Importer class for files.
getImportDirectory()
Get import directory.
static writeHeaderPage($a_lm_id, $a_page_id)
Write header page.
if(!array_key_exists('StateId', $_REQUEST)) $id
static writeFooterPage($a_lm_id, $a_page_id)
Write footer page.
static _lookupContObjID($a_id)
get learning module / digibook id for lm object
Manifest parser for ILIAS standard export files.
static _writeParentId($a_parent_type, $a_pg_id, $a_par_id)
Write parent id.
static getInstanceByObjId($a_obj_id, $stop_on_error=true)
get an instance of an Ilias object by object id
Create styles array
The data for the language used.
static getInstance($a_parent_type, $a_id=0, $a_old_nr=0, $a_lang="-")
Get page object instance.
LearningModule Data set class.
importXmlRepresentation($a_entity, $a_id, $a_xml, $a_mapping)
Import XML.
static getLogger($a_component_id)
Get component logger.
finalProcessing($a_mapping)
Final processing.