ILIAS  trunk Revision v11.0_alpha-2645-g16283d3b3f8
ilTrackingAppEventListener Class Reference

Update lp data from Services/Object events. More...

+ Inheritance diagram for ilTrackingAppEventListener:
+ Collaboration diagram for ilTrackingAppEventListener:

Static Public Member Functions

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

Detailed Description

Update lp data from Services/Object 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 27 of file class.ilTrackingAppEventListener.php.

Member Function Documentation

◆ handleEvent()

static ilTrackingAppEventListener::handleEvent ( string  $a_component,
string  $a_event,
array  $a_parameter 
)
static

Handle an event in a listener.

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

Implements ilAppEventListener.

Definition at line 35 of file class.ilTrackingAppEventListener.php.

References ilObject\_getAllReferences(), ilLPStatusWrapper\_updateStatus(), ilObjectLP\getInstance(), ilObjectLP\handleMove(), and null.

39  : void {
40  $obj_id = $a_parameter['obj_id'] ?? null;
41  switch ($a_component) {
42  case 'components/ILIAS/ILIASObject':
43  switch ($a_event) {
44  case 'toTrash':
45  $olp = ilObjectLP::getInstance($obj_id);
46  $olp->handleToTrash();
47  break;
48 
49  case 'delete':
50  // ilRepUtil will raise "delete" even if only reference was deleted!
51  $all_ref = ilObject::_getAllReferences($obj_id);
52  if (!sizeof($all_ref)) {
53  $olp = ilObjectLP::getInstance($obj_id);
54  $olp->handleDelete();
55  }
56  break;
57  }
58  break;
59 
60  case 'components/ILIAS/Tree':
61  switch ($a_event) {
62  case 'moveTree':
63  if ($a_parameter['tree'] == 'tree') {
64  ilObjectLP::handleMove($a_parameter['source_id']);
65  }
66  break;
67  }
68  break;
69 
70  case 'components/ILIAS/Group':
71  case 'components/ILIAS/Course':
72  case 'components/ILIAS/LearningSequence':
73  switch ($a_event) {
74  case 'addParticipant':
75  ilLPStatusWrapper::_updateStatus((int) $obj_id, (int) ($a_parameter['usr_id'] ?? 0));
76  break;
77  }
78  }
79  }
static handleMove(int $source_ref_id)
static _getAllReferences(int $id)
get all reference ids for object ID
while($session_entry=$r->fetchRow(ilDBConstants::FETCHMODE_ASSOC)) return null
static getInstance(int $obj_id)
static _updateStatus(int $a_obj_id, int $a_usr_id, ?object $a_obj=null, bool $a_percentage=false, bool $a_force_raise=false)
+ Here is the call graph for this function:

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