ILIAS  release_7 Revision v7.30-3-g800a261c036
All Data Structures Namespaces Files Functions Variables Modules Pages
ilSkillAppEventListener Class Reference

Update skill from Services/Tracking events. More...

+ Inheritance diagram for ilSkillAppEventListener:
+ Collaboration diagram for ilSkillAppEventListener:

Static Public Member Functions

static handleEvent ($a_component, $a_event, $a_params)
 Handle an event in a listener. More...
 

Detailed Description

Update skill from Services/Tracking events.

Author
Jörg Lützenkirchen luetz.nosp@m.enki.nosp@m.rchen.nosp@m.@lei.nosp@m.fos.c.nosp@m.om

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

Member Function Documentation

◆ handleEvent()

static ilSkillAppEventListener::handleEvent (   $a_component,
  $a_event,
  $a_params 
)
static

Handle an event in a listener.

Parameters
string$a_componentcomponent, e.g. "Modules/Forum" or "Services/User"
string$a_eventevent e.g. "createUser", "updateUser", "deleteUser", ...
array$a_parameterparameter array (assoc), array("name" => ..., "phone_office" => ...)

Implements ilAppEventListener.

Definition at line 19 of file class.ilSkillAppEventListener.php.

References ilObject\_getAllReferences(), ilPersonalSkill\addPersonalSkill(), ilSkillResources\getTriggerLevelsForRefId(), ilLPStatus\LP_STATUS_COMPLETED_NUM, and ilBasicSkill\writeUserSkillLevelStatus().

20  {
21  switch ($a_component) {
22  case 'Services/Tracking':
23  switch ($a_event) {
24  case 'updateStatus':
25  if ($a_params["status"] == ilLPStatus::LP_STATUS_COMPLETED_NUM) {
26  $obj_id = $a_params["obj_id"];
27  $usr_id = $a_params["usr_id"];
29  foreach (ilSkillResources::getTriggerLevelsForRefId($ref_id) as $sk) {
31  $sk["level_id"],
32  $usr_id,
33  $ref_id,
34  $sk["tref_id"]
35  );
36 
37  if ($sk["tref_id"] > 0) {
38  ilPersonalSkill::addPersonalSkill($usr_id, $sk["tref_id"]);
39  } else {
40  ilPersonalSkill::addPersonalSkill($usr_id, $sk["base_skill_id"]);
41  }
42  }
43  }
44  }
45  break;
46  }
47  break;
48 
49  case "Services/Object":
50  switch ($a_event) {
51  case "beforeDeletion":
52  $handler = new ilSkillObjDeletionHandler($a_params["object"]->getId(), $a_params["object"]->getType());
53  $handler->processDeletion();
54  break;
55  }
56  break;
57 
58  }
59 
60  return true;
61  }
const LP_STATUS_COMPLETED_NUM
Handles deletion of (user) objects.
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 _getAllReferences($a_id)
get all reference ids of object
static addPersonalSkill($a_user_id, $a_skill_node_id)
Add personal skill.
static getTriggerLevelsForRefId($a_ref_id)
Get levels for trigger per ref id.
+ Here is the call graph for this function:

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