ILIAS  trunk Revision v11.0_alpha-3011-gc6b235a2e85
ilGroupAppEventListener Class Reference

Group Pool listener. More...

+ Collaboration diagram for ilGroupAppEventListener:

Public Member Functions

 __construct ()
 Constructor. More...
 
 getLogger ()
 

Static Public Member Functions

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

Protected Member Functions

 handleUserAssignments (string $a_event, array $a_parameters)
 

Static Protected Member Functions

static doAutoFill (int $a_obj_id)
 Trigger autofill from waiting list. More...
 

Private Attributes

ilLogger $logger
 

Detailed Description

Group Pool listener.

Listens to events of other components.

Author
Stefan Meyer smeye.nosp@m.r.il.nosp@m.ias@g.nosp@m.mx.d.nosp@m.e \

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

Constructor & Destructor Documentation

◆ __construct()

ilGroupAppEventListener::__construct ( )

Constructor.

Definition at line 33 of file class.ilGroupAppEventListener.php.

34 {
35 global $DIC;
36
37 $this->logger = $DIC->logger()->grp();
38 }
global $DIC
Definition: shib_login.php:26

References $DIC, and ILIAS\Repository\logger().

+ Here is the call graph for this function:

Member Function Documentation

◆ doAutoFill()

static ilGroupAppEventListener::doAutoFill ( int  $a_obj_id)
staticprotected

Trigger autofill from waiting list.

Definition at line 78 of file class.ilGroupAppEventListener.php.

78 : void
79 {
80 global $DIC;
81
82 $logger = $DIC->logger()->grp();
83 $refs = ilObject::_getAllReferences($a_obj_id);
84 $ref_id = end($refs);
85
87 if (!$group instanceof ilObjGroup) {
88 $logger->warning('Cannot handle event deassign user since passed obj_id is not of type group: ' . $a_obj_id);
89 }
90 $group->handleAutoFill();
91 }
warning(string $message, array $context=[])
Class ilObjGroup.
static getInstanceByRefId(int $ref_id, bool $stop_on_error=true)
get an instance of an Ilias object by reference id
static _getAllReferences(int $id)
get all reference ids for object ID
$ref_id
Definition: ltiauth.php:66

References $DIC, $logger, $ref_id, ilObject\_getAllReferences(), ilObjectFactory\getInstanceByRefId(), and ilLogger\warning().

Referenced by handleUserAssignments().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ getLogger()

ilGroupAppEventListener::getLogger ( )

Definition at line 42 of file class.ilGroupAppEventListener.php.

42 : ilLogger
43 {
44 return $this->logger;
45 }
Component logger with individual log levels by component id.

References $logger.

Referenced by handleUserAssignments().

+ Here is the caller graph for this function:

◆ handleEvent()

static ilGroupAppEventListener::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" => ...)

Definition at line 100 of file class.ilGroupAppEventListener.php.

100 : void
101 {
102 if ($a_component == 'components/ILIAS/AccessControl') {
103 $listener = new self();
104 $listener->handleUserAssignments($a_event, $a_parameter);
105 }
106 }

◆ handleUserAssignments()

ilGroupAppEventListener::handleUserAssignments ( string  $a_event,
array  $a_parameters 
)
protected

Definition at line 47 of file class.ilGroupAppEventListener.php.

47 : void
48 {
49 if ($a_parameters['type'] != 'grp') {
50 $this->getLogger()->debug('Ignoring event for type ' . $a_parameters['type']);
51 return;
52 }
53
54 if ($a_event == 'assignUser') {
55 $this->getLogger()->debug('Handling assign user event for type grp.');
56 $new_status = 1;
57 } elseif ($a_event == 'deassignUser') {
58 $this->getLogger()->debug('Handling assign user event for type grp.');
59 $new_status = 0;
60 } else {
61 return;
62 }
64 (int) $a_parameters['obj_id'],
65 (int) $a_parameters['usr_id'],
66 (int) $a_parameters['role_id'],
67 $new_status
68 );
69
70 if ($a_event == 'deassignUser') {
71 self::doAutoFill((int) $a_parameters['obj_id']);
72 }
73 }
static doAutoFill(int $a_obj_id)
Trigger autofill from waiting list.
static updateMemberRoles(int $a_obj_id, int $a_usr_id, int $a_role_id, int $a_status)

References doAutoFill(), getLogger(), and ilParticipant\updateMemberRoles().

+ Here is the call graph for this function:

Field Documentation

◆ $logger

ilLogger ilGroupAppEventListener::$logger
private

Definition at line 28 of file class.ilGroupAppEventListener.php.

Referenced by doAutoFill(), and getLogger().


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