ILIAS  release_8 Revision v8.24
ilCourseMembershipGUI Class Reference

This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Learning e.V. More...

+ Inheritance diagram for ilCourseMembershipGUI:
+ Collaboration diagram for ilCourseMembershipGUI:

Public Member Functions

 filterUserIdsByRbacOrPositionOfCurrentUser (array $a_user_ids)
 Filter user ids by access. More...
 
 assignMembers (array $a_usr_ids, string $a_type)
 callback from repository search gui More...
 
 getLocalTypeRole (bool $a_translation=false)
 
 readMemberData (array $usr_ids, array $columns, bool $skip_names=false)
 
 getAttendanceListUserData (int $user_id, array $filters=[])
 
- Public Member Functions inherited from ilMembershipGUI
 __construct (ilObjectGUI $repository_gui, ilObject $repository_obj)
 
 getParentGUI ()
 
 getParentObject ()
 
 getMembersObject ()
 
 filterUserIdsByRbacOrPositionOfCurrentUser (array $a_user_ids)
 Filter user ids by access. More...
 
 executeCommand ()
 
 getAttendanceListUserData (int $user_id, array $filters=[])
 
 updateParticipants ()
 update members More...
 
 createMailSignature ()
 Create Mail signature. More...
 
 addMemberTab (ilTabsGUI $tabs, bool $a_is_participant=false)
 
 readMemberData (array $usr_ids, array $columns)
 Required for member table guis. More...
 
 getLocalRoles ()
 
 confirmAssignSubscribers ()
 Show subscription confirmation. More...
 
 confirmRefuseSubscribers ()
 Refuse subscriber confirmation. More...
 
 assignSubscribers ()
 Do assignment of subscription request. More...
 
 confirmAssignFromWaitingList ()
 Assign from waiting list (confirmatoin) More...
 
 assignFromWaitingList ()
 Assign from waiting list. More...
 
 confirmRefuseFromList ()
 Refuse from waiting list (confirmation) More...
 

Protected Member Functions

 getMailMemberRoles ()
 
 getMailContextOptions ()
 
 showDeleteParticipantsConfirmationWithLinkedCourses (array $participants)
 Show deletion confirmation with linked courses. More...
 
 deleteParticipantsWithLinkedCourses ()
 
 initParticipantStatusFromPostFor (string $item_key)
 
 updateParticipantsStatus ()
 
 initParticipantTableGUI ()
 
 initEditParticipantTableGUI (array $participants)
 
 initParticipantTemplate ()
 
 updateLPFromStatus (int $a_member_id, bool $a_passed)
 
 initWaitingList ()
 
 getDefaultRole ()
 
 deliverCertificate ()
 
 getPrintMemberData (array $a_members)
 
