ILIAS  release_8 Revision v8.23
ilSCORM13MDImporter Class Reference

This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Learning e.V. More...

+ Inheritance diagram for ilSCORM13MDImporter:
+ Collaboration diagram for ilSCORM13MDImporter:

Public Member Functions

 __construct (\DOMDocument $a_manifest_dom, int $a_obj_id)
 
 setTitle (string $a_val)
 
 getTitle ()
 
 setDescription (string $a_val)
 
 getDescription ()
 
 import ()
 
 handlerBeginTag ($a_xml_parser, string $a_name, array $a_attribs)
 handler for begin of element More...
 
 handlerEndTag ($a_xml_parser, string $a_name)
 handler for end of element More...
 
 in (string $a_name)
 
- Public Member Functions inherited from ilMDXMLCopier
 __construct ($content, $a_rbac_id, $a_obj_id, $a_obj_type)
 
 startParsing ()
 
 handlerBeginTag ($a_xml_parser, string $a_name, array $a_attribs)
 
 handlerEndTag ($a_xml_parser, string $a_name)
 
 handlerCharacterData ($a_xml_parser, string $a_data)
 
 __setFilter ()
 
 __inFilter (string $a_tag_name)
 
- Public Member Functions inherited from ilMDSaxParser
 __construct (?string $a_xml_file='')
 
 enableMDParsing (bool $a_status)
 
 getMDParsingStatus ()
 
 setMDObject (ilMD $md)
 
 getMDObject ()
 
 inMetaData ()
 
 setHandlers ($a_xml_parser)
 Set event handlers. More...
 
 handlerBeginTag ($a_xml_parser, string $a_name, array $a_attribs)
 
 handlerEndTag ($a_xml_parser, string $a_name)
 
 handlerCharacterData ($a_xml_parser, string $a_data)
 
 __getCharacterData ()
 
 __pushParent (object $md_obj)
 
 __popParent ()
 
 __getParent ()
 
- Public Member Functions inherited from ilSaxParser
 __construct (?string $path_to_file='', ?bool $throw_exception=false)
 
 setXMLContent (string $a_xml_content)
 
 getXMLContent ()
 
 getInputType ()
 
 startParsing ()
 stores xml data in array More...
 
 createParser ()
 
 setHandlers ($a_xml_parser)
 
 parse ($a_xml_parser, $a_fp=null)
 

Protected Attributes

DOMDocument $manifest_dom
 
bool $metadata_found = false
 
array $path = array()
 
string $title = ""
 
string $description = ""
 
- Protected Attributes inherited from ilMDXMLCopier
bool $in_meta_data = false
 
- Protected Attributes inherited from ilMDSaxParser
bool $md_in_md = false
 
string $md_chr_data = ''
 
ilMDIdentifier $md_ide = null
 
ilMDLanguage $md_lan = null
 
ilMDDescription $md_des = null
 
ilMDLifecycle $md_lif = null
 
ilMDContribute $md_con = null
 
ilMDEntity $md_ent = null
 
ilMDMetaMetadata $md_met = null
 
ilMDTechnical $md_tec = null
 
ilMDFormat $md_for = null
 
ilMDLocation $md_loc = null
 
ilMDRequirement $md_req = null
 
ilMDOrComposite $md_orc = null
 
ilMDEducational $md_edu = null
 
ilMDTypicalAgeRange $md_typ = null
 
ilMDRights $md_rig = null
 
ilMDRelation $md_rel = null
 
ilMDIdentifier_ $md_ide_ = null
 
ilMDAnnotation $md_ann = null
 
ilMDClassification $md_cla = null
 
ilMDTaxonPath $md_taxp = null
 
ilMDTaxon $md_tax = null
 
ilMDKeyword $md_key = null
 
array $md_parent = array()
 
ilMD $md = null
 
ilMDGeneral $md_gen = null
 
ilLogger $meta_log
 
- Protected Attributes inherited from ilSaxParser
ilLanguage $lng = null
 

Additional Inherited Members

- Data Fields inherited from ilSaxParser
string $xml_file
 
bool $throw_exception = false
 
- Protected Member Functions inherited from ilMDSaxParser
 trimAndStripAttribs (array $attribs)
 
 trimAndStrip (string $input)
 
