ILIAS  release_7 Revision v7.30-3-g800a261c036
ilContainerMemberSkills Class Reference

Skills of a container. More...

+ Collaboration diagram for ilContainerMemberSkills:

Public Member Functions

 __construct ($a_obj_id, $a_user_id)
 Constrictor. More...
 
 setObjId ($a_val)
 Set object id. More...
 
 getObjId ()
 Get object id. More...
 
 setUserId ($a_val)
 Set user id. More...
 
 getUserId ()
 Get user id. More...
 
 read ()
 Read. More...
 
 getSkillLevels ()
 Get Skill levels. More...
 
 getOrderedSkillLevels ()
 Get ordered skill levels. More...
 
 getPublished ()
 Get published. More...
 
 saveLevelForSkills ($a_level_data)
 Save levels for skills. More...
 
 delete ()
 Delete all level data for current user. More...
 
 publish ($a_ref_id)
 Publish. More...
 
 removeAllSkillLevels ()
 Remove all skill levels. More...
 

Protected Attributes

 $db
 
 $skills = array()
 
 $obj_id
 
 $user_id
 
 $skill_levels = array()
 
 $published = false
 

Detailed Description

Skills of a container.

Author
Alex Killing killi.nosp@m.ng@l.nosp@m.eifos.nosp@m..de

Definition at line 10 of file class.ilContainerMemberSkills.php.

Constructor & Destructor Documentation

◆ __construct()

ilContainerMemberSkills::__construct (   $a_obj_id,
  $a_user_id 
)

Constrictor.

Parameters
int$a_obj_id

Definition at line 48 of file class.ilContainerMemberSkills.php.

49 {
50 global $DIC;
51
52 $this->db = $DIC->database();
53
54 $this->setObjId($a_obj_id);
55 $this->setUserId($a_user_id);
56 if ($a_obj_id > 0 && $a_user_id > 0) {
57 $this->read();
58 }
59 }
global $DIC
Definition: goto.php:24

References $DIC, read(), setObjId(), and setUserId().

+ Here is the call graph for this function:

Member Function Documentation

◆ delete()

ilContainerMemberSkills::delete ( )

Delete all level data for current user.

Parameters

Definition at line 188 of file class.ilContainerMemberSkills.php.

189 {
190 $db = $this->db;
191
192 $db->manipulate("DELETE FROM cont_member_skills WHERE " .
193 " obj_id = " . $db->quote($this->getObjId(), "integer") .
194 " AND user_id = " . $db->quote($this->getUserId(), "integer"));
195 }

References $db, and getUserId().

+ Here is the call graph for this function:

◆ getObjId()

ilContainerMemberSkills::getObjId ( )

Get object id.

Returns
int

Definition at line 76 of file class.ilContainerMemberSkills.php.

References $obj_id.

Referenced by publish(), and removeAllSkillLevels().

+ Here is the caller graph for this function:

◆ getOrderedSkillLevels()

ilContainerMemberSkills::getOrderedSkillLevels ( )

Get ordered skill levels.

Returns
array[] each item comes with keys "level_id", "skill_id", "tref_id"

Definition at line 135 of file class.ilContainerMemberSkills.php.

136 {
137 $skill_levels = array_map(function ($a, $k) {
138 $s = explode(":", $k);
139 return array("level_id" => $a, "skill_id" => $s[0], "tref_id" => $s[1]);
140 }, $this->getSkillLevels(), array_keys($this->getSkillLevels()));
141
142 $vtree = new ilVirtualSkillTree();
143 return $vtree->getOrderedNodeset($skill_levels, "skill_id", "tref_id");
144 }
$a
thx to https://mlocati.github.io/php-cs-fixer-configurator for the examples

References Vendor\Package\$a, $skill_levels, and getSkillLevels().

+ Here is the call graph for this function:

◆ getPublished()

ilContainerMemberSkills::getPublished ( )

Get published.

Returns
bool

Definition at line 152 of file class.ilContainerMemberSkills.php.

References $published.

◆ getSkillLevels()

ilContainerMemberSkills::getSkillLevels ( )

Get Skill levels.

Returns
array (key is skill_id:tref_id, value is level id)

Definition at line 125 of file class.ilContainerMemberSkills.php.

126 {
127 return $this->skill_levels;
128 }

References $skill_levels.

Referenced by getOrderedSkillLevels().

+ Here is the caller graph for this function:

◆ getUserId()

ilContainerMemberSkills::getUserId ( )

Get user id.

Returns
int

Definition at line 96 of file class.ilContainerMemberSkills.php.

References $user_id.

Referenced by delete(), publish(), and removeAllSkillLevels().

+ Here is the caller graph for this function:

◆ publish()

ilContainerMemberSkills::publish (   $a_ref_id)

Publish.

Definition at line 200 of file class.ilContainerMemberSkills.php.