- Protected Member Functions inherited from ilMembershipGUI
 initParticipantsFromPost ()
 
 initMemberIdFromGet ()
 
 initSubscribersFromPost ()
 
 initWaitingListIdsFromPost ()
 
 getLanguage ()
 
 getCtrl ()
 
 getLogger ()
 
 getMailMemberRoles ()
 
 checkPermissionBool (string $a_permission, string $a_cmd='', string $a_type='', int $a_ref_id=0)
 
 checkRbacOrPositionAccessBool (string $a_rbac_perm, string $a_pos_perm, int $a_ref_id=0)
 
 checkPermission (string $a_permission, string $a_cmd="")
 Check permission If not granted redirect to parent gui. More...
 
 checkRbacOrPermissionAccess (string $a_rbac_perm, string $a_pos_perm)
 check rbac or position access More...
 
 canAddOrSearchUsers ()
 Check if current user is allowed to add / search users. More...
 
 participants ()
 Show participant table, subscriber table, wating list table;. More...
 
 participantsApplyFilter ()
 Apply filter for participant table. More...
 
 participantsResetFilter ()
 reset participants filter More...
 
 editMember ()
 Edit one participant. More...
 
 editParticipants (array $post_participants=array())
 Edit participants. More...
 
 updateLPFromStatus (int $usr_id, bool $has_passed)
 
 confirmDeleteParticipants ()
 Show confirmation screen for participants deletion. More...
 
 deleteParticipants ()
 
 sendMailToSelectedUsers ()
 
 getMailContextOptions ()
 
 membersMap ()
 Members map. More...
 
 mailMembersBtn ()
 
 showParticipantsToolbar ()
 Show participants toolbar. More...
 
 showMemberExportToolbarButton (ilToolbarGUI $toolbar, ?string $a_back_cmd=null, bool $a_separator=false)
 
 showMailToMemberToolbarButton (ilToolbarGUI $toolbar, ?string $a_back_cmd=null, bool $a_separator=false)
 Show mail to member toolbar button. More...
 
 getDefaultCommand ()
 
 getMemberTabName ()
 
 setSubTabs (ilTabsGUI $tabs)
 Set sub tabs. More...
 
 parseSubscriberTable ()
 Parse table of subscription request. More...
 
 initSubscriberTable ()
 
 refuseSubscribers ()
 
 parseWaitingListTable ()
 Parse table of subscription request. More...
 
 refuseFromList ()
 refuse from waiting list More...
 
 addToClipboard ()
 Add selected users to user clipboard. More...
 
 getDefaultRole ()
 
 activateSubTab (string $a_sub_tab)
 
 printMembers ()
 
 printMembersOutput ()
 print members output More...
 
 printForMembersOutput ()
 print members output More...
 
 jump2UsersGallery ()
 
 initAttendanceList (bool $a_for_members=false)
 

Additional Inherited Members

- Protected Attributes inherited from ilMembershipGUI
GlobalHttpState $http
 
Factory $refinery
 
ilLanguage $lng
 
ilCtrlInterface $ctrl
 
ilLogger $logger
 
ilGlobalTemplateInterface $tpl
 
ilAccessHandler $access
 
ilParticipants $participants = null
 
ilObjUser $user
 
ilErrorHandling $error
 
ilTabsGUI $tabs
 
ilToolbarGUI $toolbar
 
ilRbacSystem $rbacsystem
 
ilRbacReview $rbacreview
 
ilTree $tree
 
array $member_data = []
 

Detailed Description

This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Learning e.V.

ILIAS is licensed with the GPL-3.0, see https://www.gnu.org/licenses/gpl-3.0.en.html You should have received a copy of said license along with the source code, too.

If this is not the case or you just want to try ILIAS, you'll find us at: https://www.ilias.de https://github.com/ILIAS-eLearning Member-tab content

Author
Stefan Meyer smeye.nosp@m.r.il.nosp@m.ias@g.nosp@m.mx.d.nosp@m.e @ilCtrl_Calls ilCourseMembershipGUI: ilMailMemberSearchGUI, ilUsersGalleryGUI, ilRepositorySearchGUI @ilCtrl_Calls ilCourseMembershipGUI: ilCourseParticipantsGroupsGUI, ilObjectCustomuserFieldsGUI @ilCtrl_Calls ilCourseMembershipGUI: ilSessionOverviewGUI @ilCtrl_Calls ilCourseMembershipGUI: ilMemberExportGUI

Definition at line 29 of file class.ilCourseMembershipGUI.php.

Member Function Documentation

◆ assignMembers()

ilCourseMembershipGUI::assignMembers ( array  $a_usr_ids,
string  $a_type 
)

callback from repository search gui

Definition at line 156 of file class.ilCourseMembershipGUI.php.

156 : bool
157 {
158 $a_type = (int) $a_type;
159 if (!$this->checkRbacOrPositionAccessBool('manage_members', 'manage_members')) {
160 $this->error->raiseError($this->lng->txt("msg_no_perm_read"), $this->error->FATAL);
161 }
162 if ($a_usr_ids === []) {
163 $this->tpl->setOnScreenMessage('failure', $this->lng->txt("crs_no_users_selected"), true);
164 return false;
165 }
166 $a_usr_ids = $this->filterUserIdsByRbacOrPositionOfCurrentUser($a_usr_ids);
167
168 $added_users = 0;
169 foreach ($a_usr_ids as $user_id) {
170 if (!$tmp_obj = ilObjectFactory::getInstanceByObjId($user_id, false)) {
171 continue;
172 }
173 if ($this->getMembersObject()->isAssigned($user_id)) {
174 continue;
175 }
176 switch ($a_type) {
177 case $this->getParentObject()->getDefaultMemberRole():
178 $this->getMembersObject()->add($user_id, ilParticipants::IL_CRS_MEMBER);
179 break;
180 case $this->getParentObject()->getDefaultTutorRole():
181 $this->getMembersObject()->add($user_id, ilParticipants::IL_CRS_TUTOR);
182 break;
183 case $this->getParentObject()->getDefaultAdminRole():
184 $this->getMembersObject()->add($user_id, ilParticipants::IL_CRS_ADMIN);
185 break;
186 default:
187 if (in_array($a_type, $this->getParentObject()->getLocalCourseRoles(true))) {
188 $this->getMembersObject()->add($user_id, ilParticipants::IL_CRS_MEMBER);
189 $this->getMembersObject()->updateRoleAssignments($user_id, (array) $a_type);
190 } else {
191 ilLoggerFactory::getLogger('crs')->notice('Can\'t find role with id .' . $a_type . ' to assign users.');
192 $this->tpl->setOnScreenMessage('failure', $this->lng->txt("crs_cannot_find_role"), true);
193 return false;
194 }
195 break;
196 }
198
199 $this->getParentObject()->checkLPStatusSync($user_id);
200
201 ++$added_users;
202 }
203 if ($added_users) {
204 $this->tpl->setOnScreenMessage('success', $this->lng->txt("crs_users_added"), true);
205 $this->ctrl->redirect($this, 'participants');
206 }
207 $this->tpl->setOnScreenMessage('failure', $this->lng->txt("crs_users_already_assigned"), true);
208 return false;
209 }
error(string $a_errmsg)
filterUserIdsByRbacOrPositionOfCurrentUser(array $a_user_ids)
Filter user ids by access.
static getLogger(string $a_component_id)
Get component logger.
checkRbacOrPositionAccessBool(string $a_rbac_perm, string $a_pos_perm, int $a_ref_id=0)
static getInstanceByObjId(?int $obj_id, bool $stop_on_error=true)
get an instance of an Ilias object by object id

References ilMembershipGUI\checkRbacOrPositionAccessBool(), ILIAS\Repository\ctrl(), error(), filterUserIdsByRbacOrPositionOfCurrentUser(), ilObjectFactory\getInstanceByObjId(), ilLoggerFactory\getLogger(), ilMembershipGUI\getMembersObject(), ilMembershipGUI\getParentObject(), ilParticipants\IL_CRS_ADMIN, ilParticipants\IL_CRS_MEMBER, ilParticipants\IL_CRS_TUTOR, ILIAS\Repository\int(), ILIAS\Repository\lng(), and ilCourseMembershipMailNotification\TYPE_ADMISSION_MEMBER.

+ Here is the call graph for this function:

◆ deleteParticipantsWithLinkedCourses()

ilCourseMembershipGUI::deleteParticipantsWithLinkedCourses ( )
protected

Definition at line 88 of file class.ilCourseMembershipGUI.php.

88 : void
89 {
91
92 if (!is_array($participants) || $participants === []) {
93 $this->tpl->setOnScreenMessage('failure', $this->lng->txt("no_checkbox"), true);
94 $this->ctrl->redirect($this, 'participants');
95 }
96
97 // If the user doesn't have the edit_permission and is not administrator, he may not remove
98 // members who have the course administrator role
99 if (
100 !$this->access->checkAccess('edit_permission', '', $this->getParentObject()->getRefId()) &&
101 !$this->getMembersObject()->isAdmin($this->user->getId())
102 ) {
103 foreach ($participants as $part) {
104 if ($this->getMembersObject()->isAdmin($part)) {
105 $this->tpl->setOnScreenMessage('failure', $this->lng->txt('msg_no_perm_perm'), true);
106 $this->ctrl->redirect($this, 'participants');
107 }
108 }
109 }
110
112 $this->tpl->setOnScreenMessage('failure', 'Error deleting participants.', true);
113 $this->ctrl->redirect($this, 'participants');
114 } else {
115 foreach ($this->initParticipantsFromPost() as $usr_id) {
116 $mail_type = 0;
117 switch ($this->getParentObject()->getType()) {
118 case 'crs':
120 break;
121 }
122 $this->getMembersObject()->sendNotification($mail_type, $usr_id);
123 }
124 }
125
126 $refs = [];
127 if ($this->http->wrapper()->post()->has('refs')) {
128 $refs = $this->http->wrapper()->post()->retrieve(
129 'refs',
130 $this->refinery->kindlyTo()->dictOf(
131 $this->refinery->kindlyTo()->dictOf(
132 $this->refinery->kindlyTo()->int()
133 )
134 )
135 );
136 }
137
138 // Delete course reference assignments
139 foreach ($refs as $usr_id => $usr_info) {
140 foreach ((array) $usr_info as $course_ref_id => $tmp) {
141 $part = ilParticipants::getInstance($course_ref_id);
142 $part->delete($usr_id);
143 }
144 }
145 $this->tpl->setOnScreenMessage(
146 'success',
147 $this->lng->txt($this->getParentObject()->getType() . "_members_deleted"),
148 true
149 );
150 $this->ctrl->redirect($this, "participants");
151 }
ilParticipants $participants
static getInstance(int $a_ref_id)
static http()
Fetches the global http state from ILIAS.

References ilMembershipGUI\$participants, ILIAS\Repository\access(), ILIAS\Repository\ctrl(), ilMembershipGUI\deleteParticipants(), ilParticipants\getInstance(), ilMembershipGUI\getMembersObject(), ilMembershipGUI\getParentObject(), ILIAS\FileDelivery\http(), ilMembershipGUI\initParticipantsFromPost(), ILIAS\Repository\lng(), ILIAS\Repository\refinery(), and ilCourseMembershipMailNotification\TYPE_DISMISS_MEMBER.

+ Here is the call graph for this function:

◆ deliverCertificate()

ilCourseMembershipGUI::deliverCertificate ( )
protected

Definition at line 341 of file class.ilCourseMembershipGUI.php.

341 : void
342 {
343 $this->getParentGUI()->deliverCertificateObject();
344 }

References ilMembershipGUI\getParentGUI().

+ Here is the call graph for this function:

◆ filterUserIdsByRbacOrPositionOfCurrentUser()

ilCourseMembershipGUI::filterUserIdsByRbacOrPositionOfCurrentUser ( array  $a_user_ids)

Filter user ids by access.

Parameters
int[]$a_user_ids
Returns
int[]

Reimplemented from ilMembershipGUI.

Definition at line 41 of file class.ilCourseMembershipGUI.php.

41 : array
42 {
43 return $GLOBALS['DIC']->access()->filterUserIdsByRbacOrPositionOfCurrentUser(
44 'manage_members',
45 'manage_members',
46 $this->getParentObject()->getRefId(),
47 $a_user_ids
48 );
49 }
if(!defined('PATH_SEPARATOR')) $GLOBALS['_PEAR_default_error_mode']
Definition: PEAR.php:64

References $GLOBALS, and ilMembershipGUI\getParentObject().

Referenced by assignMembers().

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

◆ getAttendanceListUserData()

ilCourseMembershipGUI::getAttendanceListUserData ( int  $user_id,
array  $filters = [] 
)

Reimplemented from ilMembershipGUI.

Definition at line 452 of file class.ilCourseMembershipGUI.php.

452 : array
453 {
454 if (is_array($this->member_data) && array_key_exists($user_id, $this->member_data)) {
455 return $this->member_data[$user_id];
456 }
457 return [];
458 }

◆ getDefaultRole()

ilCourseMembershipGUI::getDefaultRole ( )
protected

Reimplemented from ilMembershipGUI.

Definition at line 336 of file class.ilCourseMembershipGUI.php.

336 : ?int
337 {
338 return $this->getParentGUI()->getObject()->getDefaultMemberRole();
339 }

References ilMembershipGUI\getParentGUI().

+ Here is the call graph for this function:

◆ getLocalTypeRole()

ilCourseMembershipGUI::getLocalTypeRole ( bool  $a_translation = false)
Todo:
refactor delete

Definition at line 316 of file class.ilCourseMembershipGUI.php.

316 : array
317 {
318 return $this->getParentObject()->getLocalCourseRoles($a_translation);
319 }

References ilMembershipGUI\getParentObject().

+ Here is the call graph for this function:

◆ getMailContextOptions()

◆ getMailMemberRoles()

ilCourseMembershipGUI::getMailMemberRoles ( )
protected

Reimplemented from ilMembershipGUI.

Definition at line 31 of file class.ilCourseMembershipGUI.php.

32 {
33 return new ilMailMemberCourseRoles();
34 }
Class ilAbstractMailMemberRoles.
Class ilMailMemberCourseRoles.

◆ getPrintMemberData()

ilCourseMembershipGUI::getPrintMemberData ( array  $a_members)
protected

Definition at line 346 of file class.ilCourseMembershipGUI.php.

346 : array
347 {
348 $this->lng->loadLanguageModule('trac');
349
350 $is_admin = true;
352
353 if ($privacy->enabledCourseAccessTimes()) {
355 }
356
357 $show_tracking =
359 if ($show_tracking) {
361 $show_tracking = $olp->isActive();
362 }
363
364 if ($show_tracking) {
368 }
369
370 $profile_data = ilObjUser::_readUsersProfileData($a_members);
371
372 // course defined fields
374
375 $print_member = [];
376 foreach ($a_members as $member_id) {
377 // GET USER OBJ
378 if ($tmp_obj = ilObjectFactory::getInstanceByObjId($member_id, false)) {
379 // udf
380 $udf_data = new ilUserDefinedData($member_id);
381 foreach ($udf_data->getAll() as $field => $value) {
382 list($f, $field_id) = explode('_', $field);
383 $print_member[$member_id]['udf_' . $field_id] = (string) $value;
384 }
385
386 foreach ((array) ($cdfs[$member_id] ?? []) as $cdf_field => $cdf_value) {
387 $print_member[$member_id]['cdf_' . $cdf_field] = (string) $cdf_value;
388 }
389
390 foreach ((array) $profile_data[$member_id] as $field => $value) {
391 $print_member[$member_id][$field] = $value;
392 }
393
394 $print_member[$member_id]['login'] = $tmp_obj->getLogin();
395 $print_member[$member_id]['name'] = $tmp_obj->getLastname() . ', ' . $tmp_obj->getFirstname();
396
397 if ($this->getMembersObject()->isAdmin($member_id)) {
398 $print_member[$member_id]['role'] = $this->lng->txt("il_crs_admin");
399 } elseif ($this->getMembersObject()->isTutor($member_id)) {
400 $print_member[$member_id]['role'] = $this->lng->txt("il_crs_tutor");
401 } elseif ($this->getMembersObject()->isMember($member_id)) {
402 $print_member[$member_id]['role'] = $this->lng->txt("il_crs_member");
403 }
404 if ($this->getMembersObject()->isAdmin($member_id) || $this->getMembersObject()->isTutor($member_id)) {
405 if ($this->getMembersObject()->isNotificationEnabled($member_id)) {
406 $print_member[$member_id]['status'] = $this->lng->txt("crs_notify");
407 } else {
408 $print_member[$member_id]['status'] = $this->lng->txt("crs_no_notify");
409 }
410 } else {
411 if ($this->getMembersObject()->isBlocked($member_id)) {
412 $print_member[$member_id]['status'] = $this->lng->txt("crs_blocked");
413 } else {
414 $print_member[$member_id]['status'] = $this->lng->txt("crs_unblocked");
415 }
416 }
417
418 if ($is_admin) {
419 $print_member[$member_id]['passed'] = $this->getMembersObject()->hasPassed($member_id) ?
420 $this->lng->txt('crs_member_passed') :
421 $this->lng->txt('crs_member_not_passed');
422 }
423 if ($privacy->enabledCourseAccessTimes()) {
424 if (isset($progress[$member_id]['ts']) && $progress[$member_id]['ts']) {
426 $print_member[$member_id]['access'] = ilDatePresentation::formatDate(new ilDateTime(
427 $progress[$member_id]['ts'],
429 ));
431 } else {
432 $print_member[$member_id]['access'] = $this->lng->txt('no_date');
433 }
434 }
435 if ($show_tracking) {
436 if (in_array($member_id, $completed)) {
437 $print_member[$member_id]['progress'] = $this->lng->txt(ilLPStatus::LP_STATUS_COMPLETED);
438 } elseif (in_array($member_id, $in_progress)) {
439 $print_member[$member_id]['progress'] = $this->lng->txt(ilLPStatus::LP_STATUS_IN_PROGRESS);
440 } elseif (in_array($member_id, $failed)) {
441 $print_member[$member_id]['progress'] = $this->lng->txt(ilLPStatus::LP_STATUS_FAILED);
442 } else {
443 $print_member[$member_id]['progress'] = $this->lng->txt(ilLPStatus::LP_STATUS_NOT_ATTEMPTED);
444 }
445 }
446 }
447 }
448 $print_order = (string) (ilSession::get('crs_print_order') ?? '');
449 return ilArrayUtil::sortArray($print_member, 'name', $print_order, false, true);
450 }
const IL_CAL_UNIX
static sortArray(array $array, string $a_array_sortby_key, string $a_array_sortorder="asc", bool $a_numeric=false, bool $a_keep_keys=false)
static _getValuesByObjId(int $a_obj_id)
static setUseRelativeDates(bool $a_status)
set use relative dates
static formatDate(ilDateTime $date, bool $a_skip_day=false, bool $a_include_wd=false, bool $include_seconds=false)
@classDescription Date and time handling
static _lookupCompletedForObject(int $a_obj_id, ?array $a_user_ids=null)
static _lookupFailedForObject(int $a_obj_id, ?array $a_user_ids=null)
static _lookupInProgressForObject(int $a_obj_id, ?array $a_user_ids=null)
const LP_STATUS_COMPLETED
const LP_STATUS_FAILED
const LP_STATUS_NOT_ATTEMPTED
const LP_STATUS_IN_PROGRESS
static _lookupProgressByObjId(int $a_obj_id)
lookup progress for a specific object
static _readUsersProfileData(array $a_user_ids)
static getInstance(int $obj_id)
static get(string $a_var)
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...

