ECS Event Handler.
More...
|
static | handleEvent ($a_component, $a_event, $a_parameter) |
| Handle an event in a listener. More...
|
|
ECS Event Handler.
- Author
- Stefan Meyer meyer.nosp@m.@lei.nosp@m.fos.c.nosp@m.om
- Version
- $Id$
Definition at line 35 of file class.ilECSAppEventListener.php.
◆ _sendNotification()
◆ extendAccount()
◆ handleEvent()
static ilECSAppEventListener::handleEvent |
( |
|
$a_component, |
|
|
|
$a_event, |
|
|
|
$a_parameter |
|
) |
| |
|
static |
Handle an event in a listener.
- Parameters
-
string | $a_component | component, e.g. "Modules/Forum" or "Services/User" |
string | $a_event | event e.g. "createUser", "updateUser", "deleteUser", ... |
array | $a_parameter | parameter array (assoc), array("name" => ..., "phone_office" => ...) |
Implements ilAppEventListener.
Definition at line 44 of file class.ilECSAppEventListener.php.
References $DIC, $GLOBALS, $log, ilObjUser\_lookupAuthMode(), ilObjectFactory\getInstanceByObjId(), ilECSEnrolmentStatus\STATUS_ACTIVE, ilECSEnrolmentStatus\STATUS_PENDING, and ilECSEnrolmentStatus\STATUS_UNSUBSCRIBED.
48 $ilLog = $DIC[
'ilLog'];
52 $log->debug(
'Listening to event from: ' . $a_component .
' ' . $a_event);
54 switch ($a_component) {
58 $user = $a_parameter[
'user_obj'];
59 self::handleMembership(
$user);
66 $log->debug(
'New event from group: ' . $a_event);
69 case 'addToWaitingList':
72 $log->info(
'No valid user found for usr_id ' . $a_parameter[
'usr_id']);
76 $settings = self::initServer($a_parameter[
'usr_id']);
79 include_once
'./Services/WebServices/ECS/classes/Connectors/class.ilECSEnrolmentStatus.php';
84 case 'deleteParticipant':
87 $log->info(
'No valid user found for usr_id ' . $a_parameter[
'usr_id']);
90 include_once
'./Services/WebServices/ECS/classes/Connectors/class.ilECSEnrolmentStatus.php';
95 case 'addParticipant':
98 $log->info(
'No valid user found for usr_id ' . $a_parameter[
'usr_id']);
105 #self::_sendNotification($settings,$user); 107 include_once
'./Services/WebServices/ECS/classes/Connectors/class.ilECSEnrolmentStatus.php';
118 case 'Modules/Course':
120 $GLOBALS[
'DIC'][
'ilLog']->write(__METHOD__ .
': New event from course: ' . $a_event);
123 case 'addSubscriber':
124 case 'addToWaitingList':
127 $log->info(
'No valid user found for usr_id ' . $a_parameter[
'usr_id']);
131 $settings = self::initServer($a_parameter[
'usr_id']);
134 include_once
'./Services/WebServices/ECS/classes/Connectors/class.ilECSEnrolmentStatus.php';
140 case 'deleteParticipant':
143 $log->info(
'No valid user found for usr_id ' . $a_parameter[
'usr_id']);
146 include_once
'./Services/WebServices/ECS/classes/Connectors/class.ilECSEnrolmentStatus.php';
151 case 'addParticipant':
155 $log->info(
'No valid user found for usr_id ' . $a_parameter[
'usr_id']);
164 include_once
'./Services/WebServices/ECS/classes/Connectors/class.ilECSEnrolmentStatus.php';
const STATUS_UNSUBSCRIBED
if(!defined('PATH_SEPARATOR')) $GLOBALS['_PEAR_default_error_mode']
static getInstanceByObjId($a_obj_id, $stop_on_error=true)
get an instance of an Ilias object by object id
static _lookupAuthMode($a_usr_id)
lookup auth mode
◆ handleMembership()
static ilECSAppEventListener::handleMembership |
( |
ilObjUser |
$user | ) |
|
|
staticprotected |
Assign missing course/groups to new user accounts.
- Parameters
-
Definition at line 233 of file class.ilECSAppEventListener.php.
References Vendor\Package\$e, $GLOBALS, $log, ilObject\_getAllReferences(), ilObject\_lookupType(), ilCourseConstants\CRS_MEMBER, ilLogLevel\ERROR, ilObjUser\getAuthMode(), ilObjUser\getExternalAccount(), ilObject\getId(), ilParticipants\getInstance(), ilECSNodeMappingSettings\getInstanceByServerMid(), IL_GRP_MEMBER, and ilECSCourseMemberAssignment\lookupMissingAssignmentsOfUser().
236 $log->debug(
'Handling ECS assignments ');
238 include_once
'./Services/WebServices/ECS/classes/Course/class.ilECSCourseMemberAssignment.php';
240 foreach ($assignments as $assignment) {
241 include_once
'./Services/WebServices/ECS/classes/Mapping/class.ilECSNodeMappingSettings.php';
243 $assignment->getServer(),
244 $assignment->getMid()
246 if ($user->
getAuthMode() == $msettings->getAuthMode()) {
247 $log->info(
'Adding user ' . $assignment->getUid() .
' to course/group: ' . $assignment->getObjId());
249 if ($obj_type !==
'crs' && $obj_type !==
'grp') {
250 $log->error(
'Invalid assignment type: ' . $obj_type);
259 if ($obj_type ===
'crs') {
261 } elseif ($obj_type ===
'grp') {
265 $log->error(
'Invalid ref_id given: ' . (
int) $ref_id);
270 $log->notice(
'Auth mode of user: ' . $user->
getAuthMode() .
' conflicts ' . $msettings->getAuthMode());
getAuthMode($a_auth_key=false)
get auth mode public
static getInstanceByServerMid($a_server_id, $a_mid)
Get instance.
static lookupMissingAssignmentsOfUser($a_usr_id)
Lookup missing assignments; type $ilDB.
static _getAllReferences($a_id)
get all reference ids of object
static getInstance($a_ref_id)
Get instance by ref_id.
getExternalAccount()
get external account
getId()
get object id public
if(!defined('PATH_SEPARATOR')) $GLOBALS['_PEAR_default_error_mode']
static _lookupType($a_id, $a_reference=false)
lookup object type
◆ initServer()
static ilECSAppEventListener::initServer |
( |
|
$a_usr_id | ) |
|
|
staticprotected |
Init server settings.
- Parameters
-
Definition at line 178 of file class.ilECSAppEventListener.php.
References ilECSSetting\getInstanceByServerId(), and ilECSImport\lookupServerId().
180 include_once
'./Services/WebServices/ECS/classes/class.ilECSImport.php';
183 include_once(
'Services/WebServices/ECS/classes/class.ilECSSetting.php');
static getInstanceByServerId($a_server_id)
Get singleton instance per server.
static lookupServerId($a_obj_id)
Lookup server id of imported content <type> $ilDB.
◆ updateEnrolmentStatus()
static ilECSAppEventListener::updateEnrolmentStatus |
( |
|
$a_obj_id, |
|
|
ilObjUser |
$user, |
|
|
|
$a_status |
|
) |
| |
|
staticprotected |
Update enrolment status.
- Parameters
-
- Returns
- boolean
Definition at line 300 of file class.ilECSAppEventListener.php.
References Vendor\Package\$e, $GLOBALS, ilObject\_lookupType(), ilECSRemoteUser\factory(), ilObject\getId(), ilECSSetting\getInstanceByServerId(), and ilECSEnrolmentStatus\ID_UID.
302 include_once
'./Services/WebServices/ECS/classes/class.ilECSRemoteUser.php';
308 include_once
'./Services/WebServices/ECS/classes/Connectors/class.ilECSEnrolmentStatus.php';
311 $enrol->setPersonId($remote->getRemoteUserId());
313 $enrol->setStatus($a_status);
316 include_once
'./Services/WebServices/ECS/classes/Connectors/class.ilECSEnrolmentStatusConnector.php';
318 $con->addEnrolmentStatus($enrol, $remote->getMid());
320 $GLOBALS[
'DIC'][
'ilLog']->write(__METHOD__ .
': update enrolment status faild with message: ' . $e->getMessage());
static getInstanceByServerId($a_server_id)
Get singleton instance per server.
Storage of ecs remote user.
getId()
get object id public
if(!defined('PATH_SEPARATOR')) $GLOBALS['_PEAR_default_error_mode']
static _lookupType($a_id, $a_reference=false)
lookup object type
Connector for course member ressource.
static factory($a_usr_id)
Get instance for usr_id.
The documentation for this class was generated from the following file: