58 $this->repository_object = $repository_obj;
60 $this->lng =
$GLOBALS[
'DIC']->language();
61 $this->lng->loadLanguageModule(
'crs');
63 $this->tpl =
$GLOBALS[
'DIC']->ui()->mainTemplate();
64 $this->ctrl =
$GLOBALS[
'DIC']->ctrl();
65 $this->logger = $DIC->logger()->mmbr();
66 $this->access =
$GLOBALS[
'DIC']->access();
119 return $this->participants;
144 return $this->access->checkAccess($a_permission, $a_cmd, $a_ref_id);
158 return $this->access->checkRbacOrPositionPermissionAccess($a_rbac_perm, $a_pos_perm, $a_ref_id);
215 public function executeCommand()
224 $ilAccess = $DIC[
'ilAccess'];
225 $rbacsystem = $DIC[
'rbacsystem'];
226 $ilTabs = $DIC[
'ilTabs'];
228 $cmd = $this->ctrl->getCmd(
'participants');
229 $next_class = $this->ctrl->getNextClass();
231 switch ($next_class) {
232 case 'ilrepositorysearchgui':
236 include_once(
'./Services/Search/classes/class.ilRepositorySearchGUI.php');
237 include_once
'./Services/Membership/classes/class.ilParticipants.php';
239 $rep_search->addUserAccessFilterCallable([$this,
'filterUserIdsByRbacOrPositionOfCurrentUser']);
243 $participants->isAdmin(
$GLOBALS[
'DIC'][
'ilUser']->getId()) ||
244 $ilAccess->checkAccess(
'manage_members',
'', $this->getParentObject()->getRefId())
246 $rep_search->setCallback(
253 $rep_search->setCallback(
261 $this->ctrl->setReturn($this,
'participants');
262 $ret = $this->ctrl->forwardCommand($rep_search);
266 case 'ilmailmembersearchgui':
267 $ilTabs->clearTargets();
268 $ilTabs->setBackTarget(
269 $this->lng->txt(
'btn_back'),
276 $ilAccess->checkAccess(
'manage_members',
"", $this->getParentObject()->getRefId())
278 !$rbacsystem->checkAccess(
280 $mail->getMailObjectReferenceId()
282 $ilErr->raiseError($this->lng->txt(
"msg_no_perm_read"),
$ilErr->MESSAGE);
290 $mail_search->setObjParticipants(
293 $this->ctrl->forwardCommand($mail_search);
296 case 'ilusersgallerygui':
312 $ilErr->raiseError($this->lng->txt(
'msg_no_perm_read'),
$ilErr->MESSAGE);
318 require_once
'Services/User/Gallery/classes/class.ilUsersGalleryGUI.php';
319 require_once
'Services/User/Gallery/classes/class.ilUsersGalleryParticipants.php';
324 $this->ctrl->forwardCommand($gallery_gui);
327 case 'ilcourseparticipantsgroupsgui':
333 include_once
'./Modules/Course/classes/class.ilCourseParticipantsGroupsGUI.php';
335 if ($cmd ==
"show" || $cmd =
"") {
338 $this->ctrl->forwardCommand($cmg_gui);
341 case 'ilsessionoverviewgui':
346 include_once
'./Services/Membership/classes/class.ilParticipants.php';
349 include_once(
'./Modules/Session/classes/class.ilSessionOverviewGUI.php');
351 $this->ctrl->forwardCommand($overview);
354 case 'ilmemberexportgui':
359 include_once(
'./Services/Membership/classes/Export/class.ilMemberExportGUI.php');
361 $this->ctrl->forwardCommand($export);
364 case 'ilobjectcustomuserfieldsgui':
368 $this->activateSubTab($this->
getParentObject()->getType() .
"_member_administration");
369 $this->ctrl->setReturn($this,
'participants');
371 include_once
'./Services/Membership/classes/class.ilObjectCustomUserFieldsGUI.php';
373 $this->ctrl->forwardCommand($cdf_gui);
382 $cmd ==
"mailMembersBtn" ||
383 $cmd ==
'membersMap' ||
384 $cmd ==
'printForMembersOutput' ||
385 $cmd ==
'jump2UsersGallery' 402 $this->initParticipantTemplate();
404 $this->activateSubTab($this->
getParentObject()->getType() .
"_member_administration");
409 $this->tpl->setVariable(
'TABLE_WAIT', $waiting->getHTML());
415 $this->tpl->setVariable(
'TABLE_SUB', $subscriber->getHTML());
419 $table = $this->initParticipantTableGUI();
420 $table->setTitle($this->lng->txt($this->getParentObject()->getType() .
'_mem_tbl_header'));
421 $table->setFormAction($this->ctrl->getFormAction($this));
425 $table->setFilterCommand(
'participantsApplyFilter');
426 $table->setResetCommand(
'participantsResetFilter');
428 $this->tpl->setVariable(
'MEMBERS',
$table->getHTML());
436 $table = $this->initParticipantTableGUI();
438 $table->writeFilterToSession();
448 $table = $this->initParticipantTableGUI();
461 $this->activateSubTab($this->
getParentObject()->getType() .
"_member_administration");
471 if (!$post_participants) {
472 $post_participants = (array)
$_POST[
'participants'];
476 $participants = array_intersect((array) $post_participants, (array) $real_participants);
478 if (!count($participants)) {
480 $this->ctrl->redirect($this,
'participants');
482 $table = $this->initEditParticipantTableGUI($participants);
483 $this->tpl->setContent(
$table->getHTML());
498 $rbacsystem = $DIC[
'rbacsystem'];
499 $rbacreview = $DIC[
'rbacreview'];
501 $ilAccess = $DIC[
'ilAccess'];
503 if (!array_key_exists(
'participants',
$_POST) || !count(
$_POST[
'participants'])) {
505 $this->ctrl->redirect($this,
'participants');
508 $notifications =
$_POST[
'notification'] ?
$_POST[
'notification'] : array();
509 $passed =
$_POST[
'passed'] ?
$_POST[
'passed'] : array();
510 $blocked =
$_POST[
'blocked'] ?
$_POST[
'blocked'] : array();
511 $contact =
$_POST[
'contact'] ?
$_POST[
'contact'] : array();
514 $hasEditPermissionAccess =
516 $ilAccess->checkAccess(
'edit_permission',
'', $this->
getParentObject()->getRefId())
or 522 $assignableLocalRoles = array();
524 foreach ($this->getLocalTypeRole(
false) as
$title => $role_id) {
525 $assignableLocalRoles[$role_id] =
$title;
529 foreach (
$_POST[
'participants'] as $usr_id) {
530 $memberIsAdmin = $rbacreview->isAssigned($usr_id, $adminRoleId);
535 if (!$hasEditPermissionAccess && $memberIsAdmin &&
536 !in_array($adminRoleId,
$_POST[
'roles'][$usr_id])
538 $_POST[
'roles'][$usr_id][] = $adminRoleId;
542 foreach ((array)
$_POST[
'roles'][$usr_id] as $role_id) {
543 if (!array_key_exists($role_id, $assignableLocalRoles)) {
545 $this->ctrl->redirect($this,
'participants');
547 if (!$hasEditPermissionAccess &&
548 $role_id == $adminRoleId &&
551 $this->ctrl->redirect($this,
'participants');
558 if (!isset(
$_POST[
'roles'][$admin_id])) {
562 if (in_array($adminRoleId,
$_POST[
'roles'][$admin_id])) {
568 if (!$has_admin && is_array(
$_POST[
'roles'])) {
569 foreach (
$_POST[
'roles'] as $usrId => $roleIdsToBeAssigned) {
570 if (in_array($adminRoleId, $roleIdsToBeAssigned)) {
578 ilUtil::sendFailure($this->lng->txt($this->getParentObject()->getType() .
'_min_one_admin'),
true);
579 $this->ctrl->redirect($this,
'participants');
582 foreach (
$_POST[
'participants'] as $usr_id) {
597 $this->
getMembersObject()->updatePassed($usr_id, in_array($usr_id, $passed),
true);
607 in_array($usr_id, $contact)
614 $this->updateLPFromStatus($usr_id, in_array($usr_id, $passed));
616 ilUtil::sendSuccess($this->lng->txt(
"msg_obj_modified"),
true);
617 $this->ctrl->redirect($this,
"participants");
627 $ilAccess = $DIC[
'ilAccess'];
630 $participants = (array)
$_POST[
'participants'];
632 if (!count($participants)) {
634 $this->ctrl->redirect($this,
'participants');
639 ilUtil::sendFailure($this->lng->txt($this->getParentObject()->getType() .
'_at_least_one_admin'),
true);
640 $this->ctrl->redirect($this,
'participants');
645 $this->lng->loadLanguageModule(
'rbac');
652 !$ilAccess->checkAccess(
655 $this->getParentObject()->getRefId()
659 foreach ($participants as $usr_id) {
662 $this->ctrl->redirect($this,
'participants');
668 include_once(
'./Services/Utilities/classes/class.ilConfirmationGUI.php');
670 $confirm->setFormAction($this->ctrl->getFormAction($this,
'confirmDeleteParticipants'));
671 $confirm->setHeaderText($this->lng->txt($this->getParentObject()->getType() .
'_header_delete_members'));
672 $confirm->setConfirm($this->lng->txt(
'confirm'),
'deleteParticipants');
673 $confirm->setCancel($this->lng->txt(
'cancel'),
'participants');
675 foreach ($participants as $usr_id) {
681 $name[
'lastname'] .
', ' .
$name[
'firstname'] .
' [' .
$name[
'login'] .
']',
686 $this->tpl->setContent($confirm->getHTML());
693 $rbacreview = $DIC[
'rbacreview'];
694 $rbacsystem = $DIC[
'rbacsystem'];
695 $ilAccess = $DIC[
'ilAccess'];
698 $participants = (array)
$_POST[
'participants'];
700 if (!is_array($participants)
or !count($participants)) {
702 $this->ctrl->redirect($this,
'participants');
708 !$ilAccess->checkAccess(
'edit_permission',
'', $this->getParentObject()->getRefId()) &&
711 foreach ($participants as $part) {
714 $this->ctrl->redirect($this,
'participants');
721 $this->ctrl->redirect($this,
'participants');
723 foreach ((array)
$_POST[
"participants"] as $usr_id) {
731 include_once
'./Modules/Group/classes/class.ilGroupMembershipMailNotification.php';
741 ilUtil::sendSuccess($this->lng->txt($this->getParentObject()->getType() .
"_members_deleted"),
true);
742 $this->ctrl->redirect($this,
"participants");
753 if (
$_POST[
'participants']) {
754 $participants = (array)
$_POST[
'participants'];
755 } elseif (
$_GET[
'member_id']) {
756 $participants = array(
$_GET[
'member_id']);
757 } elseif (
$_POST[
'subscribers']) {
758 $participants = (array)
$_POST[
'subscribers'];
759 } elseif (
$_POST[
'waiting']) {
760 $participants = (array)
$_POST[
'waiting'];
763 if (!count($participants)) {
765 $this->ctrl->redirect($this,
'participants');
768 foreach ($participants as $usr_id) {
796 $context_options = [];
797 return $context_options;
809 $this->activateSubTab($this->
getParentObject()->getType() .
"_members_map");
810 include_once(
"./Services/Maps/classes/class.ilMapUtil.php");
816 $map->setMapId(
"course_map")
822 ->setEnableTypeControl(
true)
823 ->setEnableNavigationControl(
true)
824 ->setEnableCentralMarker(
true);
826 include_once
'./Services/Membership/classes/class.ilParticipants.php';
828 foreach ((array) $members as $user_id) {
829 $map->addUserMarker($user_id);
833 $tpl->setLeftContent(
$map->getUserListHTML());
844 $ilToolbar = $DIC[
'ilToolbar'];
859 $ilToolbar = $DIC[
'ilToolbar'];
862 include_once
'./Services/Search/classes/class.ilRepositorySearchGUI.php';
867 'auto_complete_name' => $this->lng->txt(
'user'),
870 'submit_name' => $this->lng->txt(
'add')
875 $ilToolbar->addSeparator();
878 $ilToolbar->addButton(
879 $this->lng->txt($this->getParentObject()->getType() .
"_search_users"),
880 $this->ctrl->getLinkTargetByClass(
881 'ilRepositorySearchGUI',
887 $ilToolbar->addSeparator();
891 $ilToolbar->addButton(
892 $this->lng->txt($this->getParentObject()->getType() .
"_print_list"),
893 $this->ctrl->getLinkTarget($this,
'printMembers')
915 $this->ctrl->setParameter($this,
"back_cmd", $a_back_cmd);
918 $this->lng->txt($this->getParentObject()->getType() .
'_print_list'),
919 $this->ctrl->getLinkTarget($this,
'printForMembersOutput')
936 $rbacsystem = $DIC[
'rbacsystem'];
937 $ilAccess = $DIC[
'ilAccess'];
938 include_once
'Services/Mail/classes/class.ilMail.php';
944 $ilAccess->checkAccess(
'manage_members',
"", $this->
getParentObject()->getRefId()) &&
945 $rbacsystem->checkAccess(
'internal_mail', $mail->getMailObjectReferenceId())
953 $this->ctrl->setParameter($this,
"back_cmd", $a_back_cmd);
957 $this->lng->txt(
"mail_members"),
958 $this->ctrl->getLinkTargetByClass(
'ilMailMemberSearchGUI',
'')
983 if ($has_manage_members_permission) {
984 return 'participants';
988 return 'jump2UsersGallery';
990 return 'mailMembersBtn';
1002 $ilAccess = $DIC[
'ilAccess'];
1004 include_once
'./Services/Mail/classes/class.ilMail.php';
1015 if ($has_manage_members_permission) {
1019 $this->ctrl->getLinkTarget($this,
'')
1022 (
bool) $this->
getParentObject()->getShowMembers() && $a_is_participant
1027 $this->ctrl->getLinkTargetByClass(array(get_class($this),
'ilusersgallerygui'),
'view')
1031 $GLOBALS[
'DIC'][
'rbacsystem']->checkAccess(
'internal_mail', $mail->getMailObjectReferenceId()) &&
1037 $this->ctrl->getLinkTarget($this,
"mailMembersBtn")
1048 return $this->lng->txt(
'members');
1058 $ilAccess = $DIC[
'ilAccess'];
1063 $this->ctrl->getLinkTarget($this,
'participants'),
1071 "crs_members_groups",
1072 $this->ctrl->getLinkTargetByClass(
"ilCourseParticipantsGroupsGUI",
"show"),
1074 "ilCourseParticipantsGroupsGUI" 1078 $tree = $DIC->repositoryTree();
1079 $children = (array)
$tree->getSubTree(
$tree->getNodeData($this->getParentObject()->getRefId()),
false,
'sess');
1080 if (count($children)) {
1083 $this->ctrl->getLinkTargetByClass(array(get_class($this),
'ilsessionoverviewgui'),
'listSessions'),
1085 'ilsessionoverviewgui' 1091 $this->ctrl->getLinkTargetByClass(array(get_class($this),
'ilUsersGalleryGUI')),
1099 $this->ctrl->getLinkTargetByClass(array(get_class($this),
'ilUsersGalleryGUI')),
1105 include_once
'./Services/Maps/classes/class.ilMapUtil.php';
1109 $this->ctrl->getLinkTarget($this,
'membersMap'),
1115 include_once
'Services/PrivacySecurity/classes/class.ilPrivacySettings.php';
1119 $this->ctrl->getLinkTargetByClass(array(get_class($this),
'ilmemberexportgui'),
'show'),
1133 return $this->
getParentGUI()->readMemberData($usr_ids, $columns);
1152 if (!count($filtered_subscribers)) {
1156 $subscriber->readSubscriberData(
1157 $filtered_subscribers
1167 $subscriber = new \ilSubscriberTableGUI($this, $this->
getParentObject(),
true,
true);
1168 $subscriber->setTitle($this->lng->txt(
'group_new_registrations'));
1178 if (!is_array(
$_POST[
"subscribers"])) {
1180 $this->ctrl->redirect($this,
'participants');
1183 include_once(
"Services/Utilities/classes/class.ilConfirmationGUI.php");
1187 $c_gui->setFormAction($this->ctrl->getFormAction($this,
"assignSubscribers"));
1188 $c_gui->setHeaderText($this->lng->txt(
"info_assign_sure"));
1189 $c_gui->setCancel($this->lng->txt(
"cancel"),
"participants");
1190 $c_gui->setConfirm($this->lng->txt(
"confirm"),
"assignSubscribers");
1192 foreach (
$_POST[
"subscribers"] as $subscribers) {
1198 $name[
'lastname'] .
', ' .
$name[
'firstname'] .
' [' .
$name[
'login'] .
']',
1203 $this->tpl->setContent($c_gui->getHTML());
1213 if (!is_array(
$_POST[
"subscribers"])) {
1215 $this->ctrl->redirect($this,
'participants');
1218 $this->lng->loadLanguageModule(
'mmbr');
1220 include_once(
"Services/Utilities/classes/class.ilConfirmationGUI.php");
1224 $c_gui->setFormAction($this->ctrl->getFormAction($this,
"refuseSubscribers"));
1225 $c_gui->setHeaderText($this->lng->txt(
"info_refuse_sure"));
1226 $c_gui->setCancel($this->lng->txt(
"cancel"),
"participants");
1227 $c_gui->setConfirm($this->lng->txt(
"confirm"),
"refuseSubscribers");
1229 foreach (
$_POST[
"subscribers"] as $subscribers) {
1235 $name[
'lastname'] .
', ' .
$name[
'firstname'] .
' [' .
$name[
'login'] .
']',
1240 $this->tpl->setContent($c_gui->getHTML());
1253 $rbacsystem = $DIC[
'rbacsystem'];
1255 if (!
$_POST[
'subscribers']) {
1257 $this->ctrl->redirect($this,
'participants');
1262 $this->ctrl->redirect($this,
'participants');
1264 foreach (
$_POST[
'subscribers'] as $usr_id) {
1269 include_once
'./Modules/Group/classes/class.ilGroupMembershipMailNotification.php';
1278 $noti->setRecipients(array($usr_id));
1291 ilUtil::sendSuccess($this->lng->txt(
"crs_subscribers_deleted"),
true);
1292 $this->ctrl->redirect($this,
'participants');
1307 if (!is_array(
$_POST[
"subscribers"])) {
1309 $this->ctrl->redirect($this,
'participants');
1314 $this->ctrl->redirect($this,
'participants');
1316 foreach (
$_POST[
"subscribers"] as $usr_id) {
1322 include_once
'./Modules/Group/classes/class.ilGroupMembershipMailNotification.php';
1330 include_once
'./Modules/Session/classes/class.ilSessionMembershipMailNotification.php';
1333 $noti->setRecipients(array($usr_id));
1339 ilUtil::sendSuccess($this->lng->txt(
"crs_subscribers_assigned"),
true);
1340 $this->ctrl->redirect($this,
'participants');
1349 $wait = $this->initWaitingList();
1352 if (!count($wait_users)) {
1356 include_once
'./Services/Membership/classes/class.ilWaitingListTableGUI.php';
1358 $waiting_table->setUserIds(
1361 $waiting_table->readUserData();
1362 $waiting_table->setTitle($this->lng->txt(
'crs_waiting_list'));
1364 return $waiting_table;
1373 if (!is_array(
$_POST[
"waiting"])) {
1375 $this->ctrl->redirect($this,
'participants');
1379 include_once(
"Services/Utilities/classes/class.ilConfirmationGUI.php");
1383 $c_gui->setFormAction($this->ctrl->getFormAction($this,
"assignFromWaitingList"));
1384 $c_gui->setHeaderText($this->lng->txt(
"info_assign_sure"));
1385 $c_gui->setCancel($this->lng->txt(
"cancel"),
"participants");
1386 $c_gui->setConfirm($this->lng->txt(
"confirm"),
"assignFromWaitingList");
1388 foreach (
$_POST[
"waiting"] as $waiting) {
1394 $name[
'lastname'] .
', ' .
$name[
'firstname'] .
' [' .
$name[
'login'] .
']',
1399 $this->tpl->setContent($c_gui->getHTML());
1410 if (!array_key_exists(
'waiting',
$_POST) || !count(
$_POST[
"waiting"])) {
1412 $this->ctrl->redirect($this,
'participants');
1415 $waiting_list = $this->initWaitingList();
1418 foreach (
$_POST[
"waiting"] as $user_id) {
1432 include_once
'./Modules/Group/classes/class.ilGroupMembershipMailNotification.php';
1444 $noti->setRecipients(array($user_id));
1449 $waiting_list->removeFromList($user_id);
1454 ilUtil::sendSuccess($this->lng->txt(
"crs_users_added"),
true);
1455 $this->ctrl->redirect($this,
'participants');
1458 $this->ctrl->redirect($this,
'participants');
1468 if (!is_array(
$_POST[
"waiting"])) {
1470 $this->ctrl->redirect($this,
'participants');
1473 $this->lng->loadLanguageModule(
'mmbr');
1475 include_once(
"Services/Utilities/classes/class.ilConfirmationGUI.php");
1479 $c_gui->setFormAction($this->ctrl->getFormAction($this,
"refuseFromList"));
1480 $c_gui->setHeaderText($this->lng->txt(
"info_refuse_sure"));
1481 $c_gui->setCancel($this->lng->txt(
"cancel"),
"participants");
1482 $c_gui->setConfirm($this->lng->txt(
"confirm"),
"refuseFromList");
1484 foreach (
$_POST[
"waiting"] as $waiting) {
1490 $name[
'lastname'] .
', ' .
$name[
'firstname'] .
' [' .
$name[
'login'] .
']',
1495 $this->tpl->setContent($c_gui->getHTML());
1507 if (!array_key_exists(
'waiting',
$_POST) || !count(
$_POST[
'waiting'])) {
1509 $this->ctrl->redirect($this,
'participants');
1512 $waiting_list = $this->initWaitingList();
1514 foreach (
$_POST[
"waiting"] as $user_id) {
1515 $waiting_list->removeFromList($user_id);
1521 include_once
'./Modules/Group/classes/class.ilGroupMembershipMailNotification.php';
1529 include_once
'./Modules/Session/classes/class.ilSessionMembershipMailNotification.php';
1532 $noti->setRecipients(array($user_id));
1537 ilUtil::sendSuccess($this->lng->txt(
'crs_users_removed_from_list'),
true);
1538 $this->ctrl->redirect($this,
'participants');
1549 $this->ctrl->redirect($this,
'participants');
1551 include_once
'./Services/User/classes/class.ilUserClipboard.php';
1556 $this->lng->loadLanguageModule(
'user');
1557 ilUtil::sendSuccess($this->lng->txt(
'clipboard_user_added'),
true);
1558 $this->ctrl->redirect($this,
'participants');
1572 protected function activateSubTab($a_sub_tab)
1578 $tabs->activateSubTab($a_sub_tab);
1592 $ilTabs = $DIC[
'ilTabs'];
1596 $ilTabs->clearTargets();
1598 $ilTabs->setBackTarget(
1599 $this->lng->txt(
'back'),
1600 $this->ctrl->getLinkTarget($this,
'participants')
1603 $list = $this->initAttendanceList();
1604 $form =
$list->initForm(
'printMembersOutput');
1605 $this->tpl->setContent(
$form->getHTML());
1613 $list = $this->initAttendanceList();
1614 $list->initFromForm();
1615 $list->setCallback(array($this,
'getAttendanceListUserData'));
1616 $this->member_data = $this->getPrintMemberData(
1622 $list->getNonMemberUserData($this->member_data);
1624 $list->getFullscreenHTML();
1633 $list = $this->initAttendanceList();
1634 $list->setTitle($this->lng->txt(
'obj_' . $this->getParentObject()->getType()) .
': ' . $this->
getParentObject()->getTitle());
1636 $form =
$list->initForm(
'printForMembersOutput');
1637 $list->initFromForm();
1638 $list->setCallback(array($this,
'getAttendanceListUserData'));
1639 $this->member_data = $this->getPrintMemberData($this->
getMembersObject()->getParticipants());
1640 $list->getNonMemberUserData($this->member_data);
1642 $list->getFullscreenHTML();
1651 $this->ctrl->redirectByClass(
'ilUsersGalleryGUI');
1660 protected function initAttendanceList($a_for_members =
false)
1667 $waiting_list = $this->initWaitingList();
1670 $member_id = $DIC->repositoryTree()->checkForParentType(
1675 $member_id = $DIC->repositoryTree()->checkForParentType(
1681 $DIC->logger()->sess()->warning(
'Cannot find parent course or group for ref_id: ' . $this->
getParentObject()->getRefId());
1693 include_once
'Services/Membership/classes/class.ilAttendanceList.php';
1704 $this->lng->txt($this->getParentObject()->getType() .
'_members_print_title'),
1705 $this->lng->txt(
'obj_' . $this->getParentObject()->getType()) .
': ' . $this->
getParentObject()->getTitle()
1708 include_once
'./Services/Tracking/classes/class.ilObjUserTracking.php';
1711 if ($show_tracking) {
1712 include_once(
'./Services/Object/classes/class.ilObjectLP.php');
1714 $show_tracking = $olp->isActive();
1716 if ($show_tracking) {
1717 $list->addPreset(
'progress', $this->lng->txt(
'learning_progress'),
true);
1720 include_once(
'./Services/PrivacySecurity/classes/class.ilPrivacySettings.php');
1725 if ($privacy->enabledAccessTimesByType($this->getParentObject()->getType())) {
1726 $list->addPreset(
'access', $this->lng->txt(
'last_access'),
true);
1731 $list->addPreset(
'status', $this->lng->txt(
'crs_status'),
true);
1732 $list->addPreset(
'passed', $this->lng->txt(
'crs_passed'),
true);
1736 $list->addPreset(
'mark', $this->lng->txt(
'trac_mark'),
true);
1737 $list->addPreset(
'comment', $this->lng->txt(
'trac_comment'),
true);
1739 $list->addPreset(
'registered', $this->lng->txt(
'event_tbl_registered'),
true);
1741 $list->addPreset(
'participated', $this->lng->txt(
'event_tbl_participated'),
true);
1742 $list->addBlank($this->lng->txt(
'sess_signature'));
1744 $list->addUserFilter(
'registered', $this->lng->txt(
'event_list_registered_only'));
static _lookupLogin($a_user_id)
lookup login
static _lookupName($a_user_id)
lookup user name
static _isParticipant($a_ref_id, $a_usr_id)
Static function to check if a user is a participant of the container object.
readMemberData(array $usr_ids, array $columns)
Required for member table guis.
Class ilCourseParticipantsGroupsGUI.
if(isset($_REQUEST['delete'])) $list
setSubTabs(ilTabsGUI $tabs)
Set sub tabs.
Base class for member tab content.
confirmDeleteParticipants()
Show confirmation screen for participants deletion.
addSubTabTarget( $a_text, $a_link, $a_cmd="", $a_cmdClass="", $a_frame="", $a_activate=false, $a_dir_text=false)
DEPRECATED.
const TYPE_DISMISS_MEMBER
static getInstance($a_usr_id)
Get singelton instance.
printMembersOutput()
print members output
addToClipboard()
Add selected users to user clipboard.
const TYPE_ACCEPTED_SUBSCRIPTION_MEMBER
printMembers()
Print members.
getMembersObject()
Get member object.
const TYPE_DISMISS_MEMBER
getMailContextOptions()
Get mail context options.
updateParticipants()
update members
assignFromWaitingList()
Assign from waiting list type $rbacsystem.
const TYPE_REFUSED_SUBSCRIPTION_MEMBER
checkPermissionBool($a_permission, $a_cmd='', $a_type='', $a_ref_id=0)
Check permission.
participantsResetFilter()
reset participants filter
ilUsersGalleryGUI: ilPublicUserProfileGUI ilUsersGalleryGUI: ilCourseMembershipGUI, ilGroupMembershipGUI
confirmAssignSubscribers()
Show subscription confirmation.
editMember()
Edit one participant.
__construct(ilObjectGUI $repository_gui, ilObject $repository_obj)
Constructor.
Class ilMailMemberSearchGUI.
printForMembersOutput()
print members output
checkPermission($a_permission, $a_cmd="")
Check permission If not granted redirect to parent gui.
parseWaitingListTable()
Parse table of subscription request.
Base class for attendance lists.
getLocalRoles()
Get parent roles.
static getInstance($a_ref_id)
Get instance by ref_id.
refuseSubscribers()
Refuse subscribers type $rbacsystem.
static sendInfo($a_info="", $a_keep=false)
Send Info Message to Screen.
showMailToMemberToolbarButton(ilToolbarGUI $toolbar, $a_back_cmd=null, $a_separator=false)
Show mail to member toolbar button.
static _enabledUserRelatedData()
check wether user related tracking is enabled or not
static _enabledLearningProgress()
check wether learing progress is enabled or not
static getMapGUI()
Get an instance of the GUI class.
if(isset($_POST['submit'])) $form
assignSubscribers()
Do assignment of subscription request type $rbacsystem type $ilErr.
GUI class for membership features.
static getImagePath($img, $module_path="", $mode="output", $offline=false)
get image path (for images located in a template directory)
Class ilObjectGUI Basic methods of all Output classes.
checkRbacOrPermissionAccess($a_rbac_perm, $a_pos_perm)
check rbac or position access
GUI class for course/group subscriptions.
sendMailToSelectedUsers()
Send mail to selected users.
getParentGUI()
Get parent gui.
confirmAssignFromWaitingList()
Assign from waiting list (confirmatoin)
static getInstanceByObjId($a_obj_id, $stop_on_error=true)
get an instance of an Ilias object by object id
Class ilUsersGalleryParticipants.
const TYPE_REFUSED_SUBSCRIPTION_MEMBER
showParticipantsToolbar()
Show participants toolbar.
static sendFailure($a_info="", $a_keep=false)
Send Failure Message to Screen.
GUI class for membership features.
showMemberExportToolbarButton(ilToolbarGUI $toolbar, $a_back_cmd=null, $a_separator=false)
Show member export button.
if(!empty($this->data['faventry'])) $tabs
confirmRefuseSubscribers()
Refuse subscriber confirmation.
static isActivated()
Checks whether Map feature is activated.
parseSubscriberTable()
Parse table of subscription request.
const TYPE_REFUSED_SUBSCRIPTION_MEMBER
const TYPE_ACCEPTED_SUBSCRIPTION_MEMBER
mailMembersBtn()
Mail to members view type $ilToolbar.
getDefaultCommand()
Get default command.
GUI class for course/group waiting list.
addMemberTab(ilTabsGUI $tabs, $a_is_participant=false)
add member tab
participants()
Show participant table, subscriber table, wating list table;.
addTab($a_id, $a_text, $a_link, $a_frame="")
Add a Tab.
refuseFromList()
refuse from waiting list
static _getInstance()
Get instance of ilPrivacySettings.
static fillAutoCompleteToolbar($parent_object, ilToolbarGUI $toolbar=null, $a_options=array(), $a_sticky=false)
fill toolbar with
getParentObject()
Get parent object.
if(empty($password)) $table
editParticipants($post_participants=array())
Edit participants.
confirmRefuseFromList()
Refuse from waiting list (confirmation)
getMemberTabName()
Get member tab name.
filterUserIdsByRbacOrPositionOfCurrentUser($a_user_ids)
Filter user ids by access.
static redirect($a_script)
static getInstance($a_obj_id)
canAddOrSearchUsers()
Check if current user is allowed to add / search users.
static getInstanceByObjId($a_obj_id)
Get instance by obj type.
checkRbacOrPositionAccessBool($a_rbac_perm, $a_pos_perm, $a_ref_id=0)
Check if rbac or position access is granted.
GUI class for learning sequence membership features.
$GLOBALS['JPEG_Segment_Names']
Global Variable: XMP_tag_captions.
participantsApplyFilter()
Apply filter for participant table.
Confirmation screen class.