ILIAS  Release_5_0_x_branch Revision 61816
 All Data Structures Namespaces Files Functions Variables Groups Pages
class.ilSkillTemplateReference.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 include_once("./Services/Skill/classes/class.ilSkillTreeNode.php");
6 
16 {
17  var $id;
18 
23  function __construct($a_id = 0)
24  {
26  $this->setType("sktr");
27  }
28 
34  function setSkillTemplateId($a_val)
35  {
36  $this->skill_template_id = $a_val;
37  }
38 
44  function getSkillTemplateId()
45  {
46  return $this->skill_template_id;
47  }
48 
52  function read()
53  {
54  global $ilDB;
55 
56  parent::read();
57 
58  $set = $ilDB->query("SELECT * FROM skl_templ_ref ".
59  " WHERE skl_node_id = ".$ilDB->quote($this->getId(), "integer")
60  );
61  $rec = $ilDB->fetchAssoc($set);
62  $this->setSkillTemplateId((int) $rec["templ_id"]);
63  }
64 
68  function create()
69  {
70  global $ilDB;
71 
73 
74  $ilDB->manipulate("INSERT INTO skl_templ_ref ".
75  "(skl_node_id, templ_id) VALUES (".
76  $ilDB->quote($this->getId(), "integer").",".
77  $ilDB->quote($this->getSkillTemplateId(), "integer").
78  ")");
79  }
80 
84  function update()
85  {
86  global $ilDB;
87 
89 
90  $ilDB->manipulate("UPDATE skl_templ_ref SET ".
91  " templ_id = ".$ilDB->quote($this->getSkillTemplateId(), "integer").
92  " WHERE skl_node_id = ".$ilDB->quote($this->getId(), "integer")
93  );
94  }
95 
96 
100  function delete()
101  {
102  global $ilDB;
103 
104  $ilDB->manipulate("DELETE FROM skl_templ_ref WHERE "
105  ." skl_node_id = ".$ilDB->quote($this->getId(), "integer")
106  );
107 
108  parent::delete();
109  }
110 
114  function copy()
115  {
116  $sktr = new ilSkillTemplateReference();
117  $sktr->setTitle($this->getTitle());
118  $sktr->setType($this->getType());
119  $sktr->setSkillTemplateId($this->getSkillTemplateId());
120  $sktr->setSelfEvaluation($this->getSelfEvaluation());
121  $sktr->setOrderNr($this->getOrderNr());
122  $sktr->create();
123 
124  return $sktr;
125  }
126 
133  static function _lookupTemplateId($a_obj_id)
134  {
135  global $ilDB;
136 
137  $query = "SELECT templ_id FROM skl_templ_ref WHERE skl_node_id = ".
138  $ilDB->quote($a_obj_id, "integer");
139  $obj_set = $ilDB->query($query);
140  $obj_rec = $ilDB->fetchAssoc($obj_set);
141 
142  return $obj_rec["templ_id"];
143  }
144 
151  function _lookupTrefIdsForTopTemplateId($a_template_id)
152  {
153  global $ilDB;
154 
155  $set = $ilDB->query("SELECT * FROM skl_templ_ref ".
156  " WHERE templ_id = ".$ilDB->quote($a_template_id, "integer")
157  );
158  $trefs = array();
159  while ($rec = $ilDB->fetchAssoc($set))
160  {
161  $trefs[] = $rec["skl_node_id"];
162  }
163  return $trefs;
164  }
165 
166 
173  static function _lookupTrefIdsForTemplateId($a_tid)
174  {
175  include_once("./Services/Skill/classes/class.ilSkillTree.php");
176  $tree = new ilSkillTree();
177  $top_template_id = $tree->getTopParentNodeId($a_tid);
178  return self::_lookupTrefIdsForTopTemplateId($top_template_id);
179  }
180 
181 }
182 ?>