ILIAS  release_6 Revision v6.24-5-g0c8bfefb3b8
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...
 
static handleEvent ($a_component, $a_event, $a_parameter)
 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
Version
$Id$

Definition at line 14 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 23 of file class.ilSkillAppEventListener.php.

24 {
25 switch ($a_component) {
26 case 'Services/Tracking':
27 switch ($a_event) {
28 case 'updateStatus':
29 if ($a_params["status"] == ilLPStatus::LP_STATUS_COMPLETED_NUM) {
30 $obj_id = $a_params["obj_id"];
31 $usr_id = $a_params["usr_id"];
32 include_once("./Services/Skill/classes/class.ilSkillResources.php");
33 include_once("./Services/Skill/classes/class.ilBasicSkill.php");
34 foreach (ilObject::_getAllReferences($obj_id) as $ref_id) {
35 foreach (ilSkillResources::getTriggerLevelsForRefId($ref_id) as $sk) {
37 $sk["level_id"],
38 $usr_id,
39 $ref_id,
40 $sk["tref_id"]
41 );
42
43 if ($sk["tref_id"] > 0) {
44 ilPersonalSkill::addPersonalSkill($usr_id, $sk["tref_id"]);
45 } else {
46 ilPersonalSkill::addPersonalSkill($usr_id, $sk["base_skill_id"]);
47 }
48 }
49 }
50 }
51 break;
52 }
53 break;
54
55 case "Services/Object":
56 switch ($a_event) {
57 case "beforeDeletion":
58 $handler = new ilSkillObjDeletionHandler($a_params["object"]->getId(), $a_params["object"]->getType());
59 $handler->processDeletion();
60 break;
61 }
62 break;
63
64 }
65
66 return true;
67 }
static writeUserSkillLevelStatus( $a_level_id, $a_user_id, $a_trigger_ref_id, $a_tref_id=0, $a_status=ilBasicSkill::ACHIEVED, $a_force=false, $a_self_eval=false, $a_unique_identifier="")
Write skill level status.
const LP_STATUS_COMPLETED_NUM
static _getAllReferences($a_id)
get all reference ids of object
static addPersonalSkill($a_user_id, $a_skill_node_id)
Add personal skill.
Handles deletion of (user) objects.
static getTriggerLevelsForRefId($a_ref_id)
Get levels for trigger per ref id.

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

+ Here is the call graph for this function:

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