- Protected Member Functions inherited from ilSaxParser
 openXMLFile ()
 
 handleError (string $message)
 
 setThrowException (bool $throw_exception)
 

Detailed Description

This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Learning e.V.

ILIAS is licensed with the GPL-3.0, see https://www.gnu.org/licenses/gpl-3.0.en.html You should have received a copy of said license along with the source code, too.

If this is not the case or you just want to try ILIAS, you'll find us at: https://www.ilias.de https://github.com/ILIAS-eLearning SCORM 13 Metadata importer

Author
Alexander Killing killi.nosp@m.ng@l.nosp@m.eifos.nosp@m..de

Definition at line 26 of file class.ilSCORM13MDImporter.php.

Constructor & Destructor Documentation

◆ __construct()

ilSCORM13MDImporter::__construct ( \DOMDocument  $a_manifest_dom,
int  $a_obj_id 
)

Definition at line 34 of file class.ilSCORM13MDImporter.php.

References $i, ILIAS\GlobalScreen\Provider\__construct(), and ilObject\_lookupType().

35  {
36  $this->manifest_dom = $a_manifest_dom;
37  $path = new DOMXpath($a_manifest_dom);
38  $path->registerNamespace("ims", "http://www.imsproject.org/xsd/imscp_rootv1p1p2");
39  $items = $path->query("//ims:manifest/ims:metadata");
40  if ($items->length == 1) {
41  foreach ($items as $i) {
42  //echo htmlentities($a_manifest_dom->saveXML($i)); exit;
43  parent::__construct($a_manifest_dom->saveXML($i), $a_obj_id, $a_obj_id, ilObject::_lookupType($a_obj_id));
44  $this->metadata_found = true;
45  }
46  }
47  }
__construct(Container $dic, ilPlugin $plugin)
static _lookupType(int $id, bool $reference=false)
$i
Definition: metadata.php:41
+ Here is the call graph for this function:

Member Function Documentation

◆ getDescription()

ilSCORM13MDImporter::getDescription ( )

Definition at line 64 of file class.ilSCORM13MDImporter.php.

References ilUtil\stripSlashes().

Referenced by handlerEndTag().

64  : string
65  {
66  return ilUtil::stripSlashes($this->description);
67  }
static stripSlashes(string $a_str, bool $a_strip_html=true, string $a_allow="")
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ getTitle()

ilSCORM13MDImporter::getTitle ( )

Definition at line 54 of file class.ilSCORM13MDImporter.php.

References ilUtil\stripSlashes().

Referenced by handlerEndTag().

54  : string
55  {
56  return ilUtil::stripSlashes($this->title);
57  }
static stripSlashes(string $a_str, bool $a_strip_html=true, string $a_allow="")
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ handlerBeginTag()

ilSCORM13MDImporter::handlerBeginTag (   $a_xml_parser,
string  $a_name,
array  $a_attribs 
)

handler for begin of element

Parameters
XMLParser | resource$a_xml_parserreference to the xml parser

Definition at line 83 of file class.ilSCORM13MDImporter.php.

References ilMDSaxParser\__getParent(), ilMDSaxParser\__pushParent(), ilMDSaxParser\getMDParsingStatus(), and in().

