ILIAS  release_5-3 Revision v5.3.23-19-g915713cf615
class.ilTestQuestionPoolExporter.php
Go to the documentation of this file.
1<?php
2/* Copyright (c) 1998-2013 ILIAS open source, Extended GPL, see docs/LICENSE */
3
4include_once("./Services/Export/classes/class.ilXmlExporter.php");
5
14{
15 private $ds;
16
20 public function init()
21 {
22 }
23
30 public static function lookupExportDirectory($a_obj_type, $a_obj_id, $a_export_type = 'xml', $a_entity = "")
31 {
32 if ($a_export_type == 'xml') {
33 return ilUtil::getDataDir() . "/qpl_data" . "/qpl_" . $a_obj_id . "/export_zip";
34 }
35 return ilUtil::getDataDir() . "/qpl_data" . "/qpl_" . $a_obj_id . "/export_" . $a_export_type;
36 }
37
38
47 public function getXmlRepresentation($a_entity, $a_schema_version, $a_id)
48 {
49 include_once './Modules/TestQuestionPool/classes/class.ilObjQuestionPool.php';
50 $qpl = new ilObjQuestionPool($a_id, false);
51 $qpl->loadFromDb();
52
53 include_once("./Modules/TestQuestionPool/classes/class.ilQuestionpoolExport.php");
54 $qpl_exp = new ilQuestionpoolExport($qpl, 'xml');
55 $zip = $qpl_exp->buildExportFile();
56
57 $GLOBALS['ilLog']->write(__METHOD__ . ': Created zip file ' . $zip);
58 }
59
68 public function getXmlExportTailDependencies($a_entity, $a_target_release, $a_ids)
69 {
70 if ($a_entity == 'qpl') {
71 $deps = array();
72
73 $taxIds = $this->getDependingTaxonomyIds($a_ids);
74
75 if (count($taxIds)) {
76 $deps[] = array(
77 'component' => 'Services/Taxonomy',
78 'entity' => 'tax',
79 'ids' => $taxIds
80 );
81 }
82
83 return $deps;
84 }
85
86 return parent::getXmlExportTailDependencies($a_entity, $a_target_release, $a_ids);
87 }
88
93 private function getDependingTaxonomyIds($poolObjIds)
94 {
95 include_once 'Services/Taxonomy/classes/class.ilObjTaxonomy.php';
96
97 $taxIds = array();
98
99 foreach ($poolObjIds as $poolObjId) {
100 foreach (ilObjTaxonomy::getUsageOfObject($poolObjId) as $taxId) {
101 $taxIds[$taxId] = $taxId;
102 }
103 }
104
105 return $taxIds;
106 }
107
115 public function getValidSchemaVersions($a_entity)
116 {
117 return array(
118 "4.1.0" => array(
119 "namespace" => "http://www.ilias.de/Modules/TestQuestionPool/htlm/4_1",
120 "xsd_file" => "ilias_qpl_4_1.xsd",
121 "uses_dataset" => false,
122 "min" => "4.1.0",
123 "max" => "")
124 );
125 }
126}
An exception for terminatinating execution or to throw for unit testing.
static getUsageOfObject($a_obj_id, $a_include_titles=false)
Get usage of object.
Export class for questionpools.
Used for container export with tests.
getXmlExportTailDependencies($a_entity, $a_target_release, $a_ids)
Get tail dependencies.
getValidSchemaVersions($a_entity)
Returns schema versions that the component can export to.
getXmlRepresentation($a_entity, $a_schema_version, $a_id)
Get xml representation.
static lookupExportDirectory($a_obj_type, $a_obj_id, $a_export_type='xml', $a_entity="")
Overwritten for qpl.
static getDataDir()
get data directory (outside webspace)
Xml Exporter class.
$GLOBALS['loaded']
Global hash that tracks already loaded includes.