26 $this->db = $DIC->database();
60 $this->user_id = $a_val;
70 return $this->user_id;
80 $this->top_skill_id = $a_val;
90 return $this->top_skill_id;
100 $this->created = $a_val;
110 return $this->created;
120 $this->last_update = $a_val;
130 return $this->last_update;
138 public function setLevels($a_val, $a_keep_existing =
false)
140 if (!$a_keep_existing) {
141 $this->levels = $a_val;
143 if (is_array($a_val)) {
144 foreach ($a_val as $k => $v) {
145 $this->levels[$k] = $v;
158 return $this->levels;
172 "SELECT * FROM skl_self_eval WHERE " .
173 " id = " .
$ilDB->quote($this->getId(),
"integer")
175 if ($rec =
$ilDB->fetchAssoc($set)) {
184 "SELECT * FROM skl_self_eval_level WHERE " .
185 " self_eval_id = " .
$ilDB->quote($this->getId(),
"integer")
188 while ($rec =
$ilDB->fetchAssoc($set)) {
189 $levels[$rec[
"skill_id"]] = $rec[
"level_id"];
203 $ilDB->manipulate(
"INSERT INTO skl_self_eval " .
204 "(id, user_id, top_skill_id, created, last_update) VALUES (" .
205 $ilDB->quote($this->getId(),
"integer") .
"," .
206 $ilDB->quote($this->getUserId(),
"integer") .
"," .
207 $ilDB->quote($this->getTopSkillId(),
"integer") .
"," .
213 if (is_array($levels)) {
214 foreach ($levels as $skill_id => $level_id) {
215 $ilDB->manipulate(
"INSERT INTO skl_self_eval_level " .
216 "(self_eval_id, skill_id, level_id) VALUES (" .
217 $ilDB->quote($this->getId(),
"integer") .
"," .
218 $ilDB->quote($skill_id,
"integer") .
"," .
219 $ilDB->quote($level_id,
"integer") .
233 "UPDATE skl_self_eval SET " .
234 " user_id = " .
$ilDB->quote($this->getUserId(),
"integer") .
235 ", top_skill_id = " .
$ilDB->quote($this->getTopSkillId(),
"integer") .
236 ", last_update = " .
$ilDB->now() .
237 " WHERE id = " .
$ilDB->quote($this->
getId(),
"integer")
241 "DELETE FROM skl_self_eval_level WHERE " 242 .
" self_eval_id = " .
$ilDB->quote($this->getId(),
"integer")
246 if (is_array($levels)) {
247 foreach ($levels as $skill_id => $level_id) {
248 $ilDB->manipulate(
"INSERT INTO skl_self_eval_level " .
249 "(self_eval_id, skill_id, level_id) VALUES (" .
250 $ilDB->quote($this->getId(),
"integer") .
"," .
251 $ilDB->quote($skill_id,
"integer") .
"," .
252 $ilDB->quote($level_id,
"integer") .
261 public function delete()
266 "DELETE FROM skl_self_eval WHERE " 267 .
" id = " .
$ilDB->quote($this->getId(),
"integer")
271 "DELETE FROM skl_self_eval_level WHERE " 272 .
" self_eval_id = " .
$ilDB->quote($this->getId(),
"integer")
283 $ilDB = $DIC->database();
286 "SELECT * FROM skl_self_eval WHERE user_id = " .
287 $ilDB->quote($a_user,
"integer") .
" " .
288 "ORDER BY last_update DESC" 291 $self_evaluation = array();
293 $top_skills = array();
294 while ($rec =
$ilDB->fetchAssoc($set)) {
295 if (!$a_one_per_top_skill || !in_array($rec[
"top_skill_id"], $top_skills)) {
296 $self_evaluation[] = $rec;
297 $top_skills[] = $rec[
"top_skill_id"];
301 return $self_evaluation;
314 $ilDB = $DIC->database();
317 "SELECT $a_prop FROM skl_self_eval WHERE " .
318 " id = " .
$ilDB->quote($a_id,
"integer")
320 $rec =
$ilDB->fetchAssoc($set);
321 return $rec[$a_prop];
334 $lng = $DIC->language();
336 $lng->loadLanguageModule(
"skmg");
341 if ($stree->isInTree($a_top_skill_id)) {
343 $levels = $se->getLevels();
345 $cnode = $stree->getNodeData($a_top_skill_id);
346 $childs = $stree->getSubTree($cnode);
348 foreach ($childs as $child) {
349 if ($child[
"type"] ==
"skll") {
351 $ls = $sk->getLevelData();
353 foreach ($ls as $k => $l) {
354 $ord[$l[
"id"]] = $k + 1;
357 foreach ($ls as $ld) {
358 if ($ld[
"id"] == $levels[$child[
"child"]]) {
359 $sum += $ord[$ld[
"id"]];
367 $avg = round($sum / $cnt);
369 return (array(
"skill_title" => $cnode[
"title"],
370 "ord" => $avg,
"avg_title" => $ls[$avg - 1][
"title"]));
372 return (array(
"skill_title" => $cnode[
"title"],
373 "ord" => $avg,
"avg_title" =>
$lng->txt(
"skmg_no_skills")));
391 if ($stree->isInTree($a_sn_id)) {
392 $cnode = $stree->getNodeData($a_sn_id);
393 $childs = $stree->getSubTree($cnode);
394 foreach ($childs as $child) {
395 if ($child[
"type"] ==
"skll") {
396 $steps[] = $child[
"child"];
static determineSteps($a_sn_id)
Determine steps.
setUserId($a_val)
Set user id.
static getAverageLevel($a_se_id, $a_user_id, $a_top_skill_id)
Get average level of user self evaluation.
static getAllSelfEvaluationsOfUser($a_user, $a_one_per_top_skill=false)
Get all self evaluations.
__construct($a_id=0)
Constructor.
getCreated()
Get created at.
getLastUpdate()
Get last update.
setLevels($a_val, $a_keep_existing=false)
Set level.
setTopSkillId($a_val)
Set top skill id.
Self evaluation application class.
create()
Create self evaluation.
static lookupProperty($a_id, $a_prop)
Lookup property.
getTopSkillId()
Get top skill id.
update()
Update self evaluation.
setLastUpdate($a_val)
Set last update.
setCreated($a_val)
Set created at.