58 $this->repository_object = $repository_obj;
60 $this->lng =
$GLOBALS[
'DIC']->language();
61 $this->lng->loadLanguageModule(
'crs');
63 $this->lng->loadLanguageModule(
'trac');
64 $this->tpl =
$GLOBALS[
'DIC']->ui()->mainTemplate();
65 $this->ctrl =
$GLOBALS[
'DIC']->ctrl();
66 $this->logger =
$DIC->logger()->mmbr();
67 $this->access =
$GLOBALS[
'DIC']->access();
120 return $this->participants;
145 return $this->access->checkAccess($a_permission, $a_cmd, $a_ref_id);
159 return $this->access->checkRbacOrPositionPermissionAccess($a_rbac_perm, $a_pos_perm, $a_ref_id);
216 public function executeCommand()
225 $ilAccess =
$DIC[
'ilAccess'];
226 $rbacsystem =
$DIC[
'rbacsystem'];
227 $ilTabs =
$DIC[
'ilTabs'];
229 $cmd = $this->ctrl->getCmd(
'participants');
230 $next_class = $this->ctrl->getNextClass();
232 switch ($next_class) {
233 case 'ilrepositorysearchgui':
237 include_once(
'./Services/Search/classes/class.ilRepositorySearchGUI.php');
238 include_once
'./Services/Membership/classes/class.ilParticipants.php';
240 $rep_search->addUserAccessFilterCallable([$this,
'filterUserIdsByRbacOrPositionOfCurrentUser']);
244 $participants->isAdmin(
$GLOBALS[
'DIC'][
'ilUser']->getId()) ||
245 $ilAccess->checkAccess(
'manage_members',
'', $this->getParentObject()->getRefId())
247 $rep_search->setCallback(
255 $rep_search->setCallback(
264 $this->ctrl->setReturn($this,
'participants');
265 $ret = $this->ctrl->forwardCommand($rep_search);
269 case 'ilmailmembersearchgui':
270 $ilTabs->clearTargets();
271 $ilTabs->setBackTarget(
272 $this->lng->txt(
'btn_back'),
273 $this->ctrl->getLinkTarget($this, $this->getDefaultCommand())
279 $ilAccess->checkAccess(
'manage_members',
"", $this->getParentObject()->getRefId())
281 !$rbacsystem->checkAccess(
283 $mail->getMailObjectReferenceId()
285 $ilErr->raiseError($this->lng->txt(
"msg_no_perm_read"),
$ilErr->MESSAGE);
293 $mail_search->setObjParticipants(
296 $this->ctrl->forwardCommand($mail_search);
299 case 'ilusersgallerygui':
302 $tabs =
$GLOBALS[
'DIC']->tabs()->setSubTabActive(
315 $ilErr->raiseError($this->lng->txt(
'msg_no_perm_read'),
$ilErr->MESSAGE);
321 require_once
'Services/User/Gallery/classes/class.ilUsersGalleryGUI.php';
322 require_once
'Services/User/Gallery/classes/class.ilUsersGalleryParticipants.php';
327 $this->ctrl->forwardCommand($gallery_gui);
330 case 'ilcourseparticipantsgroupsgui':
336 include_once
'./Modules/Course/classes/class.ilCourseParticipantsGroupsGUI.php';
338 if ($cmd ==
"show" || $cmd =
"") {
341 $this->ctrl->forwardCommand($cmg_gui);
344 case 'ilsessionoverviewgui':
349 include_once
'./Services/Membership/classes/class.ilParticipants.php';
352 include_once(
'./Modules/Session/classes/class.ilSessionOverviewGUI.php');
354 $this->ctrl->forwardCommand($overview);
357 case 'ilmemberexportgui':
362 include_once(
'./Services/Membership/classes/Export/class.ilMemberExportGUI.php');
364 $this->ctrl->forwardCommand($export);
367 case 'ilobjectcustomuserfieldsgui':
371 $this->activateSubTab($this->
getParentObject()->getType() .
"_member_administration");
372 $this->ctrl->setReturn($this,
'participants');
374 include_once
'./Services/Membership/classes/class.ilObjectCustomUserFieldsGUI.php';
376 $this->ctrl->forwardCommand($cdf_gui);
385 $cmd ==
"mailMembersBtn" ||
386 $cmd ==
'membersMap' ||
387 $cmd ==
'printForMembersOutput' ||
388 $cmd ==
'jump2UsersGallery'
405 $this->initParticipantTemplate();
407 $this->activateSubTab($this->
getParentObject()->getType() .
"_member_administration");
412 $this->tpl->setVariable(
'TABLE_WAIT', $waiting->getHTML());
418 $this->tpl->setVariable(
'TABLE_SUB', $subscriber->getHTML());
422 $table = $this->initParticipantTableGUI();
423 $table->setTitle($this->lng->txt($this->getParentObject()->getType() .
'_mem_tbl_header'));
424 $table->setFormAction($this->ctrl->getFormAction($this));
428 $table->setFilterCommand(
'participantsApplyFilter');
429 $table->setResetCommand(
'participantsResetFilter');
431 $this->tpl->setVariable(
'MEMBERS', $table->getHTML());
439 $table = $this->initParticipantTableGUI();
440 $table->resetOffset();
441 $table->writeFilterToSession();
451 $table = $this->initParticipantTableGUI();
452 $table->resetOffset();
453 $table->resetFilter();
464 $this->activateSubTab($this->
getParentObject()->getType() .
"_member_administration");
474 if (!$post_participants) {
475 $post_participants = (array)
$_POST[
'participants'];
479 $participants = array_intersect((array) $post_participants, (array) $real_participants);
481 if (!count($participants)) {
483 $this->ctrl->redirect($this,
'participants');
485 $table = $this->initEditParticipantTableGUI($participants);
486 $this->tpl->setContent($table->getHTML());
501 $rbacsystem =
$DIC[
'rbacsystem'];
502 $rbacreview =
$DIC[
'rbacreview'];
504 $ilAccess =
$DIC[
'ilAccess'];
506 if (!array_key_exists(
'participants',
$_POST) || !count(
$_POST[
'participants'])) {
508 $this->ctrl->redirect($this,
'participants');
511 $notifications =
$_POST[
'notification'] ?
$_POST[
'notification'] : array();
512 $passed =
$_POST[
'passed'] ?
$_POST[
'passed'] : array();
513 $blocked =
$_POST[
'blocked'] ?
$_POST[
'blocked'] : array();
514 $contact =
$_POST[
'contact'] ?
$_POST[
'contact'] : array();
517 $hasEditPermissionAccess =
519 $ilAccess->checkAccess(
'edit_permission',
'', $this->
getParentObject()->getRefId()) or
525 $assignableLocalRoles = array();
527 foreach ($this->getLocalTypeRole(
false) as $title => $role_id) {
528 $assignableLocalRoles[$role_id] = $title;
532 foreach (
$_POST[
'participants'] as $usr_id) {
533 $memberIsAdmin = $rbacreview->isAssigned($usr_id, $adminRoleId);
538 if (!$hasEditPermissionAccess && $memberIsAdmin &&
539 !in_array($adminRoleId,
$_POST[
'roles'][$usr_id])
541 $_POST[
'roles'][$usr_id][] = $adminRoleId;
545 foreach ((array)
$_POST[
'roles'][$usr_id] as $role_id) {
546 if (!array_key_exists($role_id, $assignableLocalRoles)) {
548 $this->ctrl->redirect($this,
'participants');
550 if (!$hasEditPermissionAccess &&
551 $role_id == $adminRoleId &&
554 $this->ctrl->redirect($this,
'participants');
561 if (!isset(
$_POST[
'roles'][$admin_id])) {
565 if (in_array($adminRoleId,
$_POST[
'roles'][$admin_id])) {
571 if (!$has_admin && is_array(
$_POST[
'roles'])) {
572 foreach (
$_POST[
'roles'] as $usrId => $roleIdsToBeAssigned) {
573 if (in_array($adminRoleId, $roleIdsToBeAssigned)) {
581 ilUtil::sendFailure($this->lng->txt($this->getParentObject()->getType() .
'_min_one_admin'),
true);
582 $this->ctrl->redirect($this,
'participants');
585 foreach (
$_POST[
'participants'] as $usr_id) {
600 $this->
getMembersObject()->updatePassed($usr_id, in_array($usr_id, $passed),
true);
609 in_array($usr_id, $contact)
616 $this->updateLPFromStatus($usr_id, in_array($usr_id, $passed));
618 ilUtil::sendSuccess($this->lng->txt(
"msg_obj_modified"),
true);
619 $this->ctrl->redirect($this,
"participants");
629 $ilAccess =
$DIC[
'ilAccess'];
632 $participants = (array)
$_POST[
'participants'];
634 if (!count($participants)) {
636 $this->ctrl->redirect($this,
'participants');
641 ilUtil::sendFailure($this->lng->txt($this->getParentObject()->getType() .
'_at_least_one_admin'),
true);
642 $this->ctrl->redirect($this,
'participants');
647 $this->lng->loadLanguageModule(
'rbac');
654 !$ilAccess->checkAccess(
657 $this->getParentObject()->getRefId()
659 !$this->getMembersObject()->isAdmin(
$GLOBALS[
'DIC'][
'ilUser']->getId())
661 foreach ($participants as $usr_id) {
664 $this->ctrl->redirect($this,
'participants');
670 $this->repository_object->getRefId(),
673 return $this->showDeleteParticipantsConfirmationWithLinkedCourses($participants);
676 include_once(
'./Services/Utilities/classes/class.ilConfirmationGUI.php');
678 $confirm->setFormAction($this->ctrl->getFormAction($this,
'confirmDeleteParticipants'));
679 $confirm->setHeaderText($this->lng->txt($this->getParentObject()->getType() .
'_header_delete_members'));
680 $confirm->setConfirm($this->lng->txt(
'confirm'),
'deleteParticipants');
681 $confirm->setCancel($this->lng->txt(
'cancel'),
'participants');
683 foreach ($participants as $usr_id) {
689 $name[
'lastname'] .
', ' .
$name[
'firstname'] .
' [' .
$name[
'login'] .
']',
694 $this->tpl->setContent($confirm->getHTML());
701 $rbacreview =
$DIC[
'rbacreview'];
702 $rbacsystem =
$DIC[
'rbacsystem'];
703 $ilAccess =
$DIC[
'ilAccess'];
706 $participants = (array)
$_POST[
'participants'];
708 if (!is_array($participants) or !count($participants)) {
710 $this->ctrl->redirect($this,
'participants');
716 !$ilAccess->checkAccess(
'edit_permission',
'', $this->getParentObject()->getRefId()) &&
717 !$this->getMembersObject()->isAdmin(
$GLOBALS[
'DIC'][
'ilUser']->getId())
719 foreach ($participants as $part) {
722 $this->ctrl->redirect($this,
'participants');
729 $this->ctrl->redirect($this,
'participants');
731 foreach ((array)
$_POST[
"participants"] as $usr_id) {
739 include_once
'./Modules/Group/classes/class.ilGroupMembershipMailNotification.php';
749 ilUtil::sendSuccess($this->lng->txt($this->getParentObject()->getType() .
"_members_deleted"),
true);
750 $this->ctrl->redirect($this,
"participants");
761 if (
$_POST[
'participants']) {
762 $participants = (array)
$_POST[
'participants'];
763 } elseif (
$_POST[
'subscribers']) {
764 $participants = (array)
$_POST[
'subscribers'];
765 } elseif (
$_POST[
'waiting']) {
766 $participants = (array)
$_POST[
'waiting'];
767 } elseif (
$_GET[
'member_id']) {
768 $participants = array(
$_GET[
'member_id']);
771 if (!count($participants)) {
773 $this->ctrl->redirect($this,
'participants');
776 foreach ($participants as $usr_id) {
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[
'ilAccess'];
1010 include_once
'./Services/Mail/classes/class.ilMail.php';
1021 if ($has_manage_members_permission) {
1025 $this->ctrl->getLinkTarget($this,
'')
1028 (
bool) $this->
getParentObject()->getShowMembers() && $a_is_participant
1033 $this->ctrl->getLinkTargetByClass(array(get_class($this),
'ilusersgallerygui'),
'view')
1037 $GLOBALS[
'DIC'][
'rbacsystem']->checkAccess(
'internal_mail', $mail->getMailObjectReferenceId()) &&
1043 $this->ctrl->getLinkTarget($this,
"mailMembersBtn")
1054 return $this->lng->txt(
'members');
1064 $ilAccess =
$DIC[
'ilAccess'];
1069 $this->ctrl->getLinkTarget($this,
'participants'),
1077 "crs_members_groups",
1078 $this->ctrl->getLinkTargetByClass(
"ilCourseParticipantsGroupsGUI",
"show"),
1080 "ilCourseParticipantsGroupsGUI"
1084 $tree =
$DIC->repositoryTree();
1085 $children = (array) $tree->getSubTree($tree->getNodeData($this->getParentObject()->getRefId()),
false,
'sess');
1086 if (count($children)) {
1089 $this->ctrl->getLinkTargetByClass(array(get_class($this),
'ilsessionoverviewgui'),
'listSessions'),
1091 'ilsessionoverviewgui'
1097 $this->ctrl->getLinkTargetByClass(array(get_class($this),
'ilUsersGalleryGUI')),
1105 $this->ctrl->getLinkTargetByClass(array(get_class($this),
'ilUsersGalleryGUI')),
1111 include_once
'./Services/Maps/classes/class.ilMapUtil.php';
1115 $this->ctrl->getLinkTarget($this,
'membersMap'),
1121 include_once
'Services/PrivacySecurity/classes/class.ilPrivacySettings.php';
1125 $this->ctrl->getLinkTargetByClass(array(get_class($this),
'ilmemberexportgui'),
'show'),
1158 if (!count($filtered_subscribers)) {
1162 $subscriber->readSubscriberData(
1163 $filtered_subscribers
1173 $subscriber = new \ilSubscriberTableGUI($this, $this->
getParentObject(),
true,
true);
1174 $subscriber->setTitle($this->lng->txt(
'group_new_registrations'));
1184 if (!is_array(
$_POST[
"subscribers"])) {
1186 $this->ctrl->redirect($this,
'participants');
1189 include_once(
"Services/Utilities/classes/class.ilConfirmationGUI.php");
1193 $c_gui->setFormAction($this->ctrl->getFormAction($this,
"assignSubscribers"));
1194 $c_gui->setHeaderText($this->lng->txt(
"info_assign_sure"));
1195 $c_gui->setCancel($this->lng->txt(
"cancel"),
"participants");
1196 $c_gui->setConfirm($this->lng->txt(
"confirm"),
"assignSubscribers");
1198 foreach (
$_POST[
"subscribers"] as $subscribers) {
1204 $name[
'lastname'] .
', ' .
$name[
'firstname'] .
' [' .
$name[
'login'] .
']',
1209 $this->tpl->setContent($c_gui->getHTML());
1219 if (!is_array(
$_POST[
"subscribers"])) {
1221 $this->ctrl->redirect($this,
'participants');
1224 $this->lng->loadLanguageModule(
'mmbr');
1226 include_once(
"Services/Utilities/classes/class.ilConfirmationGUI.php");
1230 $c_gui->setFormAction($this->ctrl->getFormAction($this,
"refuseSubscribers"));
1231 $c_gui->setHeaderText($this->lng->txt(
"info_refuse_sure"));
1232 $c_gui->setCancel($this->lng->txt(
"cancel"),
"participants");
1233 $c_gui->setConfirm($this->lng->txt(
"confirm"),
"refuseSubscribers");
1235 foreach (
$_POST[
"subscribers"] as $subscribers) {
1241 $name[
'lastname'] .
', ' .
$name[
'firstname'] .
' [' .
$name[
'login'] .
']',
1246 $this->tpl->setContent($c_gui->getHTML());
1259 $rbacsystem =
$DIC[
'rbacsystem'];
1261 if (!
$_POST[
'subscribers']) {
1263 $this->ctrl->redirect($this,
'participants');
1268 $this->ctrl->redirect($this,
'participants');
1270 foreach (
$_POST[
'subscribers'] as $usr_id) {
1275 include_once
'./Modules/Group/classes/class.ilGroupMembershipMailNotification.php';
1284 $noti->setRecipients(array($usr_id));
1297 ilUtil::sendSuccess($this->lng->txt(
"crs_subscribers_deleted"),
true);
1298 $this->ctrl->redirect($this,
'participants');
1313 if (!is_array(
$_POST[
"subscribers"])) {
1315 $this->ctrl->redirect($this,
'participants');
1320 $this->ctrl->redirect($this,
'participants');
1322 foreach (
$_POST[
"subscribers"] as $usr_id) {
1328 include_once
'./Modules/Group/classes/class.ilGroupMembershipMailNotification.php';
1336 include_once
'./Modules/Session/classes/class.ilSessionMembershipMailNotification.php';
1339 $noti->setRecipients(array($usr_id));
1345 ilUtil::sendSuccess($this->lng->txt(
"crs_subscribers_assigned"),
true);
1346 $this->ctrl->redirect($this,
'participants');
1355 $wait = $this->initWaitingList();
1358 if (!count($wait_users)) {
1362 include_once
'./Services/Membership/classes/class.ilWaitingListTableGUI.php';
1364 $waiting_table->setUserIds(
1367 $waiting_table->readUserData();
1368 $waiting_table->setTitle($this->lng->txt(
'crs_waiting_list'));
1370 return $waiting_table;
1379 if (!is_array(
$_POST[
"waiting"])) {
1381 $this->ctrl->redirect($this,
'participants');
1385 include_once(
"Services/Utilities/classes/class.ilConfirmationGUI.php");
1389 $c_gui->setFormAction($this->ctrl->getFormAction($this,
"assignFromWaitingList"));
1390 $c_gui->setHeaderText($this->lng->txt(
"info_assign_sure"));
1391 $c_gui->setCancel($this->lng->txt(
"cancel"),
"participants");
1392 $c_gui->setConfirm($this->lng->txt(
"confirm"),
"assignFromWaitingList");
1394 foreach (
$_POST[
"waiting"] as $waiting) {
1400 $name[
'lastname'] .
', ' .
$name[
'firstname'] .
' [' .
$name[
'login'] .
']',
1405 $this->tpl->setContent($c_gui->getHTML());
1416 if (!array_key_exists(
'waiting',
$_POST) || !count(
$_POST[
"waiting"])) {
1418 $this->ctrl->redirect($this,
'participants');
1421 $waiting_list = $this->initWaitingList();
1424 foreach (
$_POST[
"waiting"] as $user_id) {
1438 include_once
'./Modules/Group/classes/class.ilGroupMembershipMailNotification.php';
1450 $noti->setRecipients(array($user_id));
1455 $waiting_list->removeFromList($user_id);
1460 ilUtil::sendSuccess($this->lng->txt(
"crs_users_added"),
true);
1461 $this->ctrl->redirect($this,
'participants');
1464 $this->ctrl->redirect($this,
'participants');
1474 if (!is_array(
$_POST[
"waiting"])) {
1476 $this->ctrl->redirect($this,
'participants');
1479 $this->lng->loadLanguageModule(
'mmbr');
1481 include_once(
"Services/Utilities/classes/class.ilConfirmationGUI.php");
1485 $c_gui->setFormAction($this->ctrl->getFormAction($this,
"refuseFromList"));
1486 $c_gui->setHeaderText($this->lng->txt(
"info_refuse_sure"));
1487 $c_gui->setCancel($this->lng->txt(
"cancel"),
"participants");
1488 $c_gui->setConfirm($this->lng->txt(
"confirm"),
"refuseFromList");
1490 foreach (
$_POST[
"waiting"] as $waiting) {
1496 $name[
'lastname'] .
', ' .
$name[
'firstname'] .
' [' .
$name[
'login'] .
']',
1501 $this->tpl->setContent($c_gui->getHTML());
1513 if (!array_key_exists(
'waiting',
$_POST) || !count(
$_POST[
'waiting'])) {
1515 $this->ctrl->redirect($this,
'participants');
1518 $waiting_list = $this->initWaitingList();
1520 foreach (
$_POST[
"waiting"] as $user_id) {
1521 $waiting_list->removeFromList($user_id);
1527 include_once
'./Modules/Group/classes/class.ilGroupMembershipMailNotification.php';
1535 include_once
'./Modules/Session/classes/class.ilSessionMembershipMailNotification.php';
1538 $noti->setRecipients(array($user_id));
1543 ilUtil::sendSuccess($this->lng->txt(
'crs_users_removed_from_list'),
true);
1544 $this->ctrl->redirect($this,
'participants');
1554 if (isset(
$_POST[
'participants'])) {
1555 $users = (array)
$_POST[
'participants'];
1556 } elseif (isset(
$_POST[
'subscribers'])) {
1557 $users = (array)
$_POST[
'subscribers'];
1558 } elseif (isset(
$_POST[
'waiting'])) {
1559 $users = (array)
$_POST[
'waiting'];
1562 if (!count($users)) {
1564 $this->ctrl->redirect($this,
'participants');
1566 include_once
'./Services/User/classes/class.ilUserClipboard.php';
1571 $this->lng->loadLanguageModule(
'user');
1572 ilUtil::sendSuccess($this->lng->txt(
'clipboard_user_added'),
true);
1573 $this->ctrl->redirect($this,
'participants');
1587 protected function activateSubTab($a_sub_tab)
1593 $tabs->activateSubTab($a_sub_tab);
1607 $ilTabs =
$DIC[
'ilTabs'];
1611 $ilTabs->clearTargets();
1613 $ilTabs->setBackTarget(
1614 $this->lng->txt(
'back'),
1615 $this->ctrl->getLinkTarget($this,
'participants')
1618 $list = $this->initAttendanceList();
1619 $form = $list->initForm(
'printMembersOutput');
1620 $this->tpl->setContent($form->getHTML());
1630 $tabs =
$DIC->tabs();
1631 $tabs->clearTargets();
1632 $tabs->setBackTarget(
1633 $this->lng->txt(
'back'),
1634 $this->ctrl->getLinkTarget($this,
'participants')
1637 $list = $this->initAttendanceList();
1638 $list->initFromForm();
1639 $list->setCallback(array($this,
'getAttendanceListUserData'));
1640 $this->member_data = $this->getPrintMemberData(
1646 $list->getNonMemberUserData($this->member_data);
1647 $list->getFullscreenHTML();
1657 $tabs =
$DIC->tabs();
1658 $tabs->clearTargets();
1659 $tabs->setBackTarget(
1660 $this->lng->txt(
'back'),
1661 $this->ctrl->getLinkTarget($this,
'jump2UsersGallery')
1664 $list = $this->initAttendanceList();
1665 $list->setTitle($this->lng->txt(
'obj_' . $this->getParentObject()->getType()) .
': ' . $this->getParentObject()->getTitle());
1667 $form = $list->initForm(
'printForMembersOutput');
1668 $list->initFromForm();
1669 $list->setCallback(array($this,
'getAttendanceListUserData'));
1670 $this->member_data = $this->getPrintMemberData($this->
getMembersObject()->getParticipants());
1671 $list->getNonMemberUserData($this->member_data);
1673 $list->getFullscreenHTML();
1681 $this->ctrl->redirectByClass(
'ilUsersGalleryGUI');
1690 protected function initAttendanceList($a_for_members =
false)
1697 $waiting_list = $this->initWaitingList();
1700 $member_id =
$DIC->repositoryTree()->checkForParentType(
1705 $member_id =
$DIC->repositoryTree()->checkForParentType(
1711 $DIC->logger()->sess()->warning(
'Cannot find parent course or group for ref_id: ' . $this->
getParentObject()->getRefId());
1723 include_once
'Services/Membership/classes/class.ilAttendanceList.php';
1734 $this->lng->txt($this->getParentObject()->getType() .
'_members_print_title'),
1735 $this->lng->txt(
'obj_' . $this->getParentObject()->getType()) .
': ' . $this->getParentObject()->getTitle()
1738 include_once
'./Services/Tracking/classes/class.ilObjUserTracking.php';
1741 if ($show_tracking) {
1742 include_once(
'./Services/Object/classes/class.ilObjectLP.php');
1744 $show_tracking = $olp->isActive();
1746 if ($show_tracking) {
1747 $list->addPreset(
'progress', $this->lng->txt(
'learning_progress'),
true);
1750 include_once(
'./Services/PrivacySecurity/classes/class.ilPrivacySettings.php');
1755 if ($privacy->enabledAccessTimesByType($this->getParentObject()->getType())) {
1756 $list->addPreset(
'access', $this->lng->txt(
'last_access'),
true);
1761 $list->addPreset(
'status', $this->lng->txt(
'crs_status'),
true);
1762 $list->addPreset(
'passed', $this->lng->txt(
'crs_passed'),
true);
1766 $list->addPreset(
'mark', $this->lng->txt(
'trac_mark'),
true);
1767 $list->addPreset(
'comment', $this->lng->txt(
'trac_comment'),
true);
1769 $list->addPreset(
'registered', $this->lng->txt(
'event_tbl_registered'),
true);
1771 $list->addPreset(
'participated', $this->lng->txt(
'event_tbl_participated'),
true);
1772 $list->addBlank($this->lng->txt(
'sess_signature'));
1774 $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.
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