ILIAS  release_5-0 Revision 5.0.0-1144-gc4397b1f870
class.ilCOPageImporter.php
Go to the documentation of this file.
1<?php
2/* Copyright (c) 1998-2009 ILIAS open source, Extended GPL, see docs/LICENSE */
3
4include_once("./Services/Export/classes/class.ilXmlImporter.php");
5
14{
18 function init()
19 {
20 include_once("./Services/COPage/classes/class.ilCOPageDataSet.php");
21 $this->ds = new ilCOPageDataSet();
22 $this->ds->setDSPrefix("ds");
23 }
24
25
32 function importXmlRepresentation($a_entity, $a_id, $a_xml, $a_mapping)
33 {
34
35 if ($a_entity == "pgtp")
36 {
37 include_once("./Services/DataSet/classes/class.ilDataSetImportParser.php");
38 $parser = new ilDataSetImportParser($a_entity, $this->getSchemaVersion(),
39 $a_xml, $this->ds, $a_mapping);
40 }
41
42 if ($a_entity == "pg")
43 {
44 $pg_id = $a_mapping->getMapping("Services/COPage", "pg", $a_id);
45
46 if ($pg_id != "")
47 {
48 $id = explode(":", $pg_id);
49 if (count($id) == 2)
50 {
51 include_once("./Services/COPage/classes/class.ilPageObjectFactory.php");
52 $new_page = ilPageObjectFactory::getInstance($id[0]);
53 $new_page->setImportMode(true);
54 $new_page->setId($id[1]);
55 $new_page->setXMLContent($a_xml);
56 //$new_page->saveMobUsage($a_xml); (will be done in final processing)
57 $new_page->createFromXML();
58 }
59 }
60 }
61 }
62
68 function finalProcessing($a_mapping)
69 {
70 $pages = $a_mapping->getMappingsOfEntity("Services/COPage", "pg");
71 $media_objects = $a_mapping->getMappingsOfEntity("Services/MediaObjects", "mob");
72 $file_objects = $a_mapping->getMappingsOfEntity("Modules/File", "file");
73 if (count($media_objects) > 0 || count($file_objects) > 0)
74 {
75 foreach ($pages as $p)
76 {
77 $id = explode(":", $p);
78 if (count($id) == 2)
79 {
80 include_once("./Services/COPage/classes/class.ilPageObject.php");
81 if (ilPageObject::_exists($id[0], $id[1]))
82 {
83 include_once("./Services/COPage/classes/class.ilPageObjectFactory.php");
84 $new_page = ilPageObjectFactory::getInstance($id[0], $id[1]);
85 $new_page->buildDom();
86 $med = $new_page->resolveMediaAliases($media_objects);
87 $fil = $new_page->resolveFileItems($file_objects);
88
89 if ($med || $fil)
90 {
91 $new_page->update(false, true);
92 }
93 }
94 }
95 }
96 }
97 }
98}
99
100?>
COPage Data set class.
Importer class for pages.
finalProcessing($a_mapping)
Final processing.
importXmlRepresentation($a_entity, $a_id, $a_xml, $a_mapping)
Import XML.
Manifest parser for ILIAS standard export files.
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="")
Checks whether page exists.
Xml importer class.
getSchemaVersion()
Get schema version.