83  : void
84  {
85  $this->path[] = $a_name;
86 
87  if (!$this->getMDParsingStatus()) {
88  return;
89  }
90 
91  switch ($a_name) {
92  case 'metadata':
93  $this->md_in_md = true;
94  $this->in_meta_data = true;
95  $this->__pushParent($this->md);
96  break;
97 
98  case 'general':
99  $this->md_gen = $this->md->addGeneral();
100  $this->md_gen->save();
101  $this->__pushParent($this->md_gen);
102  break;
103 
104  case 'identifier':
105  if ($this->in("general")) {
106  $par = $this->__getParent();
107  $this->md_ide = $par->addIdentifier();
108  $this->md_ide->save();
109  $this->__pushParent($this->md_ide);
110  }
111  break;
112 
113  case 'title':
114  // nothing to do here
115  break;
116 
117  case 'language':
118  if ($this->in("general")) {
119  $par = $this->__getParent();
120  $this->md_lan = $par->addLanguage();
121  $this->md_lan->save();
122  $this->__pushParent($this->md_lan);
123  }
124  break;
125 
126  case 'description':
127  $par = $this->__getParent();
128 
129  if (strtolower(get_class($par)) === 'ilmdrights' or
130  strtolower(get_class($par)) === 'ilmdannotation' or
131  strtolower(get_class($par)) === 'ilmdclassification') {
132  // todo
133  // $par->setDescriptionLanguage(new ilMDLanguageItem($a_attribs['Language']));
134  } elseif ($this->in("general")) {
135  $this->md_des = $par->addDescription();
136  $this->md_des->save();
137  $this->__pushParent($this->md_des);
138  }
139  break;
140 
141  case 'keyword':
142  if ($this->in("general")) {
143  $par = $this->__getParent();
144  $this->md_key = $par->addKeyword();
145  $this->md_key->save();
146  $this->__pushParent($this->md_key);
147  }
148  break;
149 
150  // todo
151  /*case 'Coverage':
152  $par =& $this->__getParent();
153  $par->setCoverageLanguage(new ilMDLanguageItem($a_attribs['Language']));
154  break;*/
155 
156  case 'lifeCycle':
157  $par = $this->__getParent();
158  $this->md_lif = $par->addLifecycle();
159  //$this->md_lif->setStatus($a_attribs['Status']);
160  $this->md_lif->save();
161  $this->__pushParent($this->md_lif);
162  break;
163 
164  case 'version':
165  // nothing to do here
166  break;
167 
168  /*case 'metaMetadata':
169  $par = $this->__getParent();
170  $this->md_met = $par->addMetaMetadata();
171  $this->md_met->setMetaDataScheme($a_attribs['MetadataScheme']);
172  $this->md_met->setLanguage(new ilMDLanguageItem($a_attribs['Language']));
173  $this->md_met->save();
174  $this->__pushParent($this->md_met);
175  break;*/
176 
177  // todo
178  /*case 'Contribute':
179  $par =& $this->__getParent();
180  $this->md_con =& $par->addContribute();
181  $this->md_con->setRole($a_attribs['Role']);
182  $this->md_con->save();
183  $this->__pushParent($this->md_con);
184  break;
185 
186  case 'Entity':
187  $par =& $this->__getParent();
188 
189  if(strtolower(get_class($par)) == 'ilmdcontribute')
190  {
191  $this->md_ent =& $par->addEntity();
192  $this->md_ent->save();
193  $this->__pushParent($this->md_ent);
194  break;
195  }
196  else
197  {
198  // single element in 'Annotation'
199  break;
200  }
201  case 'Date':
202  break;
203 
204 
205  case 'Technical':
206  $par =& $this->__getParent();
207  $this->md_tec =& $par->addTechnical();
208  $this->md_tec->save();
209  $this->__pushParent($this->md_tec);
210  break;
211 
212  case 'Format':
213  $par =& $this->__getParent();
214  $this->md_for =& $par->addFormat();
215  $this->md_for->save();
216  $this->__pushParent($this->md_for);
217  break;
218 
219  case 'Size':
220  break;
221 
222  case 'Location':
223  $par =& $this->__getParent();
224  $this->md_loc =& $par->addLocation();
225  $this->md_loc->setLocationType($a_attribs['Type']);
226  $this->md_loc->save();
227  $this->__pushParent($this->md_loc);
228  break;
229 
230  case 'Requirement':
231  $par =& $this->__getParent();
232  $this->md_req =& $par->addRequirement();
233  $this->md_req->save();
234  $this->__pushParent($this->md_req);
235  break;
236 
237  case 'OrComposite':
238  $par =& $this->__getParent();
239  $this->md_orc =& $par->addOrComposite();
240  $this->__pushParent($this->md_orc);
241  break;
242 
243  case 'Type':
244  break;
245 
246  case 'OperatingSystem':
247  $par =& $this->__getParent();
248  $par->setOperatingSystemName($a_attribs['Name']);
249  $par->setOperatingSystemMinimumVersion($a_attribs['MinimumVersion']);
250  $par->setOperatingSystemMaximumVersion($a_attribs['MaximumVersion']);
251  break;
252 
253  case 'Browser':
254  $par =& $this->__getParent();
255  $par->setBrowserName($a_attribs['Name']);
256  $par->setBrowserMinimumVersion($a_attribs['MinimumVersion']);
257  $par->setBrowserMaximumVersion($a_attribs['MaximumVersion']);
258  break;
259 
260  case 'InstallationRemarks':
261  $par =& $this->__getParent();
262  $par->setInstallationRemarksLanguage(new ilMDLanguageItem($a_attribs['Language']));
263  break;
264 
265  case 'OtherPlatformRequirements':
266  $par =& $this->__getParent();
267  $par->setOtherPlatformRequirementsLanguage(new ilMDLanguageItem($a_attribs['Language']));
268  break;
269 
270  case 'Duration':
271  break;
272 
273  case 'Educational':
274  $par =& $this->__getParent();
275  $this->md_edu =& $par->addEducational();
276  $this->md_edu->setInteractivityType($a_attribs['InteractivityType']);
277  $this->md_edu->setLearningResourceType($a_attribs['LearningResourceType']);
278  $this->md_edu->setInteractivityLevel($a_attribs['InteractivityLevel']);
279  $this->md_edu->setSemanticDensity($a_attribs['SemanticDensity']);
280  $this->md_edu->setIntendedEndUserRole($a_attribs['IntendedEndUserRole']);
281  $this->md_edu->setContext($a_attribs['Context']);
282  $this->md_edu->setDifficulty($a_attribs['Difficulty']);
283  $this->md_edu->save();
284  $this->__pushParent($this->md_edu);
285  break;
286 
287  case 'TypicalAgeRange':
288  $par =& $this->__getParent();
289  $this->md_typ =& $par->addTypicalAgeRange();
290  $this->md_typ->setTypicalAgeRangeLanguage(new ilMDLanguageItem($a_attribs['Language']));
291  $this->md_typ->save();
292  $this->__pushParent($this->md_typ);
293  break;
294 
295  case 'TypicalLearningTime':
296  break;
297 
298  case 'Rights':
299  $par =& $this->__getParent();
300  $this->md_rig =& $par->addRights();
301  $this->md_rig->setCosts($a_attribs['Cost']);
302  $this->md_rig->setCopyrightAndOtherRestrictions($a_attribs['CopyrightAndOtherRestrictions']);
303  $this->md_rig->save();
304  $this->__pushParent($this->md_rig);
305  break;
306 
307  case 'Relation':
308  $par =& $this->__getParent();
309  $this->md_rel =& $par->addRelation();
310  $this->md_rel->setKind($a_attribs['Kind']);
311  $this->md_rel->save();
312  $this->__pushParent($this->md_rel);
313  break;
314 
315  case 'Resource':
316  break;
317 
318  case 'Identifier_':
319  $par =& $this->__getParent();
320  $this->md_ide_ =& $par->addIdentifier_();
321  $this->md_ide_->setCatalog($a_attribs['Catalog']);
322  $this->md_ide_->setEntry($a_attribs['Entry']);
323  $this->md_ide_->save();
324  $this->__pushParent($this->md_ide_);
325  break;
326 
327  case 'Annotation':
328  $par =& $this->__getParent();
329  $this->md_ann =& $par->addAnnotation();
330  $this->md_ann->save();
331  $this->__pushParent($this->md_ann);
332  break;
333 
334  case 'Classification':
335  $par =& $this->__getParent();
336  $this->md_cla =& $par->addClassification();
337  $this->md_cla->setPurpose($a_attribs['Purpose']);
338  $this->md_cla->save();
339  $this->__pushParent($this->md_cla);
340  break;
341 
342  case 'TaxonPath':
343  $par =& $this->__getParent();
344  $this->md_taxp =& $par->addTaxonPath();
345  $this->md_taxp->save();
346  $this->__pushParent($this->md_taxp);
347  break;
348 
349  case 'Source':
350  $par =& $this->__getParent();
351  $par->setSourceLanguage(new ilMDLanguageItem($a_attribs['Language']));
352  break;
353 
354  case 'Taxon':
355  $par =& $this->__getParent();
356  $this->md_tax =& $par->addTaxon();
357  $this->md_tax->setTaxonLanguage(new ilMDLanguageItem($a_attribs['Language']));
358  $this->md_tax->setTaxonId($a_attribs['Id']);
359  $this->md_tax->save();
360  $this->__pushParent($this->md_tax);
361  break;
362  */
363 
364  case 'string':
365  $par = $this->__getParent();
366  if ($this->in("general")) {
367  if ($this->in("title")) {
368  $par->setTitleLanguage(new ilMDLanguageItem($a_attribs['language']));
369  $par->update();
370  } elseif ($this->in("description")) {
371  $this->md_des->setDescriptionLanguage(new ilMDLanguageItem($a_attribs['language']));
372  $this->md_des->update();
373  } elseif ($this->in("keyword")) {
374  $this->md_key->setKeywordLanguage(new ilMDLanguageItem($a_attribs['language']));
375  $this->md_key->update();
376  }
377  }
378  if ($this->in("lifeCycle")) {
379  if ($this->in("version")) {
380  $par->setVersionLanguage(new ilMDLanguageItem($a_attribs['language']));
381  }
382  }
383 
384  break;
385 
386  }
387  }
__pushParent(object $md_obj)
+ Here is the call graph for this function:

