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'),
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()
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()) &&
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'),
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'),
1139 return $this->
getParentGUI()->readMemberData($usr_ids, $columns);
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'));
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.
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
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.
static isReferenceMemberUpdateConfirmationRequired(int $course_ref_id, array $participants)
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.
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
if(!defined('PATH_SEPARATOR')) $GLOBALS['_PEAR_default_error_mode']
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.
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.
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.
participantsApplyFilter()
Apply filter for participant table.
Confirmation screen class.