ILIAS  Release_4_2_x_branch Revision 61807
 All Data Structures Namespaces Files Functions Variables Groups Pages
class.ilPersonalSkill.php
Go to the documentation of this file.
1 <?php
2 
3 /* Copyright (c) 1998-2011 ILIAS open source, Extended GPL, see docs/LICENSE */
4 
13 {
20  static function getSelectedUserSkills($a_user_id)
21  {
22  global $ilDB;
23 
24  include_once "Services/Skill/classes/class.ilSkillTreeNode.php";
25 
26  include_once("./Services/Skill/classes/class.ilSkillTree.php");
27  $stree = new ilSkillTree();
28 
29  $set = $ilDB->query("SELECT * FROM skl_personal_skill ".
30  " WHERE user_id = ".$ilDB->quote($a_user_id, "integer")
31  );
32  $pskills = array();
33  while ($rec = $ilDB->fetchAssoc($set))
34  {
35  if ($stree->isInTree($rec["skill_node_id"]))
36  {
37  $pskills[$rec["skill_node_id"]] = array("skill_node_id" => $rec["skill_node_id"],
38  "title" => ilSkillTreeNode::_lookupTitle($rec["skill_node_id"]));
39  }
40  }
41  return $pskills;
42  }
43 
50  function addPersonalSkill($a_user_id, $a_skill_node_id)
51  {
52  global $ilDB;
53 
54  $set = $ilDB->query("SELECT * FROM skl_personal_skill ".
55  " WHERE user_id = ".$ilDB->quote($a_user_id, "integer").
56  " AND skill_node_id = ".$ilDB->quote($a_skill_node_id, "integer")
57  );
58  if (!$ilDB->fetchAssoc($set))
59  {
60  $ilDB->manipulate("INSERT INTO skl_personal_skill ".
61  "(user_id, skill_node_id) VALUES (".
62  $ilDB->quote($a_user_id, "integer").",".
63  $ilDB->quote($a_skill_node_id, "integer").
64  ")");
65  }
66  }
67 
74  function removeSkill($a_user_id, $a_skill_node_id)
75  {
76  global $ilDB;
77 
78  $ilDB->manipulate("DELETE FROM skl_personal_skill WHERE ".
79  " user_id = ".$ilDB->quote($a_user_id, "integer").
80  " AND skill_node_id = ".$ilDB->quote($a_skill_node_id, "integer")
81  );
82 
83  }
84 
85 
86  //
87  // Assigned materials
88  //
89 
100  static function assignMaterial($a_user_id, $a_top_skill, $a_tref_id, $a_basic_skill, $a_level, $a_wsp_id)
101  {
102  global $ilDB;
103 
104  $set = $ilDB->query("SELECT * FROM skl_assigned_material ".
105  " WHERE user_id = ".$ilDB->quote($a_user_id, "integer").
106  " AND top_skill_id = ".$ilDB->quote($a_top_skill, "integer").
107  " AND tref_id = ".$ilDB->quote((int) $a_tref_id, "integer").
108  " AND skill_id = ".$ilDB->quote($a_basic_skill, "integer").
109  " AND level_id = ".$ilDB->quote($a_level, "integer").
110  " AND wsp_id = ".$ilDB->quote($a_wsp_id, "integer")
111  );
112  if (!$ilDB->fetchAssoc($set))
113  {
114  $ilDB->manipulate("INSERT INTO skl_assigned_material ".
115  "(user_id, top_skill_id, tref_id, skill_id, level_id, wsp_id) VALUES (".
116  $ilDB->quote($a_user_id, "integer").",".
117  $ilDB->quote($a_top_skill, "integer").",".
118  $ilDB->quote((int) $a_tref_id, "integer").",".
119  $ilDB->quote($a_basic_skill, "integer").",".
120  $ilDB->quote($a_level, "integer").",".
121  $ilDB->quote($a_wsp_id, "integer").
122  ")");
123  }
124  }
125 
133  static function getAssignedMaterial($a_user_id, $a_tref_id, $a_level)
134  {
135  global $ilDB;
136 
137  $set = $ilDB->query("SELECT * FROM skl_assigned_material ".
138  " WHERE level_id = ".$ilDB->quote($a_level, "integer").
139  " AND tref_id = ".$ilDB->quote((int) $a_tref_id, "integer").
140  " AND user_id = ".$ilDB->quote($a_user_id, "integer")
141  );
142  $mat = array();
143  while ($rec = $ilDB->fetchAssoc($set))
144  {
145  $mat[] = $rec;
146  }
147  return $mat;
148  }
149 
157  static function countAssignedMaterial($a_user_id, $a_tref_id, $a_level)
158  {
159  global $ilDB;
160 
161  $set = $ilDB->query("SELECT count(*) as cnt FROM skl_assigned_material ".
162  " WHERE level_id = ".$ilDB->quote($a_level, "integer").
163  " AND tref_id = ".$ilDB->quote((int) $a_tref_id, "integer").
164  " AND user_id = ".$ilDB->quote($a_user_id, "integer")
165  );
166  $rec = $ilDB->fetchAssoc($set);
167  return $rec["cnt"];
168  }
169 
176  static function removeMaterial($a_user_id, $a_tref_id, $a_level_id, $a_wsp_id)
177  {
178  global $ilDB;
179 
180  $t = "DELETE FROM skl_assigned_material WHERE ".
181  " user_id = ".$ilDB->quote($a_user_id, "integer").
182  " AND tref_id = ".$ilDB->quote((int) $a_tref_id, "integer").
183  " AND level_id = ".$ilDB->quote($a_level_id, "integer").
184  " AND wsp_id = ".$ilDB->quote($a_wsp_id, "integer");
185 
186  $ilDB->manipulate($t);
187  }
188 
189  //
190  // Self evaluation
191  //
192 
202  static function saveSelfEvaluation($a_user_id, $a_top_skill, $a_tref_id, $a_basic_skill, $a_level)
203  {
204  global $ilDB;
205 
206  $set = $ilDB->query("SELECT * FROM skl_self_eval_level ".
207  " WHERE user_id = ".$ilDB->quote($a_user_id, "integer").
208  " AND top_skill_id = ".$ilDB->quote($a_top_skill, "integer").
209  " AND tref_id = ".$ilDB->quote((int) $a_tref_id, "integer").
210  " AND skill_id = ".$ilDB->quote($a_basic_skill, "integer"));
211  if (!$ilDB->fetchAssoc($set))
212  {
213  $ilDB->manipulate("INSERT INTO skl_self_eval_level ".
214  "(user_id, top_skill_id, tref_id, skill_id, level_id, last_update) VALUES (".
215  $ilDB->quote($a_user_id, "integer").",".
216  $ilDB->quote($a_top_skill, "integer").",".
217  $ilDB->quote((int) $a_tref_id, "integer").",".
218  $ilDB->quote($a_basic_skill, "integer").",".
219  $ilDB->quote($a_level, "integer").",".
220  $ilDB->quote(ilUtil::now(), "timestamp").
221  ")");
222  }
223  else
224  {
225  $ilDB->manipulate("UPDATE skl_self_eval_level SET ".
226  " level_id = ".$ilDB->quote($a_level, "integer").", ".
227  " last_update = ".$ilDB->quote(ilUtil::now(), "timestamp").
228  " WHERE user_id = ".$ilDB->quote($a_user_id, "integer").
229  " AND top_skill_id = ".$ilDB->quote($a_top_skill, "integer").
230  " AND tref_id = ".$ilDB->quote((int) $a_tref_id, "integer").
231  " AND skill_id = ".$ilDB->quote($a_basic_skill, "integer"));
232  }
233  }
234 
244  static function getSelfEvaluation($a_user_id, $a_top_skill, $a_tref_id, $a_basic_skill)
245  {
246  global $ilDB;
247 
248  $set = $ilDB->query("SELECT level_id FROM skl_self_eval_level ".
249  " WHERE user_id = ".$ilDB->quote($a_user_id, "integer").
250  " AND top_skill_id = ".$ilDB->quote($a_top_skill, "integer").
251  " AND tref_id = ".$ilDB->quote((int) $a_tref_id, "integer").
252  " AND skill_id = ".$ilDB->quote($a_basic_skill, "integer")
253  );
254  $rec = $ilDB->fetchAssoc($set);
255 
256  return (int) $rec["level_id"];
257  }
258 
259 }
260 
261 ?>