◆ handlerEndTag()

ilSCORM13MDImporter::handlerEndTag (   $a_xml_parser,
string  $a_name 
)

handler for end of element

Parameters
XMLParser | resource$a_xml_parserreference to the xml parser

Definition at line 393 of file class.ilSCORM13MDImporter.php.

References ilMDSaxParser\__getCharacterData(), ilMDSaxParser\__getParent(), ilMDSaxParser\__popParent(), getDescription(), ilMDSaxParser\getMDParsingStatus(), getTitle(), in(), setDescription(), and setTitle().

393  : void
394  {
395  //echo "<br>End TAG: ".$a_name;
396  unset($this->path[count($this->path) - 1]);
397 
398  if (!$this->getMDParsingStatus()) {
399  return;
400  }
401  switch ($a_name) {
402  case 'metadata':
403  $this->md_parent = array();
404  $this->md_in_md = false;
405  $this->in_meta_data = false;
406  break;
407 
408  case 'general':
409  $par = $this->__getParent();
410  $par->update();
411  $this->__popParent();
412  break;
413 
414  case 'identifier':
415  if ($this->in("general")) {
416  $par = $this->__getParent();
417  $par->update();
418  $this->__popParent();
419  }
420  break;
421 
422  case 'title':
423  // nothing to do here
424  break;
425 
426  case 'language':
427  if ($this->in("general")) {
428  $par = $this->__getParent();
429  $par->setLanguage(new ilMDLanguageItem($this->__getCharacterData()));
430  $par->update();
431  $this->__popParent();
432  }
433  break;
434 
435  case 'description':
436  $par = $this->__getParent();
437  if (strtolower(get_class($par)) === 'ilmddescription') {
438  $this->__popParent();
439  break;
440  }
441 
442  // todo
443  // $par->setDescription($this->__getCharacterData());
444  break;
445 
446  case 'keyword':
447  if ($this->in("general")) {
448  $this->__popParent();
449  }
450  break;
451 
452  // todo
453  /*case 'Coverage':
454  $par =& $this->__getParent();
455  $par->setCoverage($this->__getCharacterData());
456  break;*/
457 
458  case 'lifeCycle':
459  $par = $this->__getParent();
460  $par->update();
461  $this->__popParent();
462  break;
463 
464  case 'version':
465  // nothing to do here
466  break;
467 
468 
469  // todo
470  /*case 'Contribute':
471  $par =& $this->__getParent();
472  $par->update();
473  $this->__popParent();
474  break;
475 
476  case 'Entity':
477  $par =& $this->__getParent();
478 
479  if(strtolower(get_class($par)) == 'ilmdentity')
480  {
481  $par->setEntity($this->__getCharacterData());
482  $par->update();
483  $this->__popParent();
484  }
485  else
486  {
487  // Single element in 'Annotation'
488  $par->setEntity($this->__getCharacterData());
489  }
490  break;
491 
492  case 'Date':
493  $par =& $this->__getParent();
494  $par->setDate($this->__getCharacterData());
495  break;
496 
497  case 'Meta-Metadata':
498  $par =& $this->__getParent();
499  $par->update();
500  $this->__popParent();
501  break;
502 
503  case 'Technical':
504  $par =& $this->__getParent();
505  $par->update();
506  $this->__popParent();
507  break;
508 
509  case 'Format':
510  $par =& $this->__getParent();
511  $par->setFormat($this->__getCharacterData());
512  $par->update();
513  $this->__popParent();
514  break;
515 
516  case 'Size':
517  $par =& $this->__getParent();
518  $par->setSize($this->__getCharacterData());
519  break;
520 
521  case 'Location':
522  $par =& $this->__getParent();
523  $par->setLocation($this->__getCharacterData());
524  $par->update();
525  $this->__popParent();
526  break;
527 
528  case 'Requirement':
529  $par =& $this->__getParent();
530  $par->update();
531  $this->__popParent();
532  break;
533 
534  case 'OrComposite':
535  $this->__popParent();
536  break;
537 
538  case 'Type':
539  break;
540 
541  case 'OperatingSystem':
542  break;
543 
544  case 'Browser':
545  break;
546 
547  case 'InstallationRemarks':
548  $par =& $this->__getParent();
549  $par->setInstallationRemarks($this->__getCharacterData());
550  break;
551 
552  case 'OtherPlatformRequirements':
553  $par =& $this->__getParent();
554  $par->setOtherPlatformRequirements($this->__getCharacterData());
555  break;
556 
557  case 'Duration':
558  $par =& $this->__getParent();
559  $par->setDuration($this->__getCharacterData());
560  break;
561 
562  case 'Educational':
563  $par =& $this->__getParent();
564  $par->update();
565  $this->__popParent();
566  break;
567 
568  case 'TypicalAgeRange':
569  $par =& $this->__getParent();
570  $par->setTypicalAgeRange($this->__getCharacterData());
571  $par->update();
572  $this->__popParent();
573  break;
574 
575  case 'TypicalLearningTime':
576  $par =& $this->__getParent();
577  $par->setTypicalLearningTime($this->__getCharacterData());
578  break;
579 
580  case 'Rights':
581  $par =& $this->__getParent();
582  $par->update();
583  $this->__popParent();
584  break;
585 
586  case 'Relation':
587  $par =& $this->__getParent();
588  $par->update();
589  $this->__popParent();
590  break;
591 
592  case 'Resource':
593  break;
594 
595  case 'Identifier_':
596  $par =& $this->__getParent();
597  $par->update();
598  $this->__popParent();
599  break;
600 
601  case 'Annotation':
602  $par =& $this->__getParent();
603  $par->update();
604  $this->__popParent();
605  break;
606 
607  case 'Classification':
608  $par =& $this->__getParent();
609  $par->update();
610  $this->__popParent();
611  break;
612 
613  case 'TaxonPath':
614  $par =& $this->__getParent();
615  $par->update();
616  $this->__popParent();
617  break;
618 
619  case 'Taxon':
620  $par =& $this->__getParent();
621  $par->setTaxon($this->__getCharacterData());
622  $par->update();
623  $this->__popParent();
624  break;
625 
626  case 'Source':
627  $par =& $this->__getParent();
628  $par->setSource($this->__getCharacterData());
629  break;
630  */
631 
632  case 'string':
633  $par = $this->__getParent();
634  if ($this->in("general")) {
635  if ($this->in("title")) {
636  // set packaget title to first title
637  if ($this->getTitle() == "") {
638  $this->setTitle($this->__getCharacterData());
639  }
640 
641  // parent is General here
642  $par->setTitle($this->__getCharacterData());
643  $par->update();
644  //echo "<br>setTitle (".get_class($par)."): ".$this->__getCharacterData();
645  }
646  if ($this->in("description")) {
647  // set packaget title to first title
648  if ($this->getDescription() == "") {
649  $this->setDescription($this->__getCharacterData());
650  }
651 
652  $this->md_des->setDescription($this->__getCharacterData());
653  $this->md_des->update();
654  }
655  if ($this->in("keyword")) {
656  $par->setKeyword($this->__getCharacterData());
657  $par->update();
658  }
659  }
660  if ($this->in("lifeCycle")) {
661  if ($this->in("version")) {
662  $par->setVersion($this->__getCharacterData());
663  }
664  }
665  break;
666 
667  case 'value':
668  $par = $this->__getParent();
669  if ($this->in("general")) {
670  if ($this->in("structure")) {
671  $map = array(
672  "atomic" => "Atomic",
673  "collection" => "Collection",
674  "networked" => "Networked",
675  "linear" => "Linear",
676  "hierarchical" => "Hierarchical"
677  );
678  if (isset($map[$this->__getCharacterData()])) {
679  // parent is General here
680  $par->setStructure($map[$this->__getCharacterData()]);
681  $par->update();
682  }
683  }
684  }
685  if ($this->in("lifeCycle")) {
686  if ($this->in("status")) {
687  $map = array(
688  "draft" => "Draft",
689  "revised" => "Revised",
690  "unavailable" => "Unavailable",
691  "final" => "Final"
692  );
693  if (isset($map[$this->__getCharacterData()])) {
694  $this->md_lif->setStatus($map[$this->__getCharacterData()]);
695  $this->md_lif->update();
696  }
697  }
698  }
699  break;
700 
701  case 'catalog':
702  if ($this->in("identifier")) {
703  $this->md_ide->setCatalog($this->__getCharacterData());
704  $this->md_ide->update();
705  }
706  break;
707 
708  case 'entry':
709  if ($this->in("identifier")) {
710  $this->md_ide->setEntry($this->__getCharacterData());
711  $this->md_ide->update();
712  }
713  break;
714 
715  }
716  $this->md_chr_data = '';
717  }
+ Here is the call graph for this function:

