ILIAS  release_7 Revision v7.30-3-g800a261c036
class.ilContainerSkills.php
Go to the documentation of this file.
1<?php
2
3/* Copyright (c) 1998-2017 ILIAS open source, Extended GPL, see docs/LICENSE */
4
11{
12
16 protected $db;
17
21 protected $skills = array();
22
26 protected $id;
27
33 public function __construct($a_obj_id)
34 {
35 global $DIC;
36
37 $this->db = $DIC->database();
38
39 $this->setId($a_obj_id);
40 if ($a_obj_id > 0) {
41 $this->read();
42 }
43 }
44
50 public function setId($a_val)
51 {
52 $this->id = $a_val;
53 }
54
60 public function getId()
61 {
62 return $this->id;
63 }
64
68 public function resetSkills()
69 {
70 $this->skills = array();
71 }
72
79 public function addSkill($a_skill_id, $a_tref_id)
80 {
81 $this->skills[$a_skill_id . "-" . $a_tref_id] = array(
82 "skill_id" => $a_skill_id,
83 "tref_id" => $a_tref_id
84 );
85 }
86
93 public function removeSkill($a_skill_id, $a_tref_id)
94 {
95 unset($this->skills[$a_skill_id . "-" . $a_tref_id]);
96 }
97
98
104 public function getSkills()
105 {
106 return $this->skills;
107 }
108
115 public function getOrderedSkills()
116 {
117 $vtree = new ilVirtualSkillTree();
118 return $vtree->getOrderedNodeset($this->getSkills(), "skill_id", "tref_id");
119 }
120
121
125 public function read()
126 {
127 $db = $this->db;
128
129 $this->skills = array();
130 $set = $db->query("SELECT * FROM cont_skills " .
131 " WHERE id = " . $db->quote($this->getId(), "integer"));
132 while ($rec = $db->fetchAssoc($set)) {
133 $this->skills[$rec["skill_id"] . "-" . $rec["tref_id"]] = $rec;
134 }
135 }
136
140 public function delete()
141 {
142 $db = $this->db;
143
144 $db->manipulate("DELETE FROM cont_skills WHERE " .
145 " id = " . $db->quote($this->getId(), "integer"));
146 }
147
151 public function save()
152 {
153 $db = $this->db;
154
155 $this->delete();
156 foreach ($this->skills as $s) {
157 $db->manipulate("INSERT INTO cont_skills " .
158 "(id, skill_id, tref_id) VALUES (" .
159 $db->quote($this->getId(), "integer") . "," .
160 $db->quote($s["skill_id"], "integer") . "," .
161 $db->quote($s["tref_id"], "integer") . ")");
162 }
163 }
164}
An exception for terminatinating execution or to throw for unit testing.
Skills of a container.
__construct($a_obj_id)
Constrictor.
addSkill($a_skill_id, $a_tref_id)
Add skill.
removeSkill($a_skill_id, $a_tref_id)
Remove skill.
getOrderedSkills()
Get odered skills.
global $DIC
Definition: goto.php:24