201 {
202 $db = $this->db;
203
205 $this->getUserId(),
206 $this->getObjId(),
207 false,
208 $this->getObjId()
209 );
210
211 foreach ($this->skill_levels as $sk => $l) {
212 $changed = true;
213 $sk = explode(":", $sk);
215 $l,
216 $this->user_id,
217 $a_ref_id,
218 $sk[1],
220 false,
221 false,
222 $this->obj_id
223 );
224
225 if ($sk[1] > 0) {
227 } else {
229 }
230 }
231
232 $db->manipulate("UPDATE cont_member_skills SET " .
233 " published = " . $db->quote(1, "integer") .
234 " WHERE obj_id = " . $db->quote($this->getObjId(), "integer") .
235 " AND user_id = " . $db->quote($this->getUserId(), "integer"));
236
237 return $changed;
238 }
static removeAllUserSkillLevelStatusOfObject(int $a_user_id, int $a_trigger_obj_id, bool $a_self_eval=false, string $a_unique_identifier="")
static writeUserSkillLevelStatus(int $a_level_id, int $a_user_id, int $a_trigger_ref_id, int $a_tref_id=0, int $a_status=ilBasicSkill::ACHIEVED, bool $a_force=false, bool $a_self_eval=false, string $a_unique_identifier="", float $a_next_level_fulfilment=0.0)
static addPersonalSkill($a_user_id, $a_skill_node_id)
Add personal skill.

References $changed, $db, ilBasicSkill\ACHIEVED, ilPersonalSkill\addPersonalSkill(), getObjId(), getUserId(), ilBasicSkill\removeAllUserSkillLevelStatusOfObject(), and ilBasicSkill\writeUserSkillLevelStatus().

+ Here is the call graph for this function:

◆ read()

ilContainerMemberSkills::read ( )

Read.

Definition at line 104 of file class.ilContainerMemberSkills.php.

105 {
106 $db = $this->db;
107
108 $set = $db->query(
109 "SELECT * FROM cont_member_skills " .
110 " WHERE obj_id = " . $db->quote($this->getObjId(), "integer") .
111 " AND user_id = " . $db->quote($this->getUserId(), "integer")
112 );
113 $this->skill_levels = array();
114 while ($rec = $this->db->fetchAssoc($set)) {
115 $this->skill_levels[$rec["skill_id"] . ":" . $rec["tref_id"]] = $rec["level_id"];
116 $this->published = $rec["published"]; // this is a little weak, but the value should be the same for all save skills
117 }
118 }

References $db.

Referenced by __construct().

+ Here is the caller graph for this function:

◆ removeAllSkillLevels()

ilContainerMemberSkills::removeAllSkillLevels ( )

Remove all skill levels.

Definition at line 244 of file class.ilContainerMemberSkills.php.

245 {
247 $this->getUserId(),
248 $this->getObjId(),
249 false,
250 $this->getObjId()
251 );
252
253 $this->delete();
254 }

References getObjId(), getUserId(), and ilBasicSkill\removeAllUserSkillLevelStatusOfObject().

+ Here is the call graph for this function:

◆ saveLevelForSkills()

ilContainerMemberSkills::saveLevelForSkills (   $a_level_data)

Save levels for skills.

Parameters
array$a_level_data(key is skill_id:tref_id, value is level id)

Definition at line 162 of file class.ilContainerMemberSkills.php.

163 {
164 $db = $this->db;
165
166 $this->delete();
167 foreach ($a_level_data as $k => $v) {
168 $sk = explode(":", $k);
169 $db->manipulate("INSERT INTO cont_member_skills " .
170 "(obj_id, user_id, skill_id, tref_id, level_id, published) VALUES (" .
171 $db->quote($this->getObjId(), "integer") . "," .
172 $db->quote($this->getUserId(), "integer") . "," .
173 $db->quote($sk[0], "integer") . "," .
174 $db->quote($sk[1], "integer") . "," .
175 $db->quote($v, "integer") . "," .
176 $db->quote(0, "integer") .
177 ")");
178 }
179
180 $this->skill_levels = $a_level_data;
181 }

References $db.

◆ setObjId()

ilContainerMemberSkills::setObjId (   $a_val)

Set object id.

Parameters
int$a_valobject id

Definition at line 66 of file class.ilContainerMemberSkills.php.

67 {
68 $this->obj_id = $a_val;
69 }

Referenced by __construct().

+ Here is the caller graph for this function:

◆ setUserId()

ilContainerMemberSkills::setUserId (   $a_val)

Set user id.

Parameters
int$a_valuser id

Definition at line 86 of file class.ilContainerMemberSkills.php.

87 {
88 $this->user_id = $a_val;
89 }

Referenced by __construct().

+ Here is the caller graph for this function:

Field Documentation

◆ $db

ilContainerMemberSkills::$db
protected

Definition at line 16 of file class.ilContainerMemberSkills.php.

Referenced by delete(), publish(), read(), and saveLevelForSkills().

◆ $obj_id

ilContainerMemberSkills::$obj_id
protected

Definition at line 26 of file class.ilContainerMemberSkills.php.

Referenced by getObjId().

◆ $published

ilContainerMemberSkills::$published = false
protected

Definition at line 41 of file class.ilContainerMemberSkills.php.

Referenced by getPublished().

◆ $skill_levels

ilContainerMemberSkills::$skill_levels = array()
protected

Definition at line 36 of file class.ilContainerMemberSkills.php.

Referenced by getOrderedSkillLevels(), and getSkillLevels().

◆ $skills

ilContainerMemberSkills::$skills = array()
protected

Definition at line 21 of file class.ilContainerMemberSkills.php.

◆ $user_id

ilContainerMemberSkills::$user_id
protected

Definition at line 31 of file class.ilContainerMemberSkills.php.

Referenced by getUserId().


The documentation for this class was generated from the following file: