12 define(
"IL_CRS_ADMIN",1);
13 define(
"IL_CRS_TUTOR",3);
14 define(
"IL_CRS_MEMBER",2);
16 define(
'IL_GRP_ADMIN',4);
17 define(
'IL_GRP_MEMBER',5);
19 define(
"IL_ROLE_POSITION_ADMIN",1);
20 define(
"IL_ROLE_POSITION_TUTOR",2);
21 define(
"IL_ROLE_POSITION_MEMBER",3);
63 $this->component = $a_component_name;
65 $this->obj_id = $a_obj_id;
68 $this->ref_id = current($ref_ids);
87 include_once
'./Modules/Course/classes/class.ilCourseParticipants.php';
91 include_once
'./Modules/Group/classes/class.ilGroupParticipants.php';
95 include_once
'./Modules/Session/classes/class.ilSessionParticipants.php';
100 $GLOBALS[
'ilLog']->write(__METHOD__.
': Invalid obj_id given: '.$a_obj_id);
125 $a_usr_id =
$GLOBALS[
'ilUser']->getId();
136 $part = self::getInstanceByObjId($a_obj_id);
137 if($part->isAssigned($a_usr_id))
139 if($part->getType() ==
'crs')
142 include_once
'./Modules/Course/classes/class.ilObjCourse.php';
175 if ($a_only_member_role)
177 $j2 =
"JOIN object_data obd2 ON (ua.rol_id = obd2.obj_id) ";
178 $a2 =
'AND obd2.title = '.$ilDB->concat(
180 array($ilDB->quote(
'il_',
'text')),
182 array($ilDB->quote(
'_member_',
'text')),
190 $query =
"SELECT DISTINCT obd.obj_id,obr.ref_id FROM rbac_ua ua ".
191 "JOIN rbac_fa fa ON ua.rol_id = fa.rol_id ".
192 "JOIN object_reference obr ON fa.parent = obr.ref_id ".
193 "JOIN object_data obd ON obr.obj_id = obd.obj_id ".
195 "WHERE ".$ilDB->in(
"obd.type",
$a_type,
false,
"text").
196 "AND fa.assign = 'y' ".
197 "AND ua.usr_id = ".$ilDB->quote($a_usr_id,
'integer').
" ".
200 while(
$row = $ilDB->fetchObject(
$res))
202 $ref_ids[] =
$row->obj_id;
205 return $ref_ids ? $ref_ids :
array();
222 $local_roles = $rbacreview->getRolesOfRoleFolder($a_ref_id,
false);
224 return $rbacreview->isAssignedToAtLeastOneGivenRole($a_usr_id, $local_roles);
238 $lroles = $rbacreview->getRolesOfRoleFolder($a_ref_id,
false);
239 return $rbacreview->getNumberOfAssignedUsers($lroles);
251 global $rbacreview, $ilObjDataCache;
253 $has_policies = $rbacreview->getLocalPolicies($a_ref_id);
259 $lroles = $rbacreview->getRolesOfRoleFolder($a_ref_id,
false);
261 $memberRoles =
array();
262 foreach($lroles as $role_id)
264 $title = $ilObjDataCache->lookupTitle($role_id);
265 switch(substr(
$title,0,8))
273 $memberRoles[] = $role_id;
277 return $rbacreview->getNumberOfAssignedUsers($memberRoles);
294 $query =
"SELECT * FROM obj_members ".
295 "WHERE obj_id = ".$ilDB->quote($a_obj_id,
'integer').
" ".
296 "AND usr_id = ".$ilDB->quote($a_usr_id,
'integer').
" ".
297 "AND blocked = ".$ilDB->quote(1,
'integer');
299 return $res->numRows() ? true :
false;
315 $query =
"SELECT * FROM obj_members ".
316 "WHERE obj_id = ".$ilDB->quote($a_obj_id ,
'integer').
" ".
317 "AND usr_id = ".$ilDB->quote($a_usr_id ,
'integer').
" ".
320 return $res->numRows() ? true :
false;
336 $query =
"DELETE FROM obj_members ".
337 "WHERE obj_id = ".$ilDB->quote($a_obj_id ,
'integer').
" ";
340 $query =
"DELETE FROM il_subscribers ".
341 "WHERE obj_id = ".$ilDB->quote($a_obj_id ,
'integer').
"";
344 $query =
'DELETE FROM crs_waiting_list '.
345 'WHERE obj_id = '.$ilDB->quote($a_obj_id,
'integer');
346 $ilDB->manipulate(
$query);
363 $query =
"DELETE FROM obj_members WHERE usr_id = ".$ilDB->quote($a_usr_id ,
'integer').
"";
366 $query =
"DELETE FROM il_subscribers WHERE usr_id = ".$ilDB->quote($a_usr_id ,
'integer').
"";
369 include_once
'./Modules/Course/classes/class.ilCourseWaitingList.php';
388 $roles = $rbacreview->getRolesOfRoleFolder($a_ref_id,
false);
393 if(substr(
$title, 0, 13) == (
'il_'.
$type.
'_member'))
429 $query =
"SELECT * FROM obj_members ".
430 "WHERE notification = 1 ".
431 "AND obj_id = ".$ilDB->quote($this->obj_id).
" ";
437 $recp[] =
$row->usr_id;
440 return $recp ? $recp :
array();
451 return count($this->members);
462 return count($this->participants);
476 return $this->participants ? $this->participants :
array();
488 return $this->members ? $this->members :
array();
498 return $this->admins ? $this->admins :
array();
519 return $this->tutors ? $this->tutors :
array();
531 return in_array($a_usr_id,$this->admins) ? true :
false;
543 return in_array($a_usr_id,$this->tutors) ? true :
false;
555 return in_array($a_usr_id,$this->members) ? true :
false;
570 return in_array($a_usr_id,$this->participants);
593 return $this->roles ? $this->roles :
array();
607 foreach($this->roles as $role)
609 if($rbacreview->isAssigned($a_usr_id,$role))
614 return $assigned ? $assigned :
array();
627 global $rbacreview,$rbacadmin;
631 foreach($this->
getRoles() as $role_id)
633 if($rbacreview->isAssigned($a_usr_id,$role_id))
635 if(!in_array($role_id,
$roles))
637 $rbacadmin->deassignUser($role_id,$a_usr_id);
642 if(in_array($role_id,
$roles))
644 $rbacadmin->assignUser($role_id,$a_usr_id);
648 $rbacreview->clearCaches();
664 if(!in_array($admin_id,$a_usr_ids))
681 if(isset($this->participants_status[$a_usr_id]))
683 return $this->participants_status[$a_usr_id][
'blocked'] ? true :
false;
697 if(isset($this->participants_status[$a_usr_id]))
699 return $this->participants_status[$a_usr_id][
'passed'] ? true :
false;
711 public function delete($a_usr_id)
713 global $rbacadmin,
$ilDB;
716 foreach($this->roles as $role_id)
718 $rbacadmin->deassignUser($role_id,$a_usr_id);
721 $query =
"DELETE FROM obj_members ".
722 "WHERE usr_id = ".$ilDB->quote($a_usr_id ,
'integer').
" ".
723 "AND obj_id = ".$ilDB->quote($this->obj_id ,
'integer');
729 $GLOBALS[
'ilAppEventHandler']->raise(
733 'obj_id' => $this->obj_id,
734 'usr_id' => $a_usr_id)
752 $this->participants_status[$a_usr_id][
'blocked'] = (int) $a_blocked;
754 $query =
"SELECT * FROM obj_members ".
755 "WHERE obj_id = ".$ilDB->quote($this->obj_id ,
'integer').
" ".
756 "AND usr_id = ".$ilDB->quote($a_usr_id ,
'integer');
760 $query =
"UPDATE obj_members SET ".
761 "blocked = ".$ilDB->quote((
int) $a_blocked ,
'integer').
" ".
762 "WHERE obj_id = ".$ilDB->quote($this->obj_id ,
'integer').
" ".
763 "AND usr_id = ".$ilDB->quote($a_usr_id ,
'integer');
767 $query =
"INSERT INTO obj_members (blocked,obj_id,usr_id,notification,passed) ".
769 $ilDB->quote((
int) $a_blocked ,
'integer').
", ".
770 $ilDB->quote($this->obj_id ,
'integer').
", ".
771 $ilDB->quote($a_usr_id ,
'integer').
", ".
772 $ilDB->quote(0,
'integer').
", ".
773 $ilDB->quote(0,
'integer').
794 'UPDATE obj_members SET '.
795 'contact = '.$ilDB->quote($a_contact,
'integer').
' '.
796 'WHERE obj_id = '.$ilDB->quote($this->obj_id,
'integer').
' '.
797 'AND usr_id = '.$ilDB->quote($a_usr_id,
'integer'));
799 $this->participants_status[$a_usr_id][
'contact'] = $a_contact;
810 foreach((
array) $this->participants_status as $usr_id => $status)
812 if($status[
'contact'])
814 $contacts[] = $usr_id;
835 $this->participants_status[$a_usr_id][
'notification'] = (int) $a_notification;
837 $query =
"SELECT * FROM obj_members ".
838 "WHERE obj_id = ".$ilDB->quote($this->obj_id ,
'integer').
" ".
839 "AND usr_id = ".$ilDB->quote($a_usr_id ,
'integer');
843 $query =
"UPDATE obj_members SET ".
844 "notification = ".$ilDB->quote((
int) $a_notification ,
'integer').
" ".
845 "WHERE obj_id = ".$ilDB->quote($this->obj_id ,
'integer').
" ".
846 "AND usr_id = ".$ilDB->quote($a_usr_id ,
'integer');
850 $query =
"INSERT INTO obj_members (notification,obj_id,usr_id,passed,blocked) ".
852 $ilDB->quote((
int) $a_notification ,
'integer').
", ".
853 $ilDB->quote($this->obj_id ,
'integer').
", ".
854 $ilDB->quote($a_usr_id ,
'integer').
", ".
855 $ilDB->quote(0,
'integer').
", ".
856 $ilDB->quote(0,
'integer').
875 public function add($a_usr_id,$a_role)
877 global $rbacadmin,
$ilLog,$ilAppEventHandler;
887 $this->admins[] = $a_usr_id;
891 $this->tutors[] = $a_usr_id;
895 $this->members[] = $a_usr_id;
899 $this->admins[] = $a_usr_id;
903 $this->members[] = $a_usr_id;
907 $this->participants[] = $a_usr_id;
908 $rbacadmin->assignUser($this->role_data[$a_role],$a_usr_id);
914 include_once
'./Services/Membership/classes/class.ilWaitingList.php';
917 $ilLog->write(__METHOD__.
': Raise new event: '.$this->getComponent().
' addParticipant');
918 $ilAppEventHandler->raise(
922 'obj_id' => $this->obj_id,
923 'usr_id' => $a_usr_id,
924 'role_id' => $a_role)
939 foreach($a_user_ids as $user_id)
941 $this->
delete($user_id);
990 if(isset($this->participants_status[$a_usr_id]))
992 return $this->participants_status[$a_usr_id][
'notification'] ? true :
false;
1004 if(isset($this->participants_status[$a_usr_id]))
1006 return (
bool) $this->participants_status[$a_usr_id][
'contact'];
1019 if(array_key_exists($a_role_type, $this->role_data))
1021 return $this->role_data[$a_role_type];
1037 global $rbacreview,$ilObjDataCache,
$ilLog;
1039 $GLOBALS[
'rbacreview']->clearCaches();
1040 $this->roles = $rbacreview->getRolesOfRoleFolder($this->ref_id,
false);
1043 $this->participants =
array();
1044 $this->members = $this->admins = $this->tutors =
array();
1046 $additional_roles = [];
1047 $auto_generated_roles = [];
1048 foreach($this->roles as $role_id)
1050 $title = $ilObjDataCache->lookupTitle($role_id);
1051 switch(substr(
$title,0,8))
1056 $this->participants = array_unique(array_merge($assigned = $rbacreview->assignedUsers($role_id),
$this->participants));
1057 $this->members = array_unique(array_merge($assigned,$this->members));
1058 $this->role_assignments[$role_id] = $assigned;
1064 $this->participants = array_unique(array_merge($assigned = $rbacreview->assignedUsers($role_id),
$this->participants));
1065 $this->admins = $rbacreview->assignedUsers($role_id);
1066 $this->role_assignments[$role_id] = $assigned;
1072 $this->participants = array_unique(array_merge($assigned = $rbacreview->assignedUsers($role_id),
$this->participants));
1073 $this->tutors = $rbacreview->assignedUsers($role_id);
1074 $this->role_assignments[$role_id] = $assigned;
1080 $this->participants = array_unique(array_merge($assigned = $rbacreview->assignedUsers($role_id),
$this->participants));
1081 $this->admins = $rbacreview->assignedUsers($role_id);
1082 $this->role_assignments[$role_id] = $assigned;
1088 $this->participants = array_unique(array_merge($assigned = $rbacreview->assignedUsers($role_id),
$this->participants));
1089 $this->members = $rbacreview->assignedUsers($role_id);
1090 $this->role_assignments[$role_id] = $assigned;
1094 $additional_roles[$role_id] =
$title;
1095 $this->participants = array_unique(array_merge($assigned = $rbacreview->assignedUsers($role_id),
$this->participants));
1096 $this->members = array_unique(array_merge($assigned,$this->members));
1097 $this->role_assignments[$role_id] = $assigned;
1101 asort($auto_generated_roles);
1102 asort($additional_roles);
1103 $this->roles_sorted = $auto_generated_roles + $additional_roles;
1117 $query =
"SELECT * FROM obj_members ".
1118 "WHERE obj_id = ".$ilDB->quote($this->obj_id ,
'integer').
" ";
1120 $this->participants_status =
array();
1123 $this->participants_status[
$row->usr_id][
'blocked'] =
$row->blocked;
1124 $this->participants_status[
$row->usr_id][
'notification'] =
$row->notification;
1125 $this->participants_status[
$row->usr_id][
'passed'] =
$row->passed;
1127 $this->participants_status[
$row->usr_id][
'contact'] =
$row->contact;
1141 global $rbacreview,$ilObjDataCache,
$ilDB;
1146 include_once
'./Services/User/classes/class.ilObjUser.php';
1152 $and =
"AND login = ".$ilDB->quote($tmp_user->getLogin(),
'text').
" ";
1155 $and =
"AND email = ".$ilDB->quote($tmp_user->getEmail(),
'text').
" ";
1157 case 'matriculation':
1158 $and =
"AND matriculation = ".$ilDB->quote($tmp_user->getMatriculation(),
'text').
" ";
1162 $and =
"AND usr_id = ".$ilDB->quote($a_usr_id,
'integer').
" ";
1171 $query =
"SELECT * FROM usr_data ud ".
1172 "WHERE ".$ilDB->in(
'usr_id',$this->
getParticipants(),
false,
'integer').
" ".
1176 return $res->numRows() ? true :
false;
1185 $query =
"SELECT usr_id FROM il_subscribers ".
1186 "WHERE obj_id = ".$ilDB->quote($a_obj_id ,
'integer').
" ".
1187 "ORDER BY sub_time ";
1239 if(!is_array($a_usr_ids)
or !count($a_usr_ids))
1243 foreach($a_usr_ids as $id)
1262 $ilErr->setMessage(
"");
1265 $ilErr->appendMessage($this->lng->txt(
"crs_user_notsubscribed"));
1272 $ilErr->appendMessage($tmp_obj->getLogin().
": ".$this->lng->txt(
"crs_user_already_assigned"));
1279 $ilErr->appendMessage($this->lng->txt(
"crs_user_not_exists"));
1307 foreach($this->subscribers as $subscriber)
1316 #$this->sendNotification($this->NOTIFY_ACCEPT_SUBSCRIBER,$subscriber); 1333 $query =
"INSERT INTO il_subscribers (usr_id,obj_id,subject,sub_time) ".
1335 $ilDB->quote($a_usr_id ,
'integer').
",".
1336 $ilDB->quote($this->obj_id ,
'integer').
", ".
1337 $ilDB->quote(
'',
'text').
", ".
1338 $ilDB->quote(
time() ,
'integer').
1355 $query =
"UPDATE il_subscribers ".
1356 "SET sub_time = ".$ilDB->quote($a_subtime ,
'integer').
" ".
1357 "WHERE usr_id = ".$ilDB->quote($a_usr_id ,
'integer').
" ".
1358 "AND obj_id = ".$ilDB->quote($this->obj_id ,
'integer').
" ";
1375 $query =
"UPDATE il_subscribers ".
1376 "SET subject = ".$ilDB->quote($a_subject ,
'text').
" ".
1377 "WHERE usr_id = ".$ilDB->quote($a_usr_id ,
'integer').
" ".
1378 "AND obj_id = ".$ilDB->quote($this->obj_id ,
'integer').
" ";
1393 $query =
"DELETE FROM il_subscribers ".
1394 "WHERE usr_id = ".$ilDB->quote($a_usr_id ,
'integer').
" ".
1395 "AND obj_id = ".$ilDB->quote($this->obj_id ,
'integer').
" ";
1411 if(!is_array($a_usr_ids)
or !count($a_usr_ids))
1413 $ilErr->setMessage(
'');
1414 $ilErr->appendMessage($this->lng->txt(
"no_usr_ids_given"));
1418 $query =
"DELETE FROM il_subscribers ".
1419 "WHERE ".$ilDB->in(
'usr_id',(
array) $a_usr_ids,
false,
'integer').
" ".
1420 "AND obj_id = ".$ilDB->quote($this->obj_id,
'integer');
1435 $query =
"SELECT * FROM il_subscribers ".
1436 "WHERE usr_id = ".$ilDB->quote($a_usr_id ,
'integer').
" ".
1437 "AND obj_id = ".$ilDB->quote($this->obj_id ,
'integer').
"";
1457 $query =
"SELECT * FROM il_subscribers ".
1458 "WHERE usr_id = ".$ilDB->quote($a_usr_id ,
'integer').
" ".
1459 "AND obj_id = ".$ilDB->quote($a_obj_id ,
'integer').
"";
1478 $this->subscribers =
array();
1480 $query =
"SELECT usr_id FROM il_subscribers ".
1481 "WHERE obj_id = ".$ilDB->quote($this->obj_id ,
'integer').
" ".
1482 "ORDER BY sub_time ";
1492 $this->subscribers[] =
$row->usr_id;
1506 $query =
"SELECT * FROM il_subscribers ".
1507 "WHERE obj_id = ".$ilDB->quote($this->obj_id ,
'integer').
" ".
1508 "AND usr_id = ".$ilDB->quote($a_usr_id ,
'integer').
"";
1524 $query =
'SELECT * FROM il_subscribers '.
1525 'WHERE obj_id = '.$ilDB->quote($a_obj_id,
'integer');
1553 $j2 =
"JOIN object_data obd2 ON (ua.rol_id = obd2.obj_id) ";
1554 $a2 =
"AND obd2.title LIKE 'il_".$a_type.
"_mem%' ";
1557 $query =
"SELECT DISTINCT obd.obj_id,obr.ref_id FROM rbac_ua ua ".
1558 "JOIN rbac_fa fa ON ua.rol_id = fa.rol_id ".
1559 "JOIN object_reference obr ON fa.parent = obr.ref_id ".
1560 "JOIN object_data obd ON obr.obj_id = obd.obj_id ".
1562 "WHERE obd.type = ".$ilDB->quote(
$a_type,
'text').
" ".
1563 "AND fa.assign = 'y' ".
1564 "AND ua.usr_id = ".$ilDB->quote($a_usr_id,
'integer').
" ".
1569 while(
$row = $ilDB->fetchObject(
$res))
1571 $obj_ids[] =
$row->obj_id;
1574 $set = $ilDB->query(
"SELECT obj_id, usr_id FROM obj_members ".
1575 " WHERE ".$ilDB->in(
"obj_id", $obj_ids,
false,
"integer").
1576 " AND contact = ".$ilDB->quote(1,
"integer"));
1578 while ($rec = $ilDB->fetchAssoc($set))
1594 $sortable_assignments =
'9999999999';
1595 foreach($this->roles_sorted as $role_id => $trash)
1597 if(in_array($a_user_id,(
array) $this->role_assignments[$role_id]))
1599 $sortable_assignments = substr_replace($sortable_assignments,
'1',
$counter,1);
1603 return $sortable_assignments;
getObjId()
get current obj_id
static _isParticipant($a_ref_id, $a_usr_id)
Static function to check if a user is a participant of the container object.
getCountMembers()
Get number of members (not participants)
static _getAllSupportContactsOfUser($a_usr_id, $a_type)
Get all support contacts for a user.
addDesktopItem($a_usr_id)
Add desktop item.
static _isSubscriber($a_obj_id, $a_usr_id)
check if user is subscriber
static _deleteAllEntries($a_obj_id)
Delete all entries Normally called for course deletion.
autoFillSubscribers()
Assign subscriber.
static lookupNumberOfParticipants($a_ref_id)
Lookup the number of participants (crs admins, tutors, members, grp admins, members) ...
static lookupNumberOfMembers($a_ref_id)
Lookup number of members ilRbacReview $rbacreview <type> $ilObjDataCache.
updateContact($a_usr_id, $a_contact)
Update contact setting type $ilDB.
readParticipantsStatus()
Read status of participants (blocked, notification, passed)
checkLastAdmin($a_usr_ids)
Check if user for deletion are last admins.
deleteParticipants($a_user_ids)
Delete users.
isAssigned($a_usr_id)
check if user is assigned
isLastAdmin($a_usr_id)
Check if user is last admin.
getCountAdmins()
Get number of admins.
static lookupSubscribers($a_obj_id)
updateBlocked($a_usr_id, $a_blocked)
Update blocked status.
static _deleteUser($a_usr_id)
Delete user.
query($sql, $a_handle_error=true)
Query.
assignSubscriber($a_usr_id)
Assign subscriber.
isAdmin($a_usr_id)
is user admin
static _getMembershipByType($a_usr_id, $a_type, $a_only_member_role=false)
get membership by type Get course or group membership
$GLOBALS['loaded']
Global hash that tracks already loaded includes.
static _getInstanceByObjId($a_obj_id)
Get singleton instance.
isNotificationEnabled($a_usr_id)
check if notification is enabled
readSubscriberData($a_usr_id)
read subscribers
static _lookupTitle($a_id)
lookup object title
isMember($a_usr_id)
is user member
readSubscribers()
read subscribers
static getDefaultMemberRole($a_ref_id)
static _isBlocked($a_obj_id, $a_usr_id)
Check if user is blocked.
dropDesktopItem($a_usr_id)
Drop desktop item.
getAutoGeneratedRoleId($a_role_type)
Get role id of auto generated role type.
deleteSubscriber($a_usr_id)
Delete subsciber.
getAssignedRoles($a_usr_id)
Get assigned roles.
const IL_ROLE_POSITION_MEMBER
updateSubject($a_usr_id, $a_subject)
update subject
static _getInstanceByObjId($a_obj_id)
Get singleton instance.
add($a_usr_id, $a_role)
Add user to course.
static hasParticipantListAccess($a_obj_id, $a_usr_id=null)
Check if (current) user has access to the participant list.
static _getAllReferences($a_id)
get all reference ids of object
updateNotification($a_usr_id, $a_notification)
Update notification status.
getCountSubscribers()
get number of subscribers
static lookupShowMembersEnabled($a_obj_id)
Check if show member is enabled.
setRoleOrderPosition($a_user_id)
Set role order position.
deleteSubscribers($a_usr_ids)
Delete subscibers.
getMembers()
Get all members ids (admins and tutors are not members) Use get participants to fetch all...
__construct($a_component_name, $a_obj_id)
Singleton Constructor.
updateSubscriptionTime($a_usr_id, $a_subtime)
Update subscription time.
isSubscriber($a_usr_id)
check if is subscriber
getCountParticipants()
Get number of participants.
getSubscribers()
get all subscribers
static _lookupObjId($a_id)
getParticipants()
Get all participants ids.
addSubscriber($a_usr_id)
Add subscriber.
static _dropDesktopItem($a_usr_id, $a_item_id, $a_type)
drop an item from user's personal desktop
static _hasPassed($a_obj_id, $a_usr_id)
Check if user has passed course.
isContact($a_usr_id)
Check if user is contact.
const IL_CRS_ADMIN
Base class for course and group participants.
isBlocked($a_usr_id)
Check if user is blocked.
static getInstanceByObjId($a_obj_id, $stop_on_error=true)
get an instance of an Ilias object by object id
static _getInstanceByObjId($a_obj_id)
Get singleton instance.
Create styles array
The data for the language used.
static _lookupType($a_id, $a_reference=false)
lookup object type
hasPassed($a_usr_id)
Check if user has passed course.
getRoles()
Get course roles.
static lookupSubscribersData($a_obj_id)
assignSubscribers($a_usr_ids)
Assign subscribers.
static _addDesktopItem($a_usr_id, $a_item_id, $a_type, $a_par="")
add an item to user's personal desktop
updateRoleAssignments($a_usr_id, $a_roles)
Update role assignments.
getAdmins()
Get all admins ids.
getComponent()
Get component name Used for raising events.
static _deleteUser($a_usr_id)
Delete user data.
const IL_ROLE_POSITION_ADMIN
getNotificationRecipients()
Get admin, tutor which have notification enabled.
getContacts()
get user ids which are confirgured as contact
static deleteUserEntry($a_usr_id, $a_obj_id)
Delete one user entry.
Add data(end) time
Method that wraps PHPs time in order to allow simulations with the workflow.
static getInstanceByObjId($a_obj_id)
Get instance by obj type.
isGroupingMember($a_usr_id, $a_field='')
Check grouping membership.
getType()
Get object type.
isTutor($a_usr_id)
is user tutor
getSubscriberData($a_usr_id)
get subscriber data
const IL_ROLE_POSITION_TUTOR
static _isDesktopItem($a_usr_id, $a_item_id, $a_type)
check wether an item is on the users desktop or not
readParticipants()
Read participants.
getTutors()
Get all tutors ids.