ILIAS  release_5-3 Revision v5.3.23-19-g915713cf615
class.ilUserExporter.php
Go to the documentation of this file.
1 <?php
2 /* Copyright (c) 1998-2012 ILIAS open source, Extended GPL, see docs/LICENSE */
3 
4 include_once("./Services/Export/classes/class.ilXmlExporter.php");
5 
17 {
18  private $ds;
19 
23  public function init()
24  {
25  include_once("./Services/User/classes/class.ilUserDataSet.php");
26  $this->ds = new ilUserDataSet();
27  $this->ds->setExportDirectories($this->dir_relative, $this->dir_absolute);
28  $this->ds->setDSPrefix("ds");
29  }
30 
39  public function getXmlExportTailDependencies($a_entity, $a_target_release, $a_ids)
40  {
41  if ($a_entity == "personal_data") {
42  include_once("./Services/Calendar/classes/class.ilCalendarCategories.php");
43  $cal_ids = array();
44  foreach ($a_ids as $user_id) {
45  foreach (ilCalendarCategories::lookupPrivateCategories($user_id) as $ct) {
46  $cal_ids[] = $ct["cat_id"];
47  }
48  }
49 
50  return array(
51  array(
52  "component" => "Services/User",
53  "entity" => "usr_profile",
54  "ids" => $a_ids),
55  array(
56  "component" => "Services/User",
57  "entity" => "usr_multi",
58  "ids" => $a_ids),
59  array(
60  "component" => "Services/User",
61  "entity" => "usr_setting",
62  "ids" => $a_ids),
63  array(
64  "component" => "Services/Bookmarks",
65  "entity" => "bookmarks",
66  "ids" => $a_ids),
67  array(
68  "component" => "Services/Notes",
69  "entity" => "user_notes",
70  "ids" => $a_ids),
71  array(
72  "component" => "Services/Calendar",
73  "entity" => "calendar",
74  "ids" => $cal_ids)
75  );
76  }
77 
78  return parent::getXmlExportTailDependencies($a_entity, $a_target_release, $a_ids);
79  }
80 
89  public function getXmlRepresentation($a_entity, $a_schema_version, $a_id)
90  {
91  $this->ds->setExportDirectories($this->dir_relative, $this->dir_absolute);
92  return $this->ds->getXmlRepresentation($a_entity, $a_schema_version, $a_id, "", true, true);
93  }
94 
102  public function getValidSchemaVersions($a_entity)
103  {
104  return array(
105  "4.3.0" => array(
106  "namespace" => "http://www.ilias.de/Services/User/usr/4_3",
107  "xsd_file" => "ilias_usr_4_3.xsd",
108  "uses_dataset" => true,
109  "min" => "4.3.0",
110  "max" => "4.4.99"),
111  "5.1.0" => array(
112  "namespace" => "http://www.ilias.de/Services/User/usr/5_1",
113  "xsd_file" => "ilias_usr_5_1.xsd",
114  "uses_dataset" => true,
115  "min" => "5.1.0",
116  "max" => "5.1.99"),
117  "5.2.0" => array(
118  "namespace" => "http://www.ilias.de/Services/User/usr/5_2",
119  "xsd_file" => "ilias_usr_5_2.xsd",
120  "uses_dataset" => true,
121  "min" => "5.2.0",
122  "max" => "5.2.99"),
123  "5.3.0" => array(
124  "namespace" => "http://www.ilias.de/Services/User/usr/5_3",
125  "xsd_file" => "ilias_usr_5_3.xsd",
126  "uses_dataset" => true,
127  "min" => "5.3.0",
128  "max" => "")
129  );
130  }
131 }
getXmlRepresentation($a_entity, $a_schema_version, $a_id)
Get xml representation.
Xml Exporter class.
getValidSchemaVersions($a_entity)
Returns schema versions that the component can export to.
init()
Initialisation.
Exporter class for user data Note: this is currently NOT used for the classic user export/import It i...
Exercise data set class.
Create styles array
The data for the language used.
getXmlExportTailDependencies($a_entity, $a_target_release, $a_ids)
Get tail dependencies.
static lookupPrivateCategories($a_user_id)
Lookup private categories of user.