ILIAS  release_7 Revision v7.30-3-g800a261c036
ilGroupAppEventListener Class Reference

Group Pool listener. More...

+ Collaboration diagram for ilGroupAppEventListener:

Public Member Functions

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

Static Public Member Functions

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

Protected Member Functions

 handleUserAssignments ($a_event, $a_parameters)
 handle user assignments More...
 

Static Protected Member Functions

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

Private Attributes

 $logger = null
 

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
Version
$Id$

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

Constructor & Destructor Documentation

◆ __construct()

ilGroupAppEventListener::__construct ( )

Constructor.

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

19 {
20 $this->logger = ilLoggerFactory::getInstance()->getLogger('grp');
21 }

References ilLoggerFactory\getInstance().

+ Here is the call graph for this function:

Member Function Documentation

◆ doAutoFill()

static ilGroupAppEventListener::doAutoFill (   $a_obj_id)
staticprotected

Trigger autofill from waiting list.

Parameters
int$a_obj_id

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

75 {
76 global $DIC;
77
78 $logger = $DIC->logger()->grp();
79
80 $ref_id = array_pop(ilObject::_getAllReferences($a_obj_id));
81
82 $group = \ilObjectFactory::getInstanceByRefId($ref_id, false);
83 if (!$group instanceof ilObjGroup) {
84 $logger->warning('Cannot handle event deassign user since passed obj_id is not of type group: ' . $a_obj_id);
85 }
86
87 $group->handleAutoFill();
88 }
Class ilObjGroup.
static getInstanceByRefId($a_ref_id, $stop_on_error=true)
get an instance of an Ilias object by reference id
static _getAllReferences($a_id)
get all reference ids of object
global $DIC
Definition: goto.php:24

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

+ Here is the call graph for this function:

◆ getLogger()

ilGroupAppEventListener::getLogger ( )
Returns
ilLogger

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

27 {
28 return $this->logger;
29 }

References $logger.

Referenced by handleUserAssignments().

+ Here is the caller graph for this function:

◆ handleEvent()

static ilGroupAppEventListener::handleEvent (   $a_component,
  $a_event,
  $a_parameter 
)
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" => ...)

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

98 {
99 if ($a_component == 'Services/AccessControl') {
100 $listener = new self();
101 $listener->handleUserAssignments($a_event, $a_parameter);
102 }
103 }

◆ handleUserAssignments()

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

handle user assignments

Parameters
type$a_event
type$a_parameters

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

37 {
38 if ($a_parameters['type'] != 'grp') {
39 $this->getLogger()->debug('Ignoring event for type ' . $a_parameters['type']);
40 return true;
41 }
42
43 if ($a_event == 'assignUser') {
44 $this->getLogger()->debug('Handling assign user event for type grp.');
45 $new_status = 1;
46 } elseif ($a_event == 'deassignUser') {
47 $this->getLogger()->debug('Handling assign user event for type grp.');
48 $new_status = 0;
49 }
50
51 ilLoggerFactory::getInstance()->getLogger('grp')->debug(print_r($a_parameters, true));
52 ilLoggerFactory::getInstance()->getLogger('grp')->debug(print_r($new_status, true));
53
54 include_once './Services/Membership/classes/class.ilParticipant.php';
55
57 $a_parameters['obj_id'],
58 $a_parameters['usr_id'],
59 $a_parameters['role_id'],
60 $new_status
61 );
62
63 if ($a_event == 'deassignUser') {
64 $self = new self();
65 $self->doAutoFill($a_parameters['obj_id']);
66 }
67 }
static updateMemberRoles($a_obj_id, $a_usr_id, $a_role_id, $a_status)
Update member roles @global ilDB $ilDB.

References ilLoggerFactory\getInstance(), getLogger(), and ilParticipant\updateMemberRoles().

+ Here is the call graph for this function:

Field Documentation

◆ $logger

ilGroupAppEventListener::$logger = null
private

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

Referenced by doAutoFill(), and getLogger().


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