ILIAS  release_5-0 Revision 5.0.0-1144-gc4397b1f870
ilMediaObjectDataSet Class Reference

Media Pool Data set class. More...

+ Inheritance diagram for ilMediaObjectDataSet:
+ Collaboration diagram for ilMediaObjectDataSet:

Public Member Functions

 getSupportedVersions ()
 Get supported versions. More...
 
 getXmlNamespace ($a_entity, $a_schema_version)
 Get xml namespace. More...
 
 readData ($a_entity, $a_version, $a_ids, $a_field="")
 Read data. More...
 
 getXmlRecord ($a_entity, $a_version, $a_set)
 Get xml record. More...
 
 importRecord ($a_entity, $a_types, $a_rec, $a_mapping, $a_schema_version)
 Import record. More...
 
- Public Member Functions inherited from ilDataSet
 __construct ()
 Constructor. More...
 
 init ($a_entity, $a_schema_version)
 Init. More...
 
 getSupportedVersions ()
 Get supported version. More...
 
 readData ($a_entity, $a_version, $a_ids)
 Read data from DB. More...
 
 setExportDirectories ($a_relative, $a_absolute)
 Set export directories. More...
 
 setImportDirectory ($a_val)
 Set import directory. More...
 
 getImportDirectory ()
 Get import directory. More...
 
 setDSPrefix ($a_val)
 Set XML dataset namespace prefix. More...
 
 getDSPrefix ()
 Get XML dataset namespace prefix. More...
 
 getDSPrefixString ()
 
 getDirectDataFromQuery ($a_query, $a_convert_to_leading_upper=true)
 Get data from query.This is a standard procedure, all db field names are directly mapped to abstract fields. More...
 
 convertToLeadingUpper ($a_str)
 Make xyz_abc a XyzAbc string. More...
 
 getJsonRepresentation ()
 Get json representation. More...
 
 getXmlRepresentation ($a_entity, $a_schema_version, $a_ids, $a_field="", $a_omit_header=false, $a_omit_types=false)
 Get xml representation <dataset install_id="123" install_url="..."> <types entity="table_name" version="4.0.1"> <ftype name="field_1" type="text" > <ftype name="field_2" type="date" > <ftype name="field_3" type="integer" > </types> <types ...> ... </types> <set entity="table_name"> <rec> <field_1>content</field_1> <field_2>my_date</field_2> <field_3>my_number</field_3> </rec> ... </set> </dataset> More...
 
 addRecordsXml ($a_writer, $a_prefixes, $a_entity, $a_schema_version, $a_ids, $a_field="")
 Add records xml. More...
 
 afterXmlRecordWriting ($a_entity, $a_version, $a_set)
 After xml record writing hook record. More...
 
 getNamespaces (&$namespaces, $a_entity, $a_schema_version)
 Get xml namespaces. More...
 
 getXmlRecord ($a_entity, $a_version, $a_set)
 Get xml record for version. More...
 
 getJsonRecord ($a_set)
 Get json record for version. More...
 
 getXmlTypes ($a_entity, $a_version)
 Get xml types. More...
 
 getJsonTypes ($a_entity, $a_version)
 Get json types. More...
 
 getXMLEntityName ($a_entity, $a_version)
 Get entity name for xml (may be overwritten) More...
 
 getXMLEntityTag ($a_entity, $a_schema_version)
 Get entity tag. More...
 
 getJsonEntityName ($a_entity, $a_version)
 Get entity name for json (may be overwritten) More...
 
 setImport ($a_val)
 Set import object. More...
 
 getImport ()
 Get import object. More...
 

Protected Member Functions

 getTypes ($a_entity, $a_version)
 Get field types for entity. More...
 
 getDependencies ($a_entity, $a_version, $a_rec, $a_ids)
 Determine the dependent sets of data. More...
 
- Protected Member Functions inherited from ilDataSet
 getTypes ($a_entity, $a_version)
 Get (abstract) types for (abstract) field names. More...
 
 getXmlNamespace ($a_entity, $a_schema_version)
 Get xml namespace. More...
 
 createObjectExportId ($a_type, $a_id)
 Build ilias export id. More...
 
 parseObjectExportId ($a_id, $a_fallback_id=NULL)
 Parse export id. More...
 

Additional Inherited Members

- Data Fields inherited from ilDataSet
 $dircnt
 
const EXPORT_NO_INST_ID = 1
 
const EXPORT_ID_ILIAS_LOCAL = 2
 
const EXPORT_ID_ILIAS_LOCAL_INVALID = 3
 
const EXPORT_ID_ILIAS_REMOTE = 4
 
const EXPORT_ID_ILIAS_REMOTE_INVALID = 5
 
const EXPORT_ID = 6
 
const EXPORT_ID_INVALID = 7
 

Detailed Description

Media Pool Data set class.

