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.

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

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
+ 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.

References $db.

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  }

◆ 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.

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

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
+ 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.

References $skill_levels.

Referenced by getOrderedSkillLevels(), and ilContSkillAdminGUI\initCompetenceAssignmentForm().

+ 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 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.

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

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.
+ Here is the call graph for this function:

◆ read()

ilContainerMemberSkills::read ( )

Read.

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

References $db.

Referenced by __construct().

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  }
+ Here is the caller graph for this function:

◆ removeAllSkillLevels()

ilContainerMemberSkills::removeAllSkillLevels ( )

Remove all skill levels.

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

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

Referenced by ilContSkillAdminGUI\deassignCompetences().

245  {
247  $this->getUserId(),
248  $this->getObjId(),
249  false,
250  $this->getObjId()
251  );
252 
253  $this->delete();
254  }
static removeAllUserSkillLevelStatusOfObject(int $a_user_id, int $a_trigger_obj_id, bool $a_self_eval=false, string $a_unique_identifier="")
+ Here is the call graph for this function:
+ Here is the caller 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.

References $db.

Referenced by ilContSkillAdminGUI\saveCompetenceAssignment().

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  }
+ Here is the caller graph for this function:

◆ setObjId()

ilContainerMemberSkills::setObjId (   $a_val)

Set object id.

Parameters
int$a_valobject id

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

Referenced by __construct().

67  {
68  $this->obj_id = $a_val;
69  }
+ 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.

Referenced by __construct().

87  {
88  $this->user_id = $a_val;
89  }
+ 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: