4include_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) {
 
An exception for terminatinating execution or to throw for unit testing.
Manifest parser for ILIAS standard export files.
static _lookupContObjID($a_id)
get learning module / digibook id for lm object
LearningModule Data set class.
Importer class for files.
importXmlRepresentation($a_entity, $a_id, $a_xml, $a_mapping)
Import XML.
finalProcessing($a_mapping)
Final processing.
static getLogger($a_component_id)
Get component logger.
static writeHeaderPage($a_lm_id, $a_page_id)
Write header page.
static writeFooterPage($a_lm_id, $a_page_id)
Write footer page.
Class ilObjLearningModule.
static getInstanceByObjId($a_obj_id, $stop_on_error=true)
get an instance of an Ilias object by object id
static getInstance($a_parent_type, $a_id=0, $a_old_nr=0, $a_lang="-")
Get page object instance.
static _exists($a_parent_type, $a_id, $a_lang="", $a_no_cache=false)
Checks whether page exists.
static _writeParentId($a_parent_type, $a_pg_id, $a_par_id)
Write parent id.
getSchemaVersion()
Get schema version.
getImportDirectory()
Get import directory.
if(!array_key_exists('StateId', $_REQUEST)) $id