ILIAS  release_4-3 Revision
 All Data Structures Namespaces Files Functions Variables Groups Pages
class.ilSCORM2004NodeFactory.php
Go to the documentation of this file.
1 <?php
2 
3 /* Copyright (c) 1998-2010 ILIAS open source, Extended GPL, see docs/LICENSE */
4 
5 require_once ("./Modules/Scorm2004/classes/class.ilSCORM2004PageNode.php");
6 require_once ("./Modules/Scorm2004/classes/class.ilSCORM2004Chapter.php");
7 require_once ("./Modules/Scorm2004/classes/class.ilSCORM2004SeqChapter.php");
8 require_once ("./Modules/Scorm2004/classes/class.ilSCORM2004Sco.php");
9 require_once ("./Modules/Scorm2004/classes/class.ilSCORM2004Asset.php");
10 
22 {
23  static function getInstance($a_slm_object, $a_id = 0, $a_halt = true)
24  {
25  global $ilias, $ilDB;
26 
27  $query = "SELECT * FROM sahs_sc13_tree_node WHERE obj_id = ".
28  $ilDB->quote($a_id, "integer");
29  $obj_set = $ilDB->query($query);
30  $obj_rec = $ilDB->fetchAssoc($obj_set);
31  $obj = null;
32  switch($obj_rec["type"])
33  {
34  case "chap":
35  $obj =& new ilSCORM2004Chapter($a_slm_object);
36  $obj->setId($obj_rec["obj_id"]);
37  $obj->setDataRecord($obj_rec);
38  $obj->read();
39  break;
40 
41  case "seqc":
42  $obj =& new ilSCORM2004SeqChapter($a_slm_object);
43  $obj->setId($obj_rec["obj_id"]);
44  $obj->setDataRecord($obj_rec);
45  $obj->read();
46  break;
47 
48  case "sco":
49  $obj =& new ilSCORM2004Sco($a_slm_object);
50  $obj->setId($obj_rec["obj_id"]);
51  $obj->setDataRecord($obj_rec);
52  $obj->read();
53  break;
54 
55  case "ass":
56  $obj =& new ilSCORM2004Asset($a_slm_object);
57  $obj->setId($obj_rec["obj_id"]);
58  $obj->setDataRecord($obj_rec);
59  $obj->read();
60  break;
61 
62  case "page":
63  $obj =& new ilSCORM2004PageNode($a_slm_object, 0, $a_halt);
64  $obj->setId($obj_rec["obj_id"]);
65  $obj->setDataRecord($obj_rec);
66  $obj->read();
67  break;
68  }
69  return $obj;
70  }
71 
72 }
73 ?>