References Vendor\Package\$f, ilObjUserTracking\_enabledLearningProgress(), ilObjUserTracking\_enabledUserRelatedData(), ilCourseUserData\_getValuesByObjId(), ilLPStatusWrapper\_lookupCompletedForObject(), ilLPStatusWrapper\_lookupFailedForObject(), ilLPStatusWrapper\_lookupInProgressForObject(), ilLearningProgress\_lookupProgressByObjId(), ilObjUser\_readUsersProfileData(), ilDatePresentation\formatDate(), ilSession\get(), ILIAS\Survey\Mode\getId(), ilPrivacySettings\getInstance(), ilObjectLP\getInstance(), ilObjectFactory\getInstanceByObjId(), ilMembershipGUI\getMembersObject(), ilMembershipGUI\getParentObject(), IL_CAL_UNIX, ILIAS\Repository\lng(), ilLPStatus\LP_STATUS_COMPLETED, ilLPStatus\LP_STATUS_FAILED, ilLPStatus\LP_STATUS_IN_PROGRESS, ilLPStatus\LP_STATUS_NOT_ATTEMPTED, ilDatePresentation\setUseRelativeDates(), and ilArrayUtil\sortArray().

+ Here is the call graph for this function:

◆ initEditParticipantTableGUI()

ilCourseMembershipGUI::initEditParticipantTableGUI ( array  $participants)
protected

@noinspection PhpParamsInspection

Definition at line 298 of file class.ilCourseMembershipGUI.php.