◆ import()

ilSCORM13MDImporter::import ( )

Definition at line 69 of file class.ilSCORM13MDImporter.php.

References ilMDSaxParser\getMDObject(), and ilMDXMLCopier\startParsing().

69  : void
70  {
71  if ($this->metadata_found) {
72  $this->startParsing();
73  if ($this->getMDObject() !== null) {
74  $this->getMDObject()->update();
75  }
76  }
77  }
+ Here is the call graph for this function:

◆ in()

ilSCORM13MDImporter::in ( string  $a_name)

Definition at line 719 of file class.ilSCORM13MDImporter.php.

Referenced by handlerBeginTag(), and handlerEndTag().

719  : bool
720  {
721  // echo "<br>"; var_dump($this->path);
722  if (in_array($a_name, $this->path)) {
723  return true;
724  }
725  return false;
726  }
+ Here is the caller graph for this function:

◆ setDescription()

ilSCORM13MDImporter::setDescription ( string  $a_val)

Definition at line 59 of file class.ilSCORM13MDImporter.php.

References ilUtil\stripSlashes().

Referenced by handlerEndTag().

59  : void
60  {
61  $this->description = ilUtil::stripSlashes($a_val);
62  }
static stripSlashes(string $a_str, bool $a_strip_html=true, string $a_allow="")
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ setTitle()

ilSCORM13MDImporter::setTitle ( string  $a_val)

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

References ilUtil\stripSlashes().

Referenced by handlerEndTag().

49  : void
50  {
51  $this->title = ilUtil::stripSlashes($a_val);
52  }
static stripSlashes(string $a_str, bool $a_strip_html=true, string $a_allow="")
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

Field Documentation

◆ $description

string ilSCORM13MDImporter::$description = ""
protected

Definition at line 32 of file class.ilSCORM13MDImporter.php.

◆ $manifest_dom

DOMDocument ilSCORM13MDImporter::$manifest_dom
protected

Definition at line 28 of file class.ilSCORM13MDImporter.php.

◆ $metadata_found

bool ilSCORM13MDImporter::$metadata_found = false
protected

Definition at line 29 of file class.ilSCORM13MDImporter.php.

◆ $path

array ilSCORM13MDImporter::$path = array()
protected

Definition at line 30 of file class.ilSCORM13MDImporter.php.

◆ $title

string ilSCORM13MDImporter::$title = ""
protected

Definition at line 31 of file class.ilSCORM13MDImporter.php.


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