ILIAS  eassessment Revision 61809
 All Data Structures Namespaces Files Functions Variables Groups Pages
class.ilXmlExporter.php
Go to the documentation of this file.
1 <?php
2 /* Copyright (c) 1998-2010 ILIAS open source, Extended GPL, see docs/LICENSE */
3 
11 abstract class ilXmlExporter
12 {
13  protected $dir_relative;
14  protected $dir_absolute;
15 
22  public function __construct()
23  {
24 
25  }
26 
35  abstract public function getXmlRepresentation($a_entity, $a_target_release, $a_id);
36 
37  abstract public function init();
38 
39 
46  public function setExportDirectories($a_dir_relative, $a_dir_absolute)
47  {
48  $this->dir_relative = $a_dir_relative;
49  $this->dir_absolute = $a_dir_absolute;
50  }
51 
57  public function getRelativeExportDirectory()
58  {
59  return $this->dir_relative;
60  }
61 
67  public function getAbsoluteExportDirectory()
68  {
69  return $this->dir_absolute;
70  }
71 
80  public function getXmlExportHeadDependencies($a_entity, $a_target_release, $a_ids)
81  {
82  return array();
83  }
84 
93  public function getXmlExportTailDependencies($a_entity, $a_target_release, $a_ids)
94  {
95  return array();
96  }
97 
114  abstract public function getValidSchemaVersions($a_entity);
115 
122  public final function determineSchemaVersion($a_entity, $a_target_release)
123  {
124  $svs = $this->getValidSchemaVersions($a_entity);
125  $found = false;
126  foreach ($svs as $k => $sv)
127  {
128  if (!$found)
129  {
130  if (version_compare($sv["min"], ILIAS_VERSION_NUMERIC, "<=")
131  && ($sv["max"] == "" || version_compare($sv["max"], ILIAS_VERSION_NUMERIC, ">=")))
132  {
133  $rsv = $sv;
134  $rsv["schema_version"] = $k;
135  $found = true;
136  }
137  }
138  }
139 
140  return $rsv;
141  }
142 }
143 ?>