ILIAS  release_5-0 Revision 5.0.0-1144-gc4397b1f870
All Data Structures Namespaces Files Functions Variables Modules Pages
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 
4 include_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 ?>
getSchemaVersion()
Get schema version.
COPage Data set class.
finalProcessing($a_mapping)
Final processing.
Manifest parser for ILIAS standard export files.
init()
Initialisation.
static _exists($a_parent_type, $a_id, $a_lang="")
Checks whether page exists.
Importer class for pages.
importXmlRepresentation($a_entity, $a_id, $a_xml, $a_mapping)
Import XML.
static getInstance($a_parent_type, $a_id=0, $a_old_nr=0, $a_lang="-")
Get page object instance.
Xml importer class.