299 {
301 $table = new ilCourseEditParticipantsTableGUI($this, $this->getParentObject());
302 $table->setTitle($this->lng->txt($this->getParentObject()->getType() . '_header_edit_members'));
303 $table->setData($this->getParentGUI()->readMemberData($participants));
304
305 return $table;
306 }
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
readMemberData(array $usr_ids, array $columns, bool $skip_names=false)

References ilMembershipGUI\getParentGUI(), ilMembershipGUI\getParentObject(), ILIAS\Repository\lng(), and readMemberData().

+ Here is the call graph for this function:

◆ initParticipantStatusFromPostFor()

ilCourseMembershipGUI::initParticipantStatusFromPostFor ( string  $item_key)
protected

Definition at line 211 of file class.ilCourseMembershipGUI.php.

211 : array
212 {
213 if ($this->http->wrapper()->post()->has($item_key)) {
214 return $this->http->wrapper()->post()->retrieve(
215 $item_key,
216 $this->refinery->kindlyTo()->listOf(
217 $this->refinery->kindlyTo()->int()
218 )
219 );
220 }
221 return [];
222 }

References ILIAS\FileDelivery\http(), and ILIAS\Repository\refinery().

Referenced by updateParticipantsStatus().

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

◆ initParticipantTableGUI()

ilCourseMembershipGUI::initParticipantTableGUI ( )
protected

Definition at line 277 of file class.ilCourseMembershipGUI.php.

278 {
279 $show_tracking =
281 if ($show_tracking) {
283 $show_tracking = $olp->isActive();
284 }
285
286 $timings_enabled =
287 (ilObjectActivation::hasTimings($this->getParentObject()->getRefId()) && ($this->getParentObject()->getViewMode() == ilCourseConstants::IL_CRS_VIEW_TIMING));
288
290 $this,
291 $this->getParentObject(),
292 $show_tracking,
293 $timings_enabled,
294 $this->getParentObject()->getStatusDetermination() == ilObjCourse::STATUS_DETERMINATION_LP
295 );
296 }
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
const STATUS_DETERMINATION_LP
static hasTimings(int $ref_id)
Check if there is any active timing (in subtree)
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...

References ilObjUserTracking\_enabledLearningProgress(), ilObjUserTracking\_enabledUserRelatedData(), ILIAS\Survey\Mode\getId(), ilObjectLP\getInstance(), ilMembershipGUI\getParentObject(), ilObjectActivation\hasTimings(), ilCourseConstants\IL_CRS_VIEW_TIMING, and ilObjCourse\STATUS_DETERMINATION_LP.

+ Here is the call graph for this function:

◆ initParticipantTemplate()

ilCourseMembershipGUI::initParticipantTemplate ( )
protected

Definition at line 308 of file class.ilCourseMembershipGUI.php.

308 : void
309 {
310 $this->tpl->addBlockFile('ADM_CONTENT', 'adm_content', 'tpl.crs_edit_members.html', 'Modules/Course');
311 }

◆ initWaitingList()

ilCourseMembershipGUI::initWaitingList ( )
protected

Definition at line 331 of file class.ilCourseMembershipGUI.php.

332 {
333 return new ilCourseWaitingList($this->getParentObject()->getId());
334 }
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...

References ILIAS\Survey\Mode\getId(), and ilMembershipGUI\getParentObject().

+ Here is the call graph for this function:

◆ readMemberData()

ilCourseMembershipGUI::readMemberData ( array  $usr_ids,
array  $columns,
bool  $skip_names = false 
)

Definition at line 321 of file class.ilCourseMembershipGUI.php.

321 : array
322 {
323 return $this->getParentGUI()->readMemberData($usr_ids, $columns, $skip_names);
324 }

References ilMembershipGUI\getParentGUI().

Referenced by initEditParticipantTableGUI().

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

◆ showDeleteParticipantsConfirmationWithLinkedCourses()

ilCourseMembershipGUI::showDeleteParticipantsConfirmationWithLinkedCourses ( array  $participants)
protected

Show deletion confirmation with linked courses.

Parameters
int[]participants

Definition at line 72 of file class.ilCourseMembershipGUI.php.