This class implements the following entities:

  • mob: object data
  • mob_media_item: data from table media_item
  • mob_mi_map_area: data from a table map_area
  • mob_mi_parameter: data from a table mob_parameter
Author
Alex Killing alex..nosp@m.kill.nosp@m.ing@g.nosp@m.mx.d.nosp@m.e
Version
$Id$

Definition at line 19 of file class.ilMediaObjectDataSet.php.

Member Function Documentation

◆ getDependencies()

ilMediaObjectDataSet::getDependencies (   $a_entity,
  $a_version,
  $a_rec,
  $a_ids 
)
protected

Determine the dependent sets of data.

Definition at line 237 of file class.ilMediaObjectDataSet.php.

238 {
239 switch ($a_entity)
240 {
241 case "mob":
242 return array (
243 "mob_media_item" => array("ids" => $a_rec["Id"])
244 );
245
246 case "mob_media_item":
247 return array (
248 "mob_mi_map_area" => array("ids" => $a_rec["Id"]),
249 "mob_mi_parameter" => array("ids" => $a_rec["Id"])
250 );
251 }
252 return false;
253 }

◆ getSupportedVersions()

ilMediaObjectDataSet::getSupportedVersions ( )

Get supported versions.

Parameters

return

Reimplemented from ilDataSet.

Definition at line 27 of file class.ilMediaObjectDataSet.php.

28 {
29 return array("4.3.0", "4.1.0");
30 }

◆ getTypes()

ilMediaObjectDataSet::getTypes (   $a_entity,
  $a_version 
)
protected

Get field types for entity.

Parameters

return

Reimplemented from ilDataSet.

Definition at line 49 of file class.ilMediaObjectDataSet.php.

50 {
51 // mob
52 if ($a_entity == "mob")
53 {
54 switch ($a_version)
55 {
56 case "4.1.0":
57 case "4.3.0":
58 return array(
59 "Id" => "integer",
60 "Title" => "text",
61 "Description" => "text",
62 "Dir" => "directory"
63 );
64 }
65 }
66
67 // media item
68 if ($a_entity == "mob_media_item")
69 {
70 switch ($a_version)
71 {
72 case "4.1.0":
73 return array(
74 "Id" => "integer",
75 "MobId" => "integer",
76 "Width" => "integer",
77 "Height" => "integer",
78 "Halign" => "text",
79 "Caption" => "text",
80 "Nr" => "integer",
81 "Purpose" => "text",
82 "Location" => "text",
83 "LocationType" => "text",
84 "Format" => "text",
85 "TextRepresentation" => "text"
86 );
87
88 case "4.3.0":
89 return array(
90 "Id" => "integer",
91 "MobId" => "integer",
92 "Width" => "integer",
93 "Height" => "integer",
94 "Halign" => "text",
95 "Caption" => "text",
96 "Nr" => "integer",
97 "Purpose" => "text",
98 "Location" => "text",
99 "LocationType" => "text",
100 "Format" => "text",
101 "TextRepresentation" => "text"
102 );
103 }
104 }
105
106 // map areas
107 if ($a_entity == "mob_mi_map_area")
108 {
109 switch ($a_version)
110 {
111 case "4.1.0":
112 case "4.3.0":
113 return array(
114 "MiId" => "integer",
115 "Nr" => "integer",
116 "Shape" => "text",
117 "Coords" => "text",
118 "LinkType" => "text",
119 "Title" => "text",
120 "Href" => "text",
121 "Target" => "text",
122 "Type" => "text",
123 "TargetFrame" => "text",
124 "HighlightMode" => "text",
125 "HighlightText" => "text"
126 );
127 }
128 }
129
130 // media item parameter
131 if ($a_entity == "mob_mi_parameter")
132 {
133 switch ($a_version)
134 {
135 case "4.1.0":
136 case "4.3.0":
137 return array(
138 "MiId" => "integer",
139 "Name" => "text",
140 "Value" => "text"
141 );
142 }
143 }
144 }

◆ getXmlNamespace()

ilMediaObjectDataSet::getXmlNamespace (   $a_entity,
  $a_schema_version 
)

Get xml namespace.

Parameters

return

Reimplemented from ilDataSet.

Definition at line 38 of file class.ilMediaObjectDataSet.php.

39 {
40 return "http://www.ilias.de/xml/Services/MediaObject/".$a_entity;
41 }

◆ getXmlRecord()

ilMediaObjectDataSet::getXmlRecord (   $a_entity,
  $a_version,
  $a_set 
)

Get xml record.

Parameters

return

Reimplemented from ilDataSet.

Definition at line 261 of file class.ilMediaObjectDataSet.php.

