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':
299 $tabs =
$GLOBALS[
'DIC']->tabs()->setSubTabActive(
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();
437 $table->resetOffset();
438 $table->writeFilterToSession();
448 $table = $this->initParticipantTableGUI();
449 $table->resetOffset();
450 $table->resetFilter();
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 $this->repository_object->getRefId(),
671 return $this->showDeleteParticipantsConfirmationWithLinkedCourses($participants);
674 include_once(
'./Services/Utilities/classes/class.ilConfirmationGUI.php');
676 $confirm->setFormAction($this->ctrl->getFormAction($this,
'confirmDeleteParticipants'));
677 $confirm->setHeaderText($this->lng->txt($this->getParentObject()->getType() .
'_header_delete_members'));
678 $confirm->setConfirm($this->lng->txt(
'confirm'),
'deleteParticipants');
679 $confirm->setCancel($this->lng->txt(
'cancel'),
'participants');
681 foreach ($participants as $usr_id) {
687 $name[
'lastname'] .
', ' .
$name[
'firstname'] .
' [' .
$name[
'login'] .
']',
692 $this->tpl->setContent($confirm->getHTML());
699 $rbacreview =
$DIC[
'rbacreview'];
700 $rbacsystem =
$DIC[
'rbacsystem'];
701 $ilAccess =
$DIC[
'ilAccess'];
704 $participants = (array)
$_POST[
'participants'];
706 if (!is_array($participants) or !count($participants)) {
708 $this->ctrl->redirect($this,
'participants');
714 !$ilAccess->checkAccess(
'edit_permission',
'', $this->getParentObject()->getRefId()) &&
715 !$this->getMembersObject()->isAdmin(
$GLOBALS[
'DIC'][
'ilUser']->getId())
717 foreach ($participants as $part) {
720 $this->ctrl->redirect($this,
'participants');
727 $this->ctrl->redirect($this,
'participants');
729 foreach ((array)
$_POST[
"participants"] as $usr_id) {
737 include_once
'./Modules/Group/classes/class.ilGroupMembershipMailNotification.php';
747 ilUtil::sendSuccess($this->lng->txt($this->getParentObject()->getType() .
"_members_deleted"),
true);
748 $this->ctrl->redirect($this,
"participants");
759 if (
$_POST[
'participants']) {
760 $participants = (array)
$_POST[
'participants'];
761 } elseif (
$_GET[
'member_id']) {
762 $participants = array(
$_GET[
'member_id']);
763 } elseif (
$_POST[
'subscribers']) {
764 $participants = (array)
$_POST[
'subscribers'];
765 } elseif (
$_POST[
'waiting']) {
766 $participants = (array)
$_POST[
'waiting'];
769 if (!count($participants)) {
771 $this->ctrl->redirect($this,
'participants');
774 foreach ($participants as $usr_id) {
802 $context_options = [];
803 return $context_options;
815 $this->activateSubTab($this->
getParentObject()->getType() .
"_members_map");
816 include_once(
"./Services/Maps/classes/class.ilMapUtil.php");
822 $map->setMapId(
"course_map")
828 ->setEnableTypeControl(
true)
829 ->setEnableNavigationControl(
true)
830 ->setEnableCentralMarker(
true);
832 include_once
'./Services/Membership/classes/class.ilParticipants.php';
834 foreach ((array) $members as $user_id) {
835 $map->addUserMarker($user_id);
838 $tpl->setContent($map->getHTML());
839 $tpl->setLeftContent($map->getUserListHTML());
850 $ilToolbar =
$DIC[
'ilToolbar'];
865 $ilToolbar =
$DIC[
'ilToolbar'];
868 include_once
'./Services/Search/classes/class.ilRepositorySearchGUI.php';
873 'auto_complete_name' => $this->lng->txt(
'user'),
874 'user_type' => $this->getParentGUI()->getLocalRoles(),
875 'user_type_default' => $this->getDefaultRole(),
876 'submit_name' => $this->lng->txt(
'add')
881 $ilToolbar->addSeparator();
884 $ilToolbar->addButton(
885 $this->lng->txt($this->getParentObject()->getType() .
"_search_users"),
886 $this->ctrl->getLinkTargetByClass(
887 'ilRepositorySearchGUI',
893 $ilToolbar->addSeparator();
897 $ilToolbar->addButton(
898 $this->lng->txt($this->getParentObject()->getType() .
"_print_list"),
899 $this->ctrl->getLinkTarget($this,
'printMembers')
921 $this->ctrl->setParameter($this,
"back_cmd", $a_back_cmd);
924 $this->lng->txt($this->getParentObject()->getType() .
'_print_list'),
925 $this->ctrl->getLinkTarget($this,
'printForMembersOutput')
942 $rbacsystem =
$DIC[
'rbacsystem'];
943 $ilAccess =
$DIC[
'ilAccess'];
944 include_once
'Services/Mail/classes/class.ilMail.php';
950 $ilAccess->checkAccess(
'manage_members',
"", $this->getParentObject()->getRefId()) &&
951 $rbacsystem->checkAccess(
'internal_mail', $mail->getMailObjectReferenceId())
959 $this->ctrl->setParameter($this,
"back_cmd", $a_back_cmd);
963 $this->lng->txt(
"mail_members"),
964 $this->ctrl->getLinkTargetByClass(
'ilMailMemberSearchGUI',
'')
989 if ($has_manage_members_permission) {
990 return 'participants';
994 return 'jump2UsersGallery';
996 return 'mailMembersBtn';
1008 $ilAccess =
$DIC->access();
1011 if (!$ilAccess->checkAccess(
'read',
'', $this->getParentObject()->getRefId())) {
1016 include_once
'./Services/Mail/classes/class.ilMail.php';
1027 if ($has_manage_members_permission) {
1031 $this->ctrl->getLinkTarget($this,
'')
1034 (
bool) $this->
getParentObject()->getShowMembers() && $a_is_participant
1039 $this->ctrl->getLinkTargetByClass(array(get_class($this),
'ilusersgallerygui'),
'view')
1043 $GLOBALS[
'DIC'][
'rbacsystem']->checkAccess(
'internal_mail', $mail->getMailObjectReferenceId()) &&
1049 $this->ctrl->getLinkTarget($this,
"mailMembersBtn")
1060 return $this->lng->txt(
'members');
1070 $ilAccess =
$DIC[
'ilAccess'];
1075 $this->ctrl->getLinkTarget($this,
'participants'),
1083 "crs_members_groups",
1084 $this->ctrl->getLinkTargetByClass(
"ilCourseParticipantsGroupsGUI",
"show"),
1086 "ilCourseParticipantsGroupsGUI"
1090 $tree =
$DIC->repositoryTree();
1091 $children = (array) $tree->getSubTree($tree->getNodeData($this->getParentObject()->getRefId()),
false,
'sess');
1092 if (count($children)) {
1095 $this->ctrl->getLinkTargetByClass(array(get_class($this),
'ilsessionoverviewgui'),
'listSessions'),
1097 'ilsessionoverviewgui'
1103 $this->ctrl->getLinkTargetByClass(array(get_class($this),
'ilUsersGalleryGUI')),
1111 $this->ctrl->getLinkTargetByClass(array(get_class($this),
'ilUsersGalleryGUI')),
1117 include_once
'./Services/Maps/classes/class.ilMapUtil.php';
1121 $this->ctrl->getLinkTarget($this,
'membersMap'),
1127 include_once
'Services/PrivacySecurity/classes/class.ilPrivacySettings.php';
1131 $this->ctrl->getLinkTargetByClass(array(get_class($this),
'ilmemberexportgui'),
'show'),
1164 if (!count($filtered_subscribers)) {
1168 $subscriber->readSubscriberData(
1169 $filtered_subscribers
1179 $subscriber = new \ilSubscriberTableGUI($this, $this->
getParentObject(),
true,
true);
1180 $subscriber->setTitle($this->lng->txt(
'group_new_registrations'));
1190 if (!is_array(
$_POST[
"subscribers"])) {
1192 $this->ctrl->redirect($this,
'participants');
1195 include_once(
"Services/Utilities/classes/class.ilConfirmationGUI.php");
1199 $c_gui->setFormAction($this->ctrl->getFormAction($this,
"assignSubscribers"));
1200 $c_gui->setHeaderText($this->lng->txt(
"info_assign_sure"));
1201 $c_gui->setCancel($this->lng->txt(
"cancel"),
"participants");
1202 $c_gui->setConfirm($this->lng->txt(
"confirm"),
"assignSubscribers");
1204 foreach (
$_POST[
"subscribers"] as $subscribers) {
1210 $name[
'lastname'] .
', ' .
$name[
'firstname'] .
' [' .
$name[
'login'] .
']',
1215 $this->tpl->setContent($c_gui->getHTML());
1225 if (!is_array(
$_POST[
"subscribers"])) {
1227 $this->ctrl->redirect($this,
'participants');
1230 $this->lng->loadLanguageModule(
'mmbr');
1232 include_once(
"Services/Utilities/classes/class.ilConfirmationGUI.php");
1236 $c_gui->setFormAction($this->ctrl->getFormAction($this,
"refuseSubscribers"));
1237 $c_gui->setHeaderText($this->lng->txt(
"info_refuse_sure"));
1238 $c_gui->setCancel($this->lng->txt(
"cancel"),
"participants");
1239 $c_gui->setConfirm($this->lng->txt(
"confirm"),
"refuseSubscribers");
1241 foreach (
$_POST[
"subscribers"] as $subscribers) {
1247 $name[
'lastname'] .
', ' .
$name[
'firstname'] .
' [' .
$name[
'login'] .
']',
1252 $this->tpl->setContent($c_gui->getHTML());
1265 $rbacsystem =
$DIC[
'rbacsystem'];
1267 if (!
$_POST[
'subscribers']) {
1269 $this->ctrl->redirect($this,
'participants');
1274 $this->ctrl->redirect($this,
'participants');
1276 foreach (
$_POST[
'subscribers'] as $usr_id) {
1281 include_once
'./Modules/Group/classes/class.ilGroupMembershipMailNotification.php';
1290 $noti->setRecipients(array($usr_id));
1303 ilUtil::sendSuccess($this->lng->txt(
"crs_subscribers_deleted"),
true);
1304 $this->ctrl->redirect($this,
'participants');
1319 if (!is_array(
$_POST[
"subscribers"])) {
1321 $this->ctrl->redirect($this,
'participants');
1326 $this->ctrl->redirect($this,
'participants');
1328 foreach (
$_POST[
"subscribers"] as $usr_id) {
1334 include_once
'./Modules/Group/classes/class.ilGroupMembershipMailNotification.php';
1342 include_once
'./Modules/Session/classes/class.ilSessionMembershipMailNotification.php';
1345 $noti->setRecipients(array($usr_id));
1351 ilUtil::sendSuccess($this->lng->txt(
"crs_subscribers_assigned"),
true);
1352 $this->ctrl->redirect($this,
'participants');
1361 $wait = $this->initWaitingList();
1364 if (!count($wait_users)) {
1368 include_once
'./Services/Membership/classes/class.ilWaitingListTableGUI.php';
1370 $waiting_table->setUserIds(
1373 $waiting_table->readUserData();
1374 $waiting_table->setTitle($this->lng->txt(
'crs_waiting_list'));
1376 return $waiting_table;
1385 if (!is_array(
$_POST[
"waiting"])) {
1387 $this->ctrl->redirect($this,
'participants');
1391 include_once(
"Services/Utilities/classes/class.ilConfirmationGUI.php");
1395 $c_gui->setFormAction($this->ctrl->getFormAction($this,
"assignFromWaitingList"));
1396 $c_gui->setHeaderText($this->lng->txt(
"info_assign_sure"));
1397 $c_gui->setCancel($this->lng->txt(
"cancel"),
"participants");
1398 $c_gui->setConfirm($this->lng->txt(
"confirm"),
"assignFromWaitingList");
1400 foreach (
$_POST[
"waiting"] as $waiting) {
1406 $name[
'lastname'] .
', ' .
$name[
'firstname'] .
' [' .
$name[
'login'] .
']',
1411 $this->tpl->setContent($c_gui->getHTML());
1422 if (!array_key_exists(
'waiting',
$_POST) || !count(
$_POST[
"waiting"])) {
1424 $this->ctrl->redirect($this,
'participants');
1427 $waiting_list = $this->initWaitingList();
1430 foreach (
$_POST[
"waiting"] as $user_id) {
1444 include_once
'./Modules/Group/classes/class.ilGroupMembershipMailNotification.php';
1456 $noti->setRecipients(array($user_id));
1461 $waiting_list->removeFromList($user_id);
1466 ilUtil::sendSuccess($this->lng->txt(
"crs_users_added"),
true);
1467 $this->ctrl->redirect($this,
'participants');
1470 $this->ctrl->redirect($this,
'participants');
1480 if (!is_array(
$_POST[
"waiting"])) {
1482 $this->ctrl->redirect($this,
'participants');
1485 $this->lng->loadLanguageModule(
'mmbr');
1487 include_once(
"Services/Utilities/classes/class.ilConfirmationGUI.php");
1491 $c_gui->setFormAction($this->ctrl->getFormAction($this,
"refuseFromList"));
1492 $c_gui->setHeaderText($this->lng->txt(
"info_refuse_sure"));
1493 $c_gui->setCancel($this->lng->txt(
"cancel"),
"participants");
1494 $c_gui->setConfirm($this->lng->txt(
"confirm"),
"refuseFromList");
1496 foreach (
$_POST[
"waiting"] as $waiting) {
1502 $name[
'lastname'] .
', ' .
$name[
'firstname'] .
' [' .
$name[
'login'] .
']',
1507 $this->tpl->setContent($c_gui->getHTML());
1519 if (!array_key_exists(
'waiting',
$_POST) || !count(
$_POST[
'waiting'])) {
1521 $this->ctrl->redirect($this,
'participants');
1524 $waiting_list = $this->initWaitingList();
1526 foreach (
$_POST[
"waiting"] as $user_id) {
1527 $waiting_list->removeFromList($user_id);
1533 include_once
'./Modules/Group/classes/class.ilGroupMembershipMailNotification.php';
1541 include_once
'./Modules/Session/classes/class.ilSessionMembershipMailNotification.php';
1544 $noti->setRecipients(array($user_id));
1549 ilUtil::sendSuccess($this->lng->txt(
'crs_users_removed_from_list'),
true);
1550 $this->ctrl->redirect($this,
'participants');
1560 if (isset(
$_POST[
'participants'])) {
1561 $users = (array)
$_POST[
'participants'];
1562 } elseif (isset(
$_POST[
'subscribers'])) {
1563 $users = (array)
$_POST[
'subscribers'];
1564 } elseif (isset(
$_POST[
'waiting'])) {
1565 $users = (array)
$_POST[
'waiting'];
1568 if (!count($users)) {
1570 $this->ctrl->redirect($this,
'participants');
1572 include_once
'./Services/User/classes/class.ilUserClipboard.php';
1577 $this->lng->loadLanguageModule(
'user');
1578 ilUtil::sendSuccess($this->lng->txt(
'clipboard_user_added'),
true);
1579 $this->ctrl->redirect($this,
'participants');
1593 protected function activateSubTab($a_sub_tab)
1599 $tabs->activateSubTab($a_sub_tab);
1613 $ilTabs =
$DIC[
'ilTabs'];
1617 $ilTabs->clearTargets();
1619 $ilTabs->setBackTarget(
1620 $this->lng->txt(
'back'),
1621 $this->ctrl->getLinkTarget($this,
'participants')
1624 $list = $this->initAttendanceList();
1625 $form = $list->initForm(
'printMembersOutput');
1626 $this->tpl->setContent($form->getHTML());
1636 $tabs =
$DIC->tabs();
1637 $tabs->clearTargets();
1638 $tabs->setBackTarget(
1639 $this->lng->txt(
'back'),
1640 $this->ctrl->getLinkTarget($this,
'participants')
1643 $list = $this->initAttendanceList();
1644 $list->initFromForm();
1645 $list->setCallback(array($this,
'getAttendanceListUserData'));
1646 $this->member_data = $this->getPrintMemberData(
1652 $list->getNonMemberUserData($this->member_data);
1653 $list->getFullscreenHTML();
1663 $tabs =
$DIC->tabs();
1664 $tabs->clearTargets();
1665 $tabs->setBackTarget(
1666 $this->lng->txt(
'back'),
1667 $this->ctrl->getLinkTarget($this,
'jump2UsersGallery')
1670 $list = $this->initAttendanceList();
1671 $list->setTitle($this->lng->txt(
'obj_' . $this->getParentObject()->getType()) .
': ' . $this->getParentObject()->getTitle());
1673 $form = $list->initForm(
'printForMembersOutput');
1674 $list->initFromForm();
1675 $list->setCallback(array($this,
'getAttendanceListUserData'));
1676 $this->member_data = $this->getPrintMemberData($this->
getMembersObject()->getParticipants());
1677 $list->getNonMemberUserData($this->member_data);
1679 $list->getFullscreenHTML();
1687 $this->ctrl->redirectByClass(
'ilUsersGalleryGUI');
1696 protected function initAttendanceList($a_for_members =
false)
1703 $waiting_list = $this->initWaitingList();
1706 $member_id =
$DIC->repositoryTree()->checkForParentType(
1711 $member_id =
$DIC->repositoryTree()->checkForParentType(
1717 $DIC->logger()->sess()->warning(
'Cannot find parent course or group for ref_id: ' . $this->
getParentObject()->getRefId());
1729 include_once
'Services/Membership/classes/class.ilAttendanceList.php';
1740 $this->lng->txt($this->getParentObject()->getType() .
'_members_print_title'),
1741 $this->lng->txt(
'obj_' . $this->getParentObject()->getType()) .
': ' . $this->getParentObject()->getTitle()
1744 include_once
'./Services/Tracking/classes/class.ilObjUserTracking.php';
1747 if ($show_tracking) {
1748 include_once(
'./Services/Object/classes/class.ilObjectLP.php');
1750 $show_tracking = $olp->isActive();
1752 if ($show_tracking) {
1753 $list->addPreset(
'progress', $this->lng->txt(
'learning_progress'),
true);
1756 include_once(
'./Services/PrivacySecurity/classes/class.ilPrivacySettings.php');
1761 if ($privacy->enabledAccessTimesByType($this->getParentObject()->getType())) {
1762 $list->addPreset(
'access', $this->lng->txt(
'last_access'),
true);
1767 $list->addPreset(
'status', $this->lng->txt(
'crs_status'),
true);
1768 $list->addPreset(
'passed', $this->lng->txt(
'crs_passed'),
true);
1772 $list->addPreset(
'mark', $this->lng->txt(
'trac_mark'),
true);
1773 $list->addPreset(
'comment', $this->lng->txt(
'trac_comment'),
true);
1775 $list->addPreset(
'registered', $this->lng->txt(
'event_tbl_registered'),
true);
1777 $list->addPreset(
'participated', $this->lng->txt(
'event_tbl_participated'),
true);
1778 $list->addBlank($this->lng->txt(
'sess_signature'));
1780 $list->addUserFilter(
'registered', $this->lng->txt(
'event_list_registered_only'));
if(!defined('PATH_SEPARATOR')) $GLOBALS['_PEAR_default_error_mode']
An exception for terminatinating execution or to throw for unit testing.
Base class for attendance lists.
Confirmation screen class.
Class ilCourseParticipantsGroupsGUI.
static isReferenceMemberUpdateConfirmationRequired(int $course_ref_id, array $participants)
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.
addSubTabTarget( $a_text, $a_link, $a_cmd="", $a_cmdClass="", $a_frame="", $a_activate=false, $a_dir_text=false)
DEPRECATED.
addTab($a_id, $a_text, $a_link, $a_frame="")
Add a Tab.
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