72 : void
73 {
74 $this->tpl->setOnScreenMessage('question', $this->lng->txt('crs_ref_delete_confirmation_info'));
75
77 $this,
78 $this->getParentObject(),
79 'confirmDeleteParticipants'
80 );
81 $table->init();
82 $table->setParticipants($participants);
83 $table->parse();
84
85 $this->tpl->setContent($table->getHTML());
86 }

References ilMembershipGUI\$participants, ilMembershipGUI\getParentObject(), and ILIAS\Repository\lng().

+ Here is the call graph for this function:

◆ updateLPFromStatus()

ilCourseMembershipGUI::updateLPFromStatus ( int  $a_member_id,
bool  $a_passed 
)
protected

Reimplemented from ilMembershipGUI.

Definition at line 326 of file class.ilCourseMembershipGUI.php.

326 : void
327 {
328 $this->getParentGUI()->updateLPFromStatus($a_member_id, $a_passed);
329 }

References ilMembershipGUI\getParentGUI().

Referenced by updateParticipantsStatus().

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

◆ updateParticipantsStatus()

ilCourseMembershipGUI::updateParticipantsStatus ( )
protected

Definition at line 224 of file class.ilCourseMembershipGUI.php.

224 : void
225 {
226 $visible_members = [];
227 if ($this->http->wrapper()->post()->has('visible_member_ids')) {
228 $visible_members = $this->http->wrapper()->post()->retrieve(
229 'visible_member_ids',
230 $this->refinery->kindlyTo()->listOf(
231 $this->refinery->kindlyTo()->int()
232 )
233 );
234 }
235 $passed = $this->initParticipantStatusFromPostFor('passed');
236 $blocked = $this->initParticipantStatusFromPostFor('blocked');
237 $contact = $this->initParticipantStatusFromPostFor('contact');
238 $notification = $this->initParticipantStatusFromPostFor('notification');
239
240 foreach ($visible_members as $member_id) {
241 if ($this->access->checkAccess("grade", "", $this->getParentObject()->getRefId())) {
242 $this->getMembersObject()->updatePassed($member_id, in_array($member_id, $passed), true);
243 $this->updateLPFromStatus($member_id, in_array($member_id, $passed));
244 }
245
246 if ($this->getMembersObject()->isAdmin($member_id) || $this->getMembersObject()->isTutor($member_id)) {
247 // remove blocked
248 $this->getMembersObject()->updateBlocked($member_id, false);
249 $this->getMembersObject()->updateNotification($member_id, in_array($member_id, $notification));
250 $this->getMembersObject()->updateContact($member_id, in_array($member_id, $contact));
251 } else {
252 // send notifications => unblocked
253 if ($this->getMembersObject()->isBlocked($member_id) && !in_array($member_id, $blocked)) {
254 $this->getMembersObject()->sendNotification(
256 $member_id
257 );
258 }
259 // => blocked
260 if (!$this->getMembersObject()->isBlocked($member_id) && in_array($member_id, $blocked)) {
261 $this->getMembersObject()->sendNotification(
263 $member_id
264 );
265 }
266
267 // normal member => remove notification, contact
268 $this->getMembersObject()->updateNotification($member_id, false);
269 $this->getMembersObject()->updateContact($member_id, false);
270 $this->getMembersObject()->updateBlocked($member_id, in_array($member_id, $blocked));
271 }
272 }
273 $this->tpl->setOnScreenMessage('success', $this->lng->txt('settings_saved'), true);
274 $this->ctrl->redirect($this, 'participants');
275 }
updateLPFromStatus(int $a_member_id, bool $a_passed)
initParticipantStatusFromPostFor(string $item_key)

References ILIAS\Repository\access(), ILIAS\Repository\ctrl(), ilMembershipGUI\getMembersObject(), ILIAS\FileDelivery\http(), initParticipantStatusFromPostFor(), ILIAS\Repository\lng(), ILIAS\Repository\refinery(), ilCourseMembershipMailNotification\TYPE_BLOCKED_MEMBER, ilCourseMembershipMailNotification\TYPE_UNBLOCKED_MEMBER, and updateLPFromStatus().

+ Here is the call graph for this function:

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