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'),
270 $this->ctrl->getLinkTarget($this, $this->getDefaultCommand())
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()
657 !$this->getMembersObject()->isAdmin(
$GLOBALS[
'DIC'][
'ilUser']->getId())
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()) &&
709 !$this->getMembersObject()->isAdmin(
$GLOBALS[
'DIC'][
'ilUser']->getId())
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'),
868 'user_type' => $this->getParentGUI()->getLocalRoles(),
869 'user_type_default' => $this->getDefaultRole(),
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'];
1061 $tabs->addSubTabTarget(
1063 $this->ctrl->getLinkTarget($this,
'participants'),
1070 $tabs->addSubTabTarget(
1071 "crs_members_groups",
1072 $this->ctrl->getLinkTargetByClass(
"ilCourseParticipantsGroupsGUI",
"show"),
1074 "ilCourseParticipantsGroupsGUI"
1079 $children = (array)
$tree->getSubTree(
$tree->getNodeData($this->getParentObject()->getRefId()),
false,
'sess');
1080 if (count($children)) {
1081 $tabs->addSubTabTarget(
1083 $this->ctrl->getLinkTargetByClass(array(get_class($this),
'ilsessionoverviewgui'),
'listSessions'),
1085 'ilsessionoverviewgui'
1089 $tabs->addSubTabTarget(
1091 $this->ctrl->getLinkTargetByClass(array(get_class($this),
'ilUsersGalleryGUI')),
1097 $tabs->addSubTabTarget(
1099 $this->ctrl->getLinkTargetByClass(array(get_class($this),
'ilUsersGalleryGUI')),
1105 include_once
'./Services/Maps/classes/class.ilMapUtil.php';
1107 $tabs->addSubTabTarget(
1109 $this->ctrl->getLinkTarget($this,
'membersMap'),
1115 include_once
'Services/PrivacySecurity/classes/class.ilPrivacySettings.php';
1117 $tabs->addSubTabTarget(
1119 $this->ctrl->getLinkTargetByClass(array(get_class($this),
'ilmemberexportgui'),
'show'),
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'));
An exception for terminatinating execution or to throw for unit testing.
Base class for attendance lists.
Confirmation screen class.
Class ilCourseParticipantsGroupsGUI.
GUI class for membership features.
const TYPE_ACCEPTED_SUBSCRIPTION_MEMBER
const TYPE_REFUSED_SUBSCRIPTION_MEMBER
const TYPE_DISMISS_MEMBER
GUI class for learning sequence membership features.
const TYPE_DISMISS_MEMBER
const TYPE_REFUSED_SUBSCRIPTION_MEMBER
Class ilMailMemberSearchGUI.
static isActivated()
Checks whether Map feature is activated.
static getMapGUI()
Get an instance of the GUI class.
Base class for member tab content.
getParentGUI()
Get parent gui.
assignFromWaitingList()
Assign from waiting list @global type $rbacsystem.
printMembersOutput()
print members output
participantsApplyFilter()
Apply filter for participant table.
checkPermissionBool($a_permission, $a_cmd='', $a_type='', $a_ref_id=0)
Check permission.
checkPermission($a_permission, $a_cmd="")
Check permission If not granted redirect to parent gui.
parseWaitingListTable()
Parse table of subscription request.
getDefaultCommand()
Get default command.
assignSubscribers()
Do assignment of subscription request @global type $rbacsystem @global type $ilErr.
filterUserIdsByRbacOrPositionOfCurrentUser($a_user_ids)
Filter user ids by access.
printForMembersOutput()
print members output
participantsResetFilter()
reset participants filter
sendMailToSelectedUsers()
Send mail to selected users.
confirmAssignFromWaitingList()
Assign from waiting list (confirmatoin)
updateParticipants()
update members
showParticipantsToolbar()
Show participants toolbar.
getMemberTabName()
Get member tab name.
participants()
Show participant table, subscriber table, wating list table;.
parseSubscriberTable()
Parse table of subscription request.
showMemberExportToolbarButton(ilToolbarGUI $toolbar, $a_back_cmd=null, $a_separator=false)
Show member export button.
getMailContextOptions()
Get mail context options.
editMember()
Edit one participant.
refuseSubscribers()
Refuse subscribers @global type $rbacsystem.
__construct(ilObjectGUI $repository_gui, ilObject $repository_obj)
Constructor.
editParticipants($post_participants=array())
Edit participants.
getLocalRoles()
Get parent roles.
confirmRefuseSubscribers()
Refuse subscriber confirmation.
addMemberTab(ilTabsGUI $tabs, $a_is_participant=false)
add member tab
checkRbacOrPositionAccessBool($a_rbac_perm, $a_pos_perm, $a_ref_id=0)
Check if rbac or position access is granted.
mailMembersBtn()
Mail to members view @global type $ilToolbar.
confirmDeleteParticipants()
Show confirmation screen for participants deletion.
showMailToMemberToolbarButton(ilToolbarGUI $toolbar, $a_back_cmd=null, $a_separator=false)
Show mail to member toolbar button.
confirmAssignSubscribers()
Show subscription confirmation.
getParentObject()
Get parent object.
getMembersObject()
Get member object.
printMembers()
Print members.
checkRbacOrPermissionAccess($a_rbac_perm, $a_pos_perm)
check rbac or position access
addToClipboard()
Add selected users to user clipboard.
readMemberData(array $usr_ids, array $columns)
Required for member table guis.
setSubTabs(ilTabsGUI $tabs)
Set sub tabs.
refuseFromList()
refuse from waiting list
confirmRefuseFromList()
Refuse from waiting list (confirmation)
canAddOrSearchUsers()
Check if current user is allowed to add / search users.
static _enabledLearningProgress()
check wether learing progress is enabled or not
static _lookupLogin($a_user_id)
lookup login
static _lookupName($a_user_id)
lookup user name
static getInstanceByObjId($a_obj_id, $stop_on_error=true)
get an instance of an Ilias object by object id
Class ilObjectGUI Basic methods of all Output classes.
static getInstance($a_obj_id)
Class ilObject Basic functions for all objects.
static getInstanceByObjId($a_obj_id)
Get instance by obj type.
static _isParticipant($a_ref_id, $a_usr_id)
Static function to check if a user is a participant of the container object.
static getInstance($a_ref_id)
Get instance by ref_id.
static _getInstance()
Get instance of ilPrivacySettings.
static fillAutoCompleteToolbar($parent_object, ilToolbarGUI $toolbar=null, $a_options=array(), $a_sticky=false)
fill toolbar with
GUI class for membership features.
const TYPE_REFUSED_SUBSCRIPTION_MEMBER
const TYPE_ACCEPTED_SUBSCRIPTION_MEMBER
GUI class for course/group subscriptions.
static getInstance($a_usr_id)
Get singelton instance.
@ilCtrl_Calls ilUsersGalleryGUI: ilPublicUserProfileGUI @ilCtrl_isCalledBy ilUsersGalleryGUI: ilCours...
Class ilUsersGalleryParticipants.
static redirect($a_script)
static sendFailure($a_info="", $a_keep=false)
Send Failure Message to Screen.
static sendInfo($a_info="", $a_keep=false)
Send Info Message to Screen.
static getImagePath($img, $module_path="", $mode="output", $offline=false)
get image path (for images located in a template directory)
GUI class for course/group waiting list.
if(!file_exists(getcwd() . '/ilias.ini.php'))
registration confirmation script for ilias
if(!empty($this->data['faventry'])) $tabs
$GLOBALS['JPEG_Segment_Names']
Global Variable: XMP_tag_captions.
if(empty($password)) $table
if(isset($_POST['submit'])) $form
if(isset($_REQUEST['delete'])) $list