262 {
263 if ($a_entity == "mob")
264 {
265 include_once("./Services/MediaObjects/classes/class.ilObjMediaObject.php");
266 $dir = ilObjMediaObject::_getDirectory($a_set["Id"]);
267 $a_set["Dir"] = $dir;
268 }
269
270 return $a_set;
271 }
_getDirectory($a_mob_id)
get directory for files of media object (static)

References ilObjMediaObject\_getDirectory().

+ Here is the call graph for this function:

◆ importRecord()

ilMediaObjectDataSet::importRecord (   $a_entity,
  $a_types,
  $a_rec,
  $a_mapping,
  $a_schema_version 
)

Import record.

Parameters

return

Definition at line 279 of file class.ilMediaObjectDataSet.php.

280 {
281//echo $a_entity;
282//var_dump($a_rec);
283
284 switch ($a_entity)
285 {
286 case "mob":
287
288//var_dump($a_rec);
289
290 include_once("./Services/MediaObjects/classes/class.ilObjMediaObject.php");
291 $newObj = new ilObjMediaObject();
292 $newObj->setType("mob");
293 $newObj->setTitle($a_rec["Title"]);
294 $newObj->setDescription($a_rec["Description"]);
295 $newObj->create();
296 $newObj->createDirectory();
298 $this->current_mob = $newObj;
299
300 $dir = str_replace("..", "", $a_rec["Dir"]);
301 if ($dir != "" && $this->getImportDirectory() != "")
302 {
303 $source_dir = $this->getImportDirectory()."/".$dir;
304 $target_dir = $dir = ilObjMediaObject::_getDirectory($newObj->getId());
305 ilUtil::rCopy($source_dir, $target_dir);
307 include_once("./Services/MediaObjects/classes/class.ilMediaSvgSanitizer.php");
308 ilMediaSvgSanitizer::sanitizeDir($target_dir); // see #20339
309 }
310
311 $a_mapping->addMapping("Services/MediaObjects", "mob", $a_rec["Id"], $newObj->getId());
312//echo "<br>++add++"."0:".$a_rec["Id"].":mob+0:".$newObj->getId().":mob"."+";
313 $a_mapping->addMapping("Services/MetaData", "md",
314 "0:".$a_rec["Id"].":mob", "0:".$newObj->getId().":mob");
315 break;
316
317 case "mob_media_item":
318
319 // determine parent mob
320 include_once("./Services/MediaObjects/classes/class.ilObjMediaObject.php");
321 $mob_id = (int) $a_mapping->getMapping("Services/MediaObjects", "mob", $a_rec["MobId"]);
322 if (is_object($this->current_mob) && $this->current_mob->getId() == $mob_id)
323 {
324 $mob = $this->current_mob;
325 }
326 else
327 {
328 $mob = new ilObjMediaObject($mob_id);
329 }
330
331 include_once("./Services/MediaObjects/classes/class.ilMediaItem.php");
332 $newObj = new ilMediaItem();
333 $newObj->setMobId($mob_id);
334 $newObj->setWidth($a_rec["Width"]);
335 $newObj->setHeight($a_rec["Height"]);
336 $newObj->setCaption($a_rec["Caption"]);
337 $newObj->setNr($a_rec["Nr"]);
338 $newObj->setPurpose($a_rec["Purpose"]);
339 $newObj->setLocation($a_rec["Location"]);
340 $newObj->setLocationType($a_rec["LocationType"]);
341 $newObj->setFormat($a_rec["Format"]);
342 $newObj->setTextRepresentation($a_rec["TextRepresentation"]);
343 $newObj->create();
344 $this->current_media_item = $newObj;
345
346 $a_mapping->addMapping("Services/MediaObjects", "mob_media_item", $a_rec["Id"], $newObj->getId());
347
348 break;
349
350 case "mob_mi_parameter":
351
352 // get media item
353 include_once("./Services/MediaObjects/classes/class.ilMediaItem.php");
354 $med_id = (int) $a_mapping->getMapping("Services/MediaObjects", "mob_media_item", $a_rec["MiId"]);
355 if (is_object($this->current_media_item) && $this->current_media_item->getId() == $med_id)
356 {
357 $med = $this->current_media_item;
358 }
359 else
360 {
361 $med = new ilMediaItem($med_id);
362 }
363 $med->writeParameter($a_rec["Name"], $a_rec["Value"]);
364
365 break;
366
367 case "mob_mi_map_area":
368 // get media item
369 include_once("./Services/MediaObjects/classes/class.ilMediaItem.php");
370 $med_id = (int) $a_mapping->getMapping("Services/MediaObjects", "mob_media_item", $a_rec["MiId"]);
371 if (is_object($this->current_media_item) && $this->current_media_item->getId() == $med_id)
372 {
373 $med = $this->current_media_item;
374 }
375 else
376 {
377 $med = new ilMediaItem($med_id);
378 }
379
380 include_once("./Services/MediaObjects/classes/class.ilMapArea.php");
381 $map_area = new ilMapArea();
382 $map_area->setItemId($med_id);
383 $map_area->setNr($a_rec["Nr"]);
384 $map_area->setShape($a_rec["Shape"]);
385 $map_area->setCoords($a_rec["Coords"]);
386 $map_area->setLinkType($a_rec["LinkType"]);
387 $map_area->setTitle($a_rec["Title"]);
388 $map_area->setHref($a_rec["Href"]);
389 $map_area->setTarget($a_rec["Target"]);
390 $map_area->setType($a_rec["Type"]);
391 $map_area->setTargetFrame($a_rec["TargetFrame"]);
392 $map_area->setHighlightMode($a_rec["HighlightMode"]);
393 $map_area->setHighlightClass($a_rec["HighlightClass"]);
394 $map_area->create();
395
396 break;
397 }
398 }
getImportDirectory()
Get import directory.
Class ilMapArea.
Class ilMediaItem.
static sanitizeDir($a_path)
Sanitize directory recursively.
Class ilObjMediaObject.
_createThumbnailDirectory($a_obj_id)
Create thumbnail directory.
static renameExecutables($a_dir)
Rename executables.
static rCopy($a_sdir, $a_tdir, $preserveTimeAttributes=false)
Copies content of a directory $a_sdir recursively to a directory $a_tdir.

