ILIAS  release_5-1 Revision 5.0.0-5477-g43f3e3fab5
class.ilGroupAppEventListener.php
Go to the documentation of this file.
1 <?php
2 /* Copyright (c) 1998-2009 ILIAS open source, Extended GPL, see docs/LICENSE */
3 
12 {
13  private $logger = null;
14 
18  public function __construct()
19  {
20  $this->logger = ilLoggerFactory::getInstance()->getLogger('grp');
21 
22  }
23 
27  public function getLogger()
28  {
29  return $this->logger;
30  }
31 
37  protected function handleUserAssignments($a_event, $a_parameters)
38  {
39  if($a_parameters['type'] != 'grp')
40  {
41  $this->getLogger()->debug('Ignoring event for type '. $a_parameters['type']);
42  return TRUE;
43  }
44 
45  if($a_event == 'assignUser')
46  {
47  $this->getLogger()->debug('Handling assign user event for type grp.');
48  $new_status = 1;
49  }
50  elseif($a_event == 'deassignUser')
51  {
52  $this->getLogger()->debug('Handling assign user event for type grp.');
53  $new_status = 0;
54  }
55 
56  ilLoggerFactory::getInstance()->getLogger('grp')->debug(print_r($a_parameters,TRUE));
57  ilLoggerFactory::getInstance()->getLogger('grp')->debug(print_r($new_status,TRUE));
58 
59  include_once './Services/Membership/classes/class.ilParticipant.php';
60 
62  $a_parameters['obj_id'],
63  $a_parameters['usr_id'],
64  $a_parameters['role_id'],
65  $new_status
66  );
67 
68  if($a_event == 'deassignUser')
69  {
70  self::doAutoFill($a_parameters['obj_id']);
71  }
72  }
73 
79  protected static function doAutoFill($a_obj_id)
80  {
81  include_once("./Modules/Group/classes/class.ilObjGroup.php");
82  $ref_id = array_pop(ilObject::_getAllReferences($a_obj_id));
83  $group = new ilObjGroup($ref_id);
84  $group->handleAutoFill();
85  }
86 
94  public static function handleEvent($a_component, $a_event, $a_parameter)
95  {
96  if($a_component == 'Services/AccessControl')
97  {
98  $listener = new self();
99  $listener->handleUserAssignments($a_event, $a_parameter);
100  }
101  }
102 }
103 
104 ?>
static updateMemberRoles($a_obj_id, $a_usr_id, $a_role_id, $a_status)
Update member roles ilDB $ilDB.
static handleEvent($a_component, $a_event, $a_parameter)
Handle an event in a listener.
handleUserAssignments($a_event, $a_parameters)
handle user assignments
static _getAllReferences($a_id)
get all reference ids of object
static doAutoFill($a_obj_id)
Trigger autofill from waiting list.
$ref_id
Definition: sahs_server.php:39
Class ilObjGroup.