ILIAS  release_5-0 Revision 5.0.0-1144-gc4397b1f870
All Data Structures Namespaces Files Functions Variables Modules Pages
class.ilCategoryExporter.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.ilXmlExporter.php';
5 
13 {
22  public function getXmlExportHeadDependencies($a_entity, $a_target_release, $a_ids)
23  {
24  include_once './Services/Export/classes/class.ilExportOptions.php';
26 
27  $obj_id = end($a_ids);
28 
29 
30  $GLOBALS['ilLog']->write(__METHOD__.': '.$obj_id);
31  if($eo->getOption(ilExportOptions::KEY_ROOT) != $obj_id)
32  {
33  return array();
34  }
35 
36  if(count(ilExportOptions::getInstance()->getSubitemsForExport()) > 1)
37  {
38  return array(
39  array(
40  'component' => 'Services/Container',
41  'entity' => 'struct',
42  'ids' => $a_ids
43  )
44  );
45  }
46  return array();
47  }
48 
57  function getXmlExportTailDependencies($a_entity, $a_target_release, $a_ids)
58  {
59  if ($a_entity == "cat")
60  {
61  include_once("./Services/Taxonomy/classes/class.ilObjTaxonomy.php");
62  $tax_ids = array();
63  foreach ($a_ids as $id)
64  {
65  $t_ids = ilObjTaxonomy::getUsageOfObject($id);
66  if (count($t_ids) > 0)
67  {
68  $tax_ids[$t_ids[0]] = $t_ids[0];
69  }
70  }
71 
72  return array (
73  array(
74  "component" => "Services/Taxonomy",
75  "entity" => "tax",
76  "ids" => $tax_ids)
77  );
78  }
79  return array();
80  }
81 
89  public function getXmlRepresentation($a_entity, $a_schema_version, $a_id)
90  {
91  $cat_ref_id = end(ilObject::_getAllReferences($a_id));
92  $category = ilObjectFactory::getInstanceByRefId($cat_ref_id,false);
93 
94  if(!$category instanceof ilObjCategory)
95  {
96  $GLOBALS['ilLog']->write(__METHOD__. $a_id . ' is not instance of type category!');
97  return '';
98  }
99 
100  include_once './Modules/Category/classes/class.ilCategoryXmlWriter.php';
101 
102  $writer = new ilCategoryXmlWriter($category);
103  $writer->setMode(ilCategoryXmlWriter::MODE_EXPORT);
104  $writer->export(false);
105  return $writer->getXml();
106  }
107 
115  public function getValidSchemaVersions($a_entity)
116  {
117  return array (
118  "4.3.0" => array(
119  "namespace" => "http://www.ilias.de/Modules/Category/cat/4_3",
120  "xsd_file" => "ilias_cat_4_3.xsd",
121  "uses_dataset" => false,
122  "min" => "4.3.0",
123  "max" => "")
124  );
125  }
126 
130  public function init() {
131 
132  }
133 
134 }
135 ?>
getValidSchemaVersions($a_entity)
Returns schema versions that the component can export to.
Class for category export.
getInstanceByRefId($a_ref_id, $stop_on_error=true)
get an instance of an Ilias object by reference id
getXmlExportHeadDependencies($a_entity, $a_target_release, $a_ids)
Get head dependencies.
static getUsageOfObject($a_obj_id, $a_include_titles=false)
Get usage of object.
getXmlRepresentation($a_entity, $a_schema_version, $a_id)
Get xml.
static getInstance()
Get singelton instance.
Class for category export.
getXmlExportTailDependencies($a_entity, $a_target_release, $a_ids)
Get tail dependencies.
static _getAllReferences($a_id)
get all reference ids of object
Xml Exporter class.
$GLOBALS['ct_recipient']
Class ilObjCategory.