References ilObjMediaObject\_createThumbnailDirectory(), ilObjMediaObject\_getDirectory(), ilDataSet\getImportDirectory(), ilUtil\rCopy(), ilObjMediaObject\renameExecutables(), and ilMediaSvgSanitizer\sanitizeDir().

+ Here is the call graph for this function:

◆ readData()

ilMediaObjectDataSet::readData (   $a_entity,
  $a_version,
  $a_ids,
  $a_field = "" 
)

Read data.

Parameters

return

Definition at line 152 of file class.ilMediaObjectDataSet.php.

153 {
154 global $ilDB;
155
156 if (!is_array($a_ids))
157 {
158 $a_ids = array($a_ids);
159 }
160
161 // mob
162 if ($a_entity == "mob")
163 {
164 $this->data = array();
165
166 foreach ($a_ids as $mob_id)
167 {
168 if (ilObject::_lookupType($mob_id) == "mob")
169 {
170 $this->data[] = array ("Id" => $mob_id,
171 "Title" => ilObject::_lookupTitle($mob_id),
172 "Description" => ilObject::_lookupDescription($mob_id));
173 }
174 }
175 }
176
177 // media item
178 if ($a_entity == "mob_media_item")
179 {
180 switch ($a_version)
181 {
182 case "4.1.0":
183 $this->getDirectDataFromQuery("SELECT id, mob_id, width, height, halign,".
184 "caption, nr, purpose, location, location_type, format, text_representation".
185 " FROM media_item WHERE ".
186 $ilDB->in("mob_id", $a_ids, false, "integer"));
187 break;
188
189 case "4.3.0":
190 $this->getDirectDataFromQuery("SELECT id, mob_id, width, height, halign,".
191 "caption, nr, purpose, location, location_type, format, text_representation".
192 " FROM media_item WHERE ".
193 $ilDB->in("mob_id", $a_ids, false, "integer"));
194 break;
195 }
196 }
197
198
199 // media item map area
200 if ($a_entity == "mob_mi_map_area")
201 {
202 switch ($a_version)
203 {
204 case "4.1.0":
205 case "4.3.0":
206 $this->getDirectDataFromQuery("SELECT item_id mi_id, nr".
207 " ,shape, coords, link_type, title, href, target, type, target_frame, ".
208 " highlight_mode, highlight_class".
209 " FROM map_area ".
210 " WHERE ".
211 $ilDB->in("item_id", $a_ids, false, "integer").
212 " ORDER BY nr");
213 break;
214 }
215 }
216
217 // media item parameter
218 if ($a_entity == "mob_mi_parameter")
219 {
220 switch ($a_version)
221 {
222 case "4.1.0":
223 case "4.3.0":
224 $this->getDirectDataFromQuery("SELECT med_item_id mi_id, name, value".
225 " FROM mob_parameter ".
226 " WHERE ".
227 $ilDB->in("med_item_id", $a_ids, false, "integer"));
228 break;
229 }
230 }
231
232 }
getDirectDataFromQuery($a_query, $a_convert_to_leading_upper=true)
Get data from query.This is a standard procedure, all db field names are directly mapped to abstract ...
static _lookupTitle($a_id)
lookup object title
static _lookupDescription($a_id)
lookup object description
static _lookupType($a_id, $a_reference=false)
lookup object type
global $ilDB

References $ilDB, ilObject\_lookupDescription(), ilObject\_lookupTitle(), ilObject\_lookupType(), and ilDataSet\getDirectDataFromQuery().

+ Here is the call graph for this function:

The documentation for this class was generated from the following file: