5include_once
"./Services/Container/classes/class.ilContainerGUI.php";
6include_once(
'./Modules/Group/classes/class.ilObjGroup.php');
31 public function __construct($a_data,$a_id,$a_call_by_reference,$a_prepare_output =
false)
34 $this->
ilContainerGUI($a_data,$a_id,$a_call_by_reference,$a_prepare_output);
36 $this->lng->loadLanguageModule(
'grp');
43 $next_class = $this->ctrl->getNextClass($this);
44 $cmd = $this->ctrl->getCmd();
52 $ilAccess->checkAccess(
"read",
"",
$_GET[
"ref_id"]))
54 include_once(
"./Services/Link/classes/class.ilLink.php");
55 $ilNavigationHistory->addItem(
$_GET[
"ref_id"],
61 case 'ilgroupregistrationgui':
62 $this->ctrl->setReturn($this,
'');
63 $this->tabs_gui->setTabActive(
'join');
64 include_once(
'./Modules/Group/classes/class.ilGroupRegistrationGUI.php');
66 $this->ctrl->forwardCommand($registration);
69 case 'ilpermissiongui':
70 $this->tabs_gui->setTabActive(
'perm_settings');
71 include_once(
"Services/AccessControl/classes/class.ilPermissionGUI.php");
73 $ret =& $this->ctrl->forwardCommand($perm_gui);
76 case 'ilrepositorysearchgui':
82 include_once(
'./Services/Search/classes/class.ilRepositorySearchGUI.php');
84 $rep_search->setCallback($this,
90 $this->tabs_gui->setTabActive(
'members');
91 $this->ctrl->setReturn($this,
'members');
92 $ret =& $this->ctrl->forwardCommand($rep_search);
94 $this->tabs_gui->setSubTabActive(
'members');
97 case "ilinfoscreengui":
101 case "illearningprogressgui":
102 include_once
'./Services/Tracking/classes/class.ilLearningProgressGUI.php';
105 $this->object->getRefId(),
107 $this->ctrl->forwardCommand($new_gui);
108 $this->tabs_gui->setTabActive(
'learning_progress');
111 case 'ilobjcoursegroupinggui':
114 include_once
'./Modules/Course/classes/class.ilObjCourseGroupingGUI.php';
115 $this->ctrl->setReturn($this,
'edit');
117 $this->ctrl->forwardCommand($crs_grp_gui);
119 $this->tabs_gui->setTabActive(
'settings');
120 $this->tabs_gui->setSubTabActive(
'groupings');
123 case 'ilcoursecontentgui':
125 include_once
'./Modules/Course/classes/class.ilCourseContentGUI.php';
127 $this->ctrl->forwardCommand($course_content_obj);
130 case 'ilpublicuserprofilegui':
131 require_once
'./Services/User/classes/class.ilPublicUserProfileGUI.php';
133 $this->tabs_gui->setTabActive(
'group_members');
134 $this->tabs_gui->setSubTabActive(
'grp_members_gallery');
136 $profile_gui->setBackUrl(
$ilCtrl->getLinkTarget($this,
"membersGallery"));
137 $html = $this->ctrl->forwardCommand($profile_gui);
138 $this->tpl->setVariable(
"ADM_CONTENT", $html);
142 $this->tabs_gui->setTabActive(
'none');
144 include_once(
"./Services/Style/classes/class.ilObjStyleSheet.php");
145 $this->tpl->setVariable(
"LOCATION_CONTENT_STYLESHEET",
151 case "ilcontainerpagegui":
155 $this->tpl->setContent(
$ret);
159 case 'ilobjectcopygui':
160 include_once
'./Services/Object/classes/class.ilObjectCopyGUI.php';
163 $this->ctrl->forwardCommand($cp);
166 case "ilobjstylesheetgui":
170 case 'ilobjectcustomuserfieldsgui':
173 $this->ctrl->setReturn($this,
'members');
175 include_once
'./Services/Membership/classes/class.ilObjectCustomUserFieldsGUI.php';
178 $this->tabs_gui->setTabActive(
'settings');
179 $this->ctrl->forwardCommand($cdf_gui);
182 case 'ilmemberagreementgui':
183 include_once(
'Services/Membership/classes/class.ilMemberAgreementGUI.php');
184 $this->ctrl->setReturn($this,
'');
185 $this->tabs_gui->setTabActive(
'view_content');
187 $this->ctrl->forwardCommand($agreement);
191 $this->tabs_gui->setTabActive(
'export');
192 include_once
'./Services/Export/classes/class.ilExportGUI.php';
194 $exp->addFormat(
'xml');
195 $this->ctrl->forwardCommand($exp);
198 case 'ilmemberexportgui':
199 include_once(
'./Services/Membership/classes/Export/class.ilMemberExportGUI.php');
202 $this->tabs_gui->setTabActive(
'members');
203 $this->tabs_gui->setSubTabActive(
'export_members');
205 $this->ctrl->forwardCommand($export);
208 case "ilcommonactiondispatchergui":
209 include_once(
"Services/Object/classes/class.ilCommonActionDispatcherGUI.php");
211 $this->ctrl->forwardCommand($gui);
214 case 'ilobjectservicesettingsgui':
215 $this->ctrl->setReturn($this,
'edit');
217 $this->tabs_gui->activateTab(
'settings');
218 $this->tabs_gui->activateSubTab(
'tool_settings');
220 include_once
'./Services/Object/classes/class.ilObjectServiceSettingsGUI.php';
223 $this->object->getId(),
227 $this->ctrl->forwardCommand($service);
230 case 'ilsessionoverviewgui':
232 $this->tabs_gui->setTabActive(
'members');
233 $this->tabs_gui->setSubTabActive(
'events');
235 include_once
'./Modules/Group/classes/class.ilGroupParticipants.php';
238 include_once(
'./Modules/Session/classes/class.ilSessionOverviewGUI.php');
240 $this->ctrl->forwardCommand($overview);
247 !$ilAccess->checkAccess(
'visible',
'',$this->object->getRefId(),
'grp') and
248 !$ilAccess->checkAccess(
'read',
'',$this->object->getRefId(),
'grp') )
250 $ilErr->raiseError($this->lng->txt(
"msg_no_perm_read"),
$ilErr->MESSAGE);
254 if(
$cmd ==
'infoScreenGoto')
256 if($this->object->isRegistrationEnabled())
268 && !$rbacsystem->checkAccess(
'read',$this->object->getRefId()) &&
$cmd !=
'infoScreen')
272 if (!$rbacsystem->checkAccess(
'join',$this->object->getRefId()))
274 $this->ctrl->redirect($this,
"infoScreen");
278 include_once(
'./Modules/Group/classes/class.ilGroupRegistrationGUI.php');
279 $this->ctrl->redirectByClass(
"ilGroupRegistrationGUI",
"show");
298 include_once
'Services/Tracking/classes/class.ilLearningProgress.php';
300 $this->object->getRefId(),
'grp');
302 if (strtolower(
$_GET[
"baseClass"]) ==
"iladministrationgui")
304 parent::viewObject();
310 include_once(
'Services/Membership/classes/class.ilMemberAgreementGUI.php');
311 $this->tabs_gui->setTabActive(
'view_content');
312 $this->ctrl->setReturn($this,
'view');
314 $this->ctrl->setCmdClass(get_class($agreement));
315 $this->ctrl->forwardCommand($agreement);
319 $this->tabs_gui->setTabActive(
'view_content');
330 $ilTabs->activateTab(
"view_content");
331 $ret = parent::renderObject();
344 if ($course_ref_id =
$tree->checkForParentType($this->object->getRefId(),
'crs'))
346 include_once(
"./Modules/Course/classes/class.ilObjCourse.php");
347 include_once(
"./Modules/Course/classes/class.ilObjCourseGUI.php");
351 $this->object->getRefId());
357 if(!is_object($this->
object))
398 $ilErr->setMessage(
'');
400 if(!$this->object->validate())
402 $err = $this->lng->txt(
'err_check_input');
404 $err =
$ilErr->getMessage();
410 $this->
object->create();
412 $this->
object->initGroupStatus($this->object->getGroupType());
417 $GLOBALS[
'tree']->checkForParentType($this->object->getRefId(),
'crs') ||
418 $GLOBALS[
'tree']->checkForParentType($this->object->getRefId(),
'grp')
424 include_once
'./Services/Container/classes/class.ilContainerSortingSettings.php';
426 $sort->setSortMode($sort_mode);
431 include_once(
'./Modules/Group/classes/class.ilGroupParticipants.php');
434 $members_obj->updateNotification(
$ilUser->getId(),1);
438 $this->ctrl->setParameter($this,
'ref_id',$this->object->getRefId());
439 $this->ctrl->redirect($this,
"edit");
454 $this->tabs_gui->setTabActive(
'settings');
455 $this->tabs_gui->setSubTabActive(
'grp_settings');
459 $this->tpl->setVariable(
'ADM_CONTENT',$this->form->getHTML());
471 $type = $this->
object->getGroupType() ?
472 $this->
object->getGroupType() :
473 $this->
object->readGroupStatus();
483 $this->
object->updateGroupType();
484 $this->
object->update();
486 $this->ctrl->redirect($this,
'edit');
503 $this->form->checkInput();
505 $old_type = $this->
object->getGroupType();
508 $ilErr->setMessage(
'');
510 if(!$this->object->validate())
512 $err = $this->lng->txt(
'err_check_input');
514 $err =
$ilErr->getMessage();
521 if($this->object->isGroupTypeModified($old_type))
524 $this->
object->setGroupType($old_type);
527 $this->
object->update();
530 include_once
'./Services/Object/classes/class.ilObjectServiceSettingsGUI.php';
532 $this->object->getId(),
546 require_once(
'Services/Tracking/classes/class.ilChangeEvent.php');
553 include_once
'Modules/Group/classes/class.ilECSGroupSettings.php';
555 $ecs->handleSettingsUpdate();
559 include_once
'./Services/Utilities/classes/class.ilConfirmationGUI.php';
562 $confirm->setFormAction($this->ctrl->getFormAction($this));
565 $this->object->getGroupType(),
566 $this->lng->txt(
'grp_info_new_grp_type').
': '.($this->object->getGroupType() ==
GRP_TYPE_CLOSED ? $this->lng->txt(
'il_grp_status_open') : $this->lng->txt(
'il_grp_status_closed'))
568 $confirm->addButton($this->lng->txt(
'grp_change_type'),
'updateGroupType');
569 $confirm->setCancel($this->lng->txt(
'cancel'),
'edit');
571 $this->tpl->setContent($confirm->getHTML());
577 $this->ctrl->redirect($this,
'edit');
592 $this->tabs_gui->setTabActive(
'settings');
593 $this->tabs_gui->setSubTabActive(
'grp_icon_settings');
600 $tpl->setContent($a_form->getHTML());
605 include_once
"Services/Form/classes/class.ilPropertyFormGUI.php";
607 $form->setFormAction($this->ctrl->getFormAction($this));
612 $form->addCommandButton(
'updateGroupIcons', $this->lng->txt(
'save'));
630 if($form->checkInput())
635 if(
$_POST[
"cont_icon_delete"])
637 $this->
object->removeCustomIcon();
639 $this->
object->saveIcons($_FILES[
"cont_icon"][
'tmp_name']);
642 $this->ctrl->redirect($this,
"editGroupIcons");
645 $form->setValuesByPost();
657 $this->tabs_gui->setTabActive(
'settings');
658 $this->tabs_gui->setSubTabActive(
'grp_map_settings');
660 include_once(
'./Services/Maps/classes/class.ilMapUtil.php');
662 !$ilAccess->checkAccess(
"write",
"", $this->object->getRefId()))
667 $latitude = $this->
object->getLatitude();
668 $longitude = $this->
object->getLongitude();
669 $zoom = $this->
object->getLocationZoom();
672 if ($latitude == 0 && $longitude == 0 && $zoom == 0)
675 $latitude = $def[
"latitude"];
676 $longitude = $def[
"longitude"];
677 $zoom = $def[
"zoom"];
681 include_once(
"./Services/Form/classes/class.ilPropertyFormGUI.php");
683 $form->setFormAction(
$ilCtrl->getFormAction($this));
685 $form->setTitle($this->lng->txt(
"grp_map_settings"));
690 $public->setValue(
"1");
691 $public->setChecked($this->object->getEnableGroupMap());
692 $form->addItem($public);
697 $loc_prop->setLatitude($latitude);
698 $loc_prop->setLongitude($longitude);
699 $loc_prop->setZoom($zoom);
700 $form->addItem($loc_prop);
702 $form->addCommandButton(
"saveMapSettings", $this->lng->txt(
"save"));
704 $this->tpl->setVariable(
"ADM_CONTENT", $form->getHTML());
715 $this->
object->update();
717 $ilCtrl->redirect($this,
"editMapSettings");
728 $this->tabs_gui->setTabActive(
'members');
730 include_once(
"./Services/Maps/classes/class.ilMapUtil.php");
737 $map->setMapId(
"group_map")
740 ->setLatitude($this->object->getLatitude())
741 ->setLongitude($this->object->getLongitude())
742 ->setZoom($this->object->getLocationZoom())
743 ->setEnableTypeControl(
true)
744 ->setEnableNavigationControl(
true)
745 ->setEnableCentralMarker(
true);
748 $member_ids = $this->
object->getGroupMemberIds();
749 $admin_ids = $this->
object->getGroupAdminIds();
752 $members = $this->
object->getGroupMemberData($member_ids);
753 foreach($member_ids as $user_id)
755 $map->addUserMarker($user_id);
757 $tpl->setContent($map->getHTML());
758 $tpl->setLeftContent($map->getUserListHTML());
775 $this->tabs_gui->setTabActive(
'settings');
776 $this->tabs_gui->setSubTabActive(
'grp_info_settings');
779 $this->tpl->setContent($this->form->getHTML());
790 if(is_object($this->form))
795 include_once(
"./Services/Form/classes/class.ilPropertyFormGUI.php");
797 $this->form->setFormAction($this->ctrl->getFormAction($this,
'updateInfo'));
798 $this->form->setTitle($this->lng->txt(
'grp_general_informations'));
799 $this->form->addCommandButton(
'updateInfo',$this->lng->txt(
'save'));
800 $this->form->addCommandButton(
'cancel',$this->lng->txt(
'cancel'));
803 $area->setInfo($this->lng->txt(
'grp_information_info'));
804 $area->setValue($this->object->getInformation());
807 $this->form->addItem($area);
821 $this->
object->update();
836 global $rbacsystem, $ilAccess,
$ilUser, $ilToolbar;
838 $is_admin = (bool) $rbacsystem->checkAccess(
"write", $this->object->getRefId());
840 $this->tpl->addBlockFile(
'ADM_CONTENT',
'adm_content',
'tpl.crs_members_gallery.html',
'Modules/Course');
843 $this->tabs_gui->setTabActive(
'members');
845 $member_ids = $this->
object->getGroupMemberIds();
846 $admin_ids = $this->
object->getGroupAdminIds();
849 $members = $this->
object->getGroupMemberData($member_ids);
856 $ordered_members = array();
858 foreach($members as $member)
866 if(!$usr_obj->getActive())
874 array_push($ordered_members,array(
"id" => $member[
"id"],
875 "login" => $usr_obj->getLogin(),
876 "lastname" => $usr_obj->getLastName(),
877 "firstname" => $usr_obj->getFirstName(),
878 "sortlastname" => strtoupper($usr_obj->getLastName()).strtoupper($usr_obj->getFirstName()),
879 "usr_obj" => $usr_obj));
884 foreach($ordered_members as $member) {
886 $usr_obj = $member[
"usr_obj"];
888 $public_profile = $usr_obj->getPref(
"public_profile");
889 if ($public_profile ==
"g")
891 $public_profile =
"y";
895 $this->ctrl->setParameterByClass(
"ilpublicuserprofilegui",
"user", $member[
"id"]);
896 $profile_target = $this->ctrl->getLinkTargetByClass(
"ilpublicuserprofilegui",
"getHTML");
899 $file = $usr_obj->getPersonalPicturePath(
"xsmall");
901 switch(in_array($member[
"id"],$admin_ids))
905 if ($public_profile ==
"y")
907 $this->tpl->setCurrentBlock(
"member_linked");
908 $this->tpl->setVariable(
"LINK_PROFILE", $profile_target);
909 $this->tpl->setVariable(
"SRC_USR_IMAGE",
$file);
910 $this->tpl->parseCurrentBlock();
914 $this->tpl->setCurrentBlock(
"member_not_linked");
915 $this->tpl->setVariable(
"SRC_USR_IMAGE",
$file);
916 $this->tpl->parseCurrentBlock();
918 $this->tpl->setCurrentBlock(
"member");
922 if ($public_profile ==
"y")
924 $this->tpl->setCurrentBlock(
"member_linked");
925 $this->tpl->setVariable(
"LINK_PROFILE", $profile_target);
926 $this->tpl->setVariable(
"SRC_USR_IMAGE",
$file);
927 $this->tpl->parseCurrentBlock();
931 $this->tpl->setCurrentBlock(
"member_not_linked");
932 $this->tpl->setVariable(
"SRC_USR_IMAGE",
$file);
933 $this->tpl->parseCurrentBlock();
935 $this->tpl->setCurrentBlock(
"member");
939 if (in_array($member[
"id"],$admin_ids)) {
940 $this->tpl->setVariable(
"MEMBER_CLASS",
"il_Admin");
943 $this->tpl->setVariable(
"MEMBER_CLASS",
"il_Member");
948 if ($public_profile ==
"y")
950 $this->tpl->setVariable(
"FIRSTNAME", $member[
"firstname"]);
951 $this->tpl->setVariable(
"LASTNAME", $member[
"lastname"]);
953 $this->tpl->setVariable(
"LOGIN", $usr_obj->getLogin());
954 $this->tpl->parseCurrentBlock();
956 $this->tpl->setCurrentBlock(
"members");
958 $this->tpl->parseCurrentBlock();
961 $this->tpl->setVariable(
"TITLE",$this->lng->txt(
'crs_members_print_title'));
968 include_once(
'./Services/PrivacySecurity/classes/class.ilPrivacySettings.php');
971 if($this->show_tracking)
973 include_once
'Services/Tracking/classes/class.ilLPStatusWrapper.php';
979 if($privacy->enabledGroupAccessTimes())
981 include_once(
'./Services/Tracking/classes/class.ilLearningProgress.php');
985 $do_prtf = (is_array($selected_columns) &&
986 in_array(
'prtf', $selected_columns) &&
990 include_once
"Modules/Portfolio/classes/class.ilObjPortfolio.php";
992 $this->ctrl->getLinkTarget($this,
"members"));
995 foreach($ids as $usr_id)
998 $tmp_data[
'firstname'] = $name[
'firstname'];
999 $tmp_data[
'lastname'] = $name[
'lastname'];
1001 $tmp_data[
'notification'] = $this->
object->members_obj->isNotificationEnabled($usr_id) ? 1 : 0;
1002 $tmp_data[
'usr_id'] = $usr_id;
1005 if($this->show_tracking)
1007 if(in_array($usr_id,$completed))
1011 elseif(in_array($usr_id,$in_progress))
1015 elseif(in_array($usr_id,
$failed))
1025 if($privacy->enabledGroupAccessTimes())
1027 if(isset($progress[$usr_id][
'ts']) and $progress[$usr_id][
'ts'])
1031 $tmp_data[
'access_time_unix'] = $tmp_date->get(
IL_CAL_UNIX);
1035 $tmp_data[
'access_time'] = $this->lng->txt(
'no_date');
1036 $tmp_data[
'access_time_unix'] = 0;
1042 $tmp_data[
'prtf'] = $all_prtf[$usr_id];
1045 $members[$usr_id] = $tmp_data;
1047 return $members ? $members : array();
1060 include_once(
'./Modules/Group/classes/class.ilGroupParticipants.php');
1061 include_once(
'./Modules/Group/classes/class.ilGroupParticipantsTableGUI.php');
1065 include_once
'./Services/Tracking/classes/class.ilObjUserTracking.php';
1068 if($this->show_tracking)
1070 include_once(
'./Services/Object/classes/class.ilObjectLP.php');
1072 $this->show_tracking = $olp->isActive();
1078 $this->tabs_gui->setTabActive(
'members');
1079 $this->tabs_gui->setSubTabActive(
'grp_edit_members');
1081 $this->tpl->addBlockfile(
'ADM_CONTENT',
'adm_content',
'tpl.grp_edit_members.html',
'Modules/Group');
1082 $this->tpl->setVariable(
'FORMACTION',$this->ctrl->getFormAction($this));
1085 include_once
'./Services/Search/classes/class.ilRepositorySearchGUI.php';
1090 'auto_complete_name' =>
$lng->txt(
'user'),
1091 'user_type' => $this->getLocalRoles(),
1092 'submit_name' =>
$lng->txt(
'add')
1097 $ilToolbar->addSeparator();
1100 $ilToolbar->addButton($this->lng->txt(
"grp_search_users"),
1101 $this->ctrl->getLinkTargetByClass(
'ilRepositorySearchGUI',
'start'));
1103 $ilToolbar->addSeparator();
1106 $ilToolbar->addButton($this->lng->txt(
"grp_print_list"),
1107 $this->ctrl->getLinkTarget($this,
'printMembers'));
1115 include_once(
'./Modules/Group/classes/class.ilGroupWaitingList.php');
1117 if(count($wait = $waiting_list->getAllUsers()))
1119 include_once(
'./Services/Membership/classes/class.ilWaitingListTableGUI.php');
1120 if(
$ilUser->getPref(
'grp_wait_hide'))
1123 $this->ctrl->setParameter($this,
'wait_hide',0);
1124 $table_gui->addHeaderCommand($this->ctrl->getLinkTarget($this,
'members'),
1125 $this->lng->txt(
'show'));
1126 $this->ctrl->clearParameters($this);
1131 $this->ctrl->setParameter($this,
'wait_hide',1);
1132 $table_gui->addHeaderCommand($this->ctrl->getLinkTarget($this,
'members'),
1133 $this->lng->txt(
'hide'));
1134 $this->ctrl->clearParameters($this);
1136 $table_gui->setUsers($wait);
1137 $table_gui->setTitle($this->lng->txt(
'grp_header_waiting_list'),
'icon_usr.svg',$this->lng->txt(
'group_new_registrations'));
1138 $this->tpl->setVariable(
'TABLE_SUB',$table_gui->getHTML());
1143 if($part->getSubscribers())
1145 include_once(
'./Services/Membership/classes/class.ilSubscriberTableGUI.php');
1146 if(
$ilUser->getPref(
'grp_subscriber_hide'))
1149 $this->ctrl->setParameter($this,
'subscriber_hide',0);
1150 $table_gui->addHeaderCommand($this->ctrl->getLinkTarget($this,
'members'),
1151 $this->lng->txt(
'show'));
1152 $this->ctrl->clearParameters($this);
1157 $this->ctrl->setParameter($this,
'subscriber_hide',1);
1158 $table_gui->addHeaderCommand($this->ctrl->getLinkTarget($this,
'members'),
1159 $this->lng->txt(
'hide'));
1160 $this->ctrl->clearParameters($this);
1162 $table_gui->readSubscriberData();
1163 $table_gui->setTitle($this->lng->txt(
'group_new_registrations'),
'icon_usr.svg',$this->lng->txt(
'group_new_registrations'));
1164 $this->tpl->setVariable(
'TABLE_SUB',$table_gui->getHTML());
1167 if(count($part->getAdmins()))
1169 if(
$ilUser->getPref(
'grp_admin_hide'))
1172 $this->ctrl->setParameter($this,
'admin_hide',0);
1173 $table_gui->addHeaderCommand($this->ctrl->getLinkTarget($this,
'members'),
1174 $this->lng->txt(
'show'));
1175 $this->ctrl->clearParameters($this);
1180 $this->ctrl->setParameter($this,
'admin_hide',1);
1181 $table_gui->addHeaderCommand($this->ctrl->getLinkTarget($this,
'members'),
1182 $this->lng->txt(
'hide'));
1183 $this->ctrl->clearParameters($this);
1185 $table_gui->setTitle($this->lng->txt(
'grp_admins'),
'icon_usr.svg',$this->lng->txt(
'grp_admins'));
1187 $this->tpl->setVariable(
'ADMINS',$table_gui->getHTML());
1190 if(
$GLOBALS[
'rbacreview']->getNumberOfAssignedUsers(array($this->object->getDefaultMemberRole())))
1192 if(
$ilUser->getPref(
'grp_member_hide'))
1195 $this->ctrl->setParameter($this,
'member_hide',0);
1196 $table_gui->addHeaderCommand($this->ctrl->getLinkTarget($this,
'members'),
1197 $this->lng->txt(
'show'));
1198 $this->ctrl->clearParameters($this);
1203 $this->ctrl->setParameter($this,
'member_hide',1);
1204 $table_gui->addHeaderCommand($this->ctrl->getLinkTarget($this,
'members'),
1205 $this->lng->txt(
'hide'));
1206 $this->ctrl->clearParameters($this);
1209 $table_gui->setTitle($this->lng->txt(
'grp_members'),
'icon_usr.svg',$this->lng->txt(
'grp_members'));
1210 $table_gui->parse($this->
readMemberData(
$GLOBALS[
'rbacreview']->assignedUsers($this->object->getDefaultMemberRole()),
1211 null, $table_gui->getSelectedColumns()));
1212 $this->tpl->setCurrentBlock(
'member_block');
1213 $this->tpl->setVariable(
'MEMBERS',$table_gui->getHTML());
1214 $this->tpl->parseCurrentBlock();
1220 if(!(
$GLOBALS[
'rbacreview']->getNumberOfAssignedUsers(array($role_id))))
1224 if(
$ilUser->getPref(
'grp_role_hide'.$role_id))
1227 $this->ctrl->setParameter($this,
'role_hide_'.$role_id,0);
1228 $table_gui->addHeaderCommand($this->ctrl->getLinkTarget($this,
'members'),
1229 $this->lng->txt(
'show'));
1230 $this->ctrl->clearParameters($this);
1235 $this->ctrl->setParameter($this,
'role_hide_'.$role_id,1);
1236 $table_gui->addHeaderCommand($this->ctrl->getLinkTarget($this,
'members'),
1237 $this->lng->txt(
'hide'));
1238 $this->ctrl->clearParameters($this);
1243 $this->tpl->setCurrentBlock(
'member_block');
1244 $this->tpl->setVariable(
'MEMBERS',$table_gui->getHTML());
1245 $this->tpl->parseCurrentBlock();
1248 $this->tpl->setVariable(
'TXT_SELECTED_USER',$this->lng->txt(
'grp_selected_users'));
1249 $this->tpl->setVariable(
'BTN_FOOTER_EDIT',$this->lng->txt(
'edit'));
1250 $this->tpl->setVariable(
'BTN_FOOTER_VAL',$this->lng->txt(
'remove'));
1251 $this->tpl->setVariable(
'BTN_FOOTER_MAIL',$this->lng->txt(
'grp_mem_send_mail'));
1268 if(!count(
$_POST[
'subscribers']))
1275 include_once
'./Modules/Group/classes/class.ilGroupMembershipMailNotification.php';
1276 foreach(
$_POST[
'subscribers'] as $usr_id)
1278 $this->
object->members_obj->sendNotification(
1284 $this->
object->members_obj->deleteSubscriber($usr_id);
1288 $this->ctrl->redirect($this,
'members');
1304 if(!count(
$_POST[
'subscribers']))
1311 include_once
'./Modules/Group/classes/class.ilGroupMembershipMailNotification.php';
1312 foreach(
$_POST[
'subscribers'] as $usr_id)
1314 $this->
object->members_obj->sendNotification(
1318 $this->
object->members_obj->deleteSubscriber($usr_id);
1337 if(!count(
$_POST[
"waiting"]))
1344 include_once(
'./Modules/Group/classes/class.ilGroupWaitingList.php');
1347 include_once
'./Modules/Group/classes/class.ilGroupMembershipMailNotification.php';
1350 foreach(
$_POST[
"waiting"] as $user_id)
1356 if($this->object->members_obj->isAssigned($user_id))
1361 $this->
object->members_obj->sendNotification(
1365 $waiting_list->removeFromList($user_id);
1372 $this->ctrl->redirect($this,
"members");
1379 $this->searchObject();
1395 if(!count(
$_POST[
'waiting']))
1402 include_once(
'./Modules/Group/classes/class.ilGroupWaitingList.php');
1405 include_once
'./Modules/Group/classes/class.ilGroupMembershipMailNotification.php';
1406 foreach(
$_POST[
"waiting"] as $user_id)
1408 $waiting_list->removeFromList($user_id);
1409 $this->
object->members_obj->sendNotification(
1416 $this->ctrl->redirect($this,
"members");
1429 $participants_to_delete = (array) array_unique(array_merge((array)
$_POST[
'admins'],(array)
$_POST[
'members'], (array)
$_POST[
'roles']));
1431 if(!count($participants_to_delete))
1441 $admins_after = (array) array_diff($admins, $participants_to_delete);
1442 if(!count($admins_after) and count($admins))
1450 $this->tabs_gui->setTabActive(
'members');
1451 $this->tabs_gui->setSubTabActive(
'grp_edit_members');
1453 include_once(
'./Services/Utilities/classes/class.ilConfirmationGUI.php');
1455 $confirm->setFormAction($this->ctrl->getFormAction($this,
'deleteMembers'));
1456 $confirm->setHeaderText($this->lng->txt(
'grp_dismiss_member'));
1457 $confirm->setConfirm($this->lng->txt(
'confirm'),
'deleteMembers');
1458 $confirm->setCancel($this->lng->txt(
'cancel'),
'members');
1462 $confirm->addItem(
'participants[]',
1463 $participants[
'usr_id'],
1464 $participants[
'lastname'].
', '.$participants[
'firstname'].
' ['.$participants[
'login'].
']',
1468 $this->tpl->setContent($confirm->getHTML());
1482 if(!count(
$_POST[
'participants']))
1489 $this->
object->members_obj->deleteParticipants(
$_POST[
'participants']);
1492 include_once
'./Modules/Group/classes/class.ilGroupMembershipMailNotification.php';
1493 foreach(
$_POST[
'participants'] as $part)
1495 $this->
object->members_obj->sendNotification(
1503 $this->ctrl->redirect($this,
"members");
1516 if(isset(
$_GET[
'member_id']))
1518 $_POST[
'participants'] = array(
$_GET[
'member_id']);
1522 $_POST[
'participants'] = array_unique(array_merge((array)
$_POST[
'admins'],
1523 (array)
$_POST[
'members'],
1525 (array)
$_POST[
'waiting'],
1526 (array)
$_POST[
'subscribers']));
1528 if (!count(
$_POST[
'participants']))
1534 foreach(
$_POST[
'participants'] as $usr_id)
1539 require_once
'Services/Mail/classes/class.ilMailFormCall.php';
1559 if(isset(
$_GET[
'admin_hide']))
1561 $ilUser->writePref(
'grp_admin_hide',(
int)
$_GET[
'admin_hide']);
1563 if(isset(
$_GET[
'member_hide']))
1565 $ilUser->writePref(
'grp_member_hide',(
int)
$_GET[
'member_hide']);
1567 if(isset(
$_GET[
'subscriber_hide']))
1569 $ilUser->writePref(
'grp_subscriber_hide',(
int)
$_GET[
'subscriber_hide']);
1571 if(isset(
$_GET[
'wait_hide']))
1573 $ilUser->writePref(
'grp_wait_hide',(
int)
$_GET[
'wait_hide']);
1584 $_POST[
'members'] = array((
int)
$_GET[
'member_id']);
1598 $post_participants = array_unique(array_merge((array)
$_POST[
'admins'],(array)
$_POST[
'members'], (array)
$_POST[
'roles']));
1600 $participants = array_intersect((array) $post_participants, (array) $real_participants);
1602 if(!count($participants))
1610 $this->tabs_gui->setTabActive(
'members');
1611 $this->tabs_gui->setSubTabActive(
'grp_edit_members');
1613 include_once(
'./Modules/Group/classes/class.ilGroupEditParticipantsTableGUI.php');
1615 $table_gui->setTitle($this->lng->txt(
'grp_mem_change_status'),
'icon_usr.svg',$this->lng->txt(
'grp_mem_change_status'));
1618 $this->tpl->setContent($table_gui->getHTML());
1633 if(!count(
$_POST[
'participants']))
1642 $admin_role = $this->
object->getDefaultAdminRole();
1645 if(!isset(
$_POST[
'roles'][$admin_id]))
1650 if(in_array($admin_role,
$_POST[
'roles'][$admin_id]))
1665 $admin_role = $this->
object->getDefaultAdminRole();
1667 $notifications =
$_POST[
'notification'] ?
$_POST[
'notification'] : array();
1668 foreach(
$_POST[
'participants'] as $usr_id)
1671 $notification =
false;
1672 if($this->object->members_obj->isAdmin($usr_id) and !in_array($admin_role,(array)
$_POST[
'roles'][$usr_id]))
1674 $notification =
true;
1676 if(!$this->object->members_obj->isAdmin($usr_id) and in_array($admin_role,(array)
$_POST[
'roles'][$usr_id]))
1678 $notification =
true;
1682 $this->
object->members_obj->updateRoleAssignments($usr_id,(array)
$_POST[
'roles'][$usr_id]);
1685 $this->
object->members_obj->updateNotification($usr_id,0);
1687 if($this->object->members_obj->isAdmin($usr_id) and in_array($usr_id,$notifications))
1689 $this->
object->members_obj->updateNotification($usr_id,1);
1694 include_once
'./Modules/Group/classes/class.ilGroupMembershipMailNotification.php';
1695 $this->
object->members_obj->sendNotification(
1702 $this->ctrl->redirect($this,
"members");
1717 $notification =
$_POST[
'notification'] ?
$_POST[
'notification'] : array();
1718 foreach($this->object->members_obj->getAdmins() as $admin_id)
1720 $this->
object->members_obj->updateNotification($admin_id,(
int) in_array($admin_id,$notification));
1758 if($part->isLastAdmin(
$ilUser->getId()))
1765 $this->tabs_gui->setTabActive(
'grp_btn_unsubscribe');
1767 include_once
"Services/Utilities/classes/class.ilConfirmationGUI.php";
1769 $cgui->setHeaderText($this->lng->txt(
'grp_dismiss_myself'));
1770 $cgui->setFormAction($this->ctrl->getFormAction($this));
1771 $cgui->setCancel($this->lng->txt(
"cancel"),
"cancel");
1772 $cgui->setConfirm($this->lng->txt(
"grp_btn_unsubscribe"),
"unsubscribe");
1773 $this->tpl->setContent($cgui->getHTML());
1788 $this->
object->members_obj->delete($ilUser->getId());
1790 include_once
'./Modules/Group/classes/class.ilGroupMembershipMailNotification.php';
1791 $this->
object->members_obj->sendNotification(
1795 $this->
object->members_obj->sendNotification(
1801 $ilCtrl->setParameterByClass(
"ilrepositorygui",
"ref_id",
1802 $tree->getParentId($this->object->getRefId()));
1803 $ilCtrl->redirectByClass(
"ilrepositorygui",
"");
1813 $user_ids =
$_POST[
"id"];
1815 if (empty($user_ids[0]))
1818 $this->ilErr->raiseError($this->lng->txt(
"no_checkbox"),$this->ilErr->MESSAGE);
1821 foreach ($user_ids as $new_member)
1823 if (!$this->object->addMember($new_member,$this->object->getDefaultMemberRole()))
1825 $this->ilErr->raiseError(
"An Error occured while assigning user to group !",$this->ilErr->MESSAGE);
1832 $this->ctrl->redirect($this,
'members');
1841 if (empty($user_ids[0]))
1843 $GLOBALS[
'lng']->loadLanguageModule(
'search');
1850 foreach((array) $user_ids as $new_member)
1852 if($part->isAssigned($new_member))
1858 case $this->
object->getDefaultAdminRole():
1860 include_once
'./Modules/Group/classes/class.ilGroupMembershipMailNotification.php';
1861 $part->sendNotification(
1870 include_once
'./Modules/Group/classes/class.ilGroupMembershipMailNotification.php';
1871 $part->sendNotification(
1888 $this->ctrl->redirect($this,
'members');
1896 global $rbacreview, $ilObjDataCache,
$ilias;
1897 include_once(
'./Services/AccessControl/classes/class.ilObjRole.php');
1899 $this->lng->loadLanguageModule(
'mail');
1900 if(!isset(
$_GET[
'returned_from_mail']))
1905 $this->tpl->addBlockFile(
'ADM_CONTENT',
'adm_content',
'tpl.mail_members.html',
'Services/Contact');
1908 $this->tabs_gui->setTabActive(
'members');
1909 $b_cmd =
$_GET[
"back_cmd"] ?
$_GET[
"back_cmd"] :
"members";
1910 $this->tabs_gui->setBackTarget($this->lng->txt(
"back"), $this->ctrl->getLinkTarget($this,$b_cmd));
1913 require_once
'Services/Mail/classes/class.ilMailFormCall.php';
1916 $this->tpl->setVariable(
"TXT_MARKED_ENTRIES",$this->lng->txt(
'marked_entries'));
1917 $this->tpl->setVariable(
"OK",$this->lng->txt(
'next'));
1920 $role_ids = $rbacreview->getRolesOfRoleFolder($this->object->getRefId(),
false);
1921 $role_addrs = array();
1924 $sorted_role_ids = array();
1926 foreach($role_ids as $role_id)
1931 $sorted_role_ids[1] = $role_id;
1935 $sorted_role_ids[0] = $role_id;
1939 $sorted_role_ids[$counter++] = $role_id;
1943 ksort($sorted_role_ids,SORT_NUMERIC);
1944 foreach ((array) $sorted_role_ids as $role_id)
1946 $this->tpl->setCurrentBlock(
"mailbox_row");
1947 $role_addr = $rbacreview->getRoleMailboxAddress($role_id);
1951 if(count($ids_for_role_title) >= 2)
1953 $ilias->setSetting(
'pear_mail_enable', 1);
1957 htmlspecialchars($role_addr)
1960 if (ilMail::_usePearMail() && substr($role_addr, 0, 4) !=
'#il_')
1963 $this->tpl->setVariable(
"MAILBOX",$role_addr);
1970 $this->tpl->parseCurrentBlock();
1980 $user_ids =
$_POST[
"user_id"];
1982 if (empty($user_ids[0]))
1984 $this->ilErr->raiseError($this->lng->txt(
"no_checkbox"),$this->ilErr->MESSAGE);
1986 include_once
'Services/Mail/classes/class.ilMail.php';
1989 foreach ($user_ids as $new_member)
1991 $user =& $this->
ilias->obj_factory->getInstanceByObjId($new_member);
1993 $this->
object->deleteApplicationListEntry($new_member);
1994 $mail->sendMail($user->getLogin(),
"",
"",
"Membership application refused: Group ".$this->object->getTitle(),
"Your application has been refused.",array(),array(
'system'));
1998 $this->ctrl->redirect($this,
'members');
2004 global $rbacsystem,
$ilUser, $ilAccess,
$lng, $ilHelp;
2006 $ilHelp->setScreenIdComponent(
"grp");
2008 if ($rbacsystem->checkAccess(
'read',$this->ref_id))
2010 $tabs_gui->addTab(
"view_content",
$lng->txt(
"content"),
2011 $this->ctrl->getLinkTarget($this,
""));
2013 if ($rbacsystem->checkAccess(
'visible',$this->ref_id))
2015 $tabs_gui->addTarget(
"info_short",
2016 $this->ctrl->getLinkTargetByClass(
2017 array(
"ilobjgroupgui",
"ilinfoscreengui"),
"showSummary"),
2023 if ($ilAccess->checkAccess(
'write',
'',$this->object->getRefId()))
2025 $tabs_gui->addTarget(
"settings",
2026 $this->ctrl->getLinkTarget($this,
"edit"), array(
"edit",
"editMapSettings"), get_class($this),
2034 $mem_cmd = $ilAccess->checkAccess(
'write',
'',$this->ref_id) ?
"members" :
"membersGallery";
2035 if($mem_cmd !=
"membersGallery" || $is_participant)
2037 $tabs_gui->addTarget(
"members",
2038 $this->ctrl->getLinkTarget($this, $mem_cmd),
2044 include_once
'./Services/Tracking/classes/class.ilLearningProgressAccess.php';
2047 $tabs_gui->addTarget(
'learning_progress',
2048 $this->ctrl->getLinkTargetByClass(array(
'ilobjgroupgui',
'illearningprogressgui'),
''),
2050 array(
'illplistofobjectsgui',
'illplistofsettingsgui',
'illearningprogressgui',
'illplistofprogressgui'));
2054 if($ilAccess->checkAccess(
'write',
'',$this->object->getRefId()))
2056 $tabs_gui->addTarget(
2058 $this->ctrl->getLinkTargetByClass(
'ilexportgui',
''),
2076 parent::getTabs($tabs_gui);
2078 if($ilAccess->checkAccess(
'join',
'',$this->object->getRefId()) and
2079 !$this->object->members_obj->isAssigned(
$ilUser->getId()))
2081 include_once
'./Modules/Group/classes/class.ilGroupWaitingList.php';
2086 $this->lng->txt(
'membership_leave'),
2087 $this->ctrl->getLinkTargetByClass(
'ilgroupregistrationgui',
'show',
'')
2094 $tabs_gui->addTarget(
"join",
2095 $this->ctrl->getLinkTargetByClass(
'ilgroupregistrationgui',
"show"),
2100 if($ilAccess->checkAccess(
'leave',
'',$this->object->getRefId()) and
2101 $this->object->members_obj->isMember(
$ilUser->getId()))
2103 $tabs_gui->addTarget(
"grp_btn_unsubscribe",
2104 $this->ctrl->getLinkTarget($this,
"leave"),
2114 if(!is_array($_FILES[
'xmldoc']))
2121 include_once
'./Modules/Group/classes/class.ilObjGroup.php';
2125 $this->ctrl->setParameter($this,
"ref_id",
$ref_id);
2142 $this->tpl->addBlockfile(
"ADM_CONTENT",
"adm_content",
"tpl.grp_members_export.html",
2144 $this->tpl->setCurrentBlock(
"adm_content");
2145 $this->tpl->setVariable(
"FORMACTION", $this->
getFormAction(
"export",$this->ctrl->getFormAction($this)));
2146 $this->tpl->setVariable(
"BUTTON_EXPORT", $this->lng->txt(
"export_group_members"));
2147 $this->tpl->parseCurrentBlock();
2158 $title = preg_replace(
"/\s/",
"_", $this->object->getTitle());
2159 include_once
"./Services/Excel/classes/class.ilExcelWriterAdapter.php";
2161 $workbook = $adapter->getWorkbook();
2163 $format_bold =& $workbook->addFormat();
2164 $format_bold->setBold();
2165 $format_percent =& $workbook->addFormat();
2166 $format_percent->setNumFormat(
"0.00%");
2167 $format_datetime =& $workbook->addFormat();
2168 $format_datetime->setNumFormat(
"DD/MM/YYYY hh:mm:ss");
2169 $format_title =& $workbook->addFormat();
2170 $format_title->setBold();
2171 $format_title->setColor(
'black');
2172 $format_title->setPattern(1);
2173 $format_title->setFgColor(
'silver');
2174 $worksheet =& $workbook->addWorksheet();
2176 $profile_data = array(
"email",
"gender",
"firstname",
"lastname",
"person_title",
"institution",
2177 "department",
"street",
"zipcode",
"city",
"country",
"phone_office",
"phone_home",
"phone_mobile",
2178 "fax",
"matriculation");
2179 foreach ($profile_data as
$data)
2181 $worksheet->writeString(0, $column++, $this->
cleanString($this->lng->txt(
$data)), $format_title);
2183 $member_ids = $this->
object->getGroupMemberIds();
2185 foreach ($member_ids as $member_id)
2188 $member =& $this->
ilias->obj_factory->getInstanceByObjId($member_id);
2189 if ($member->getPref(
"public_email")==
"y")
2191 $worksheet->writeString(
$row, $column++, $this->
cleanString($member->getEmail()));
2197 $worksheet->writeString(
$row, $column++, $this->
cleanString($this->lng->txt(
"gender_" . $member->getGender())));
2198 $worksheet->writeString(
$row, $column++, $this->
cleanString($member->getFirstname()));
2199 $worksheet->writeString(
$row, $column++, $this->
cleanString($member->getLastname()));
2200 $worksheet->writeString(
$row, $column++, $this->
cleanString($member->getUTitle()));
2201 if ($member->getPref(
"public_institution")==
"y")
2203 $worksheet->writeString(
$row, $column++, $this->
cleanString($member->getInstitution()));
2209 if ($member->getPref(
"public_department")==
"y")
2211 $worksheet->writeString(
$row, $column++, $this->
cleanString($member->getDepartment()));
2217 if ($member->getPref(
"public_street")==
"y")
2219 $worksheet->writeString(
$row, $column++, $this->
cleanString($member->getStreet()));
2225 if ($member->getPref(
"public_zip")==
"y")
2227 $worksheet->writeString(
$row, $column++, $this->
cleanString($member->getZipcode()));
2233 if ($member->getPref(
"public_city")==
"y")
2235 $worksheet->writeString(
$row, $column++, $this->
cleanString($member->getCity()));
2241 if ($member->getPref(
"public_country")==
"y")
2243 $worksheet->writeString(
$row, $column++, $this->
cleanString($member->getCountry()));
2249 if ($member->getPref(
"public_phone_office")==
"y")
2251 $worksheet->writeString(
$row, $column++, $this->
cleanString($member->getPhoneOffice()));
2257 if ($member->getPref(
"public_phone_home")==
"y")
2259 $worksheet->writeString(
$row, $column++, $this->
cleanString($member->getPhoneHome()));
2265 if ($member->getPref(
"public_phone_mobile")==
"y")
2267 $worksheet->writeString(
$row, $column++, $this->
cleanString($member->getPhoneMobile()));
2273 if ($member->getPref(
"public_fax")==
"y")
2275 $worksheet->writeString(
$row, $column++, $this->
cleanString($member->getFax()));
2281 if ($member->getPref(
"public_matriculation")==
"y")
2283 $worksheet->writeString(
$row, $column++, $this->
cleanString($member->getMatriculation()));
2304 return str_replace(array(
"��",
"��",
"��",
"��",
"��",
"��",
"��"), array(
"ae",
"oe",
"ue",
"ss",
"Ae",
"Oe",
"Ue"), $str);
2319 $this->ctrl->setCmd(
"showSummary");
2320 $this->ctrl->setCmdClass(
"ilinfoscreengui");
2331 $this->tabs_gui->setTabActive(
'info_short');
2333 if(!$rbacsystem->checkAccess(
"visible", $this->ref_id))
2335 $this->
ilias->raiseError($this->lng->txt(
"msg_no_perm_read"),$this->ilias->error_obj->MESSAGE);
2338 include_once(
"./Services/InfoScreen/classes/class.ilInfoScreenGUI.php");
2341 if(strlen($this->object->getInformation()))
2343 $info->addSection($this->lng->txt(
'grp_general_informations'));
2344 $info->addProperty($this->lng->txt(
'grp_information'), nl2br(
2348 $info->enablePrivateNotes();
2349 $info->enableLearningProgress(
true);
2351 $info->addSection($this->lng->txt(
'group_registration'));
2352 $info->showLDAPRoleGroupMappingInfo();
2354 if(!$this->object->isRegistrationEnabled())
2356 $info->addProperty($this->lng->txt(
'group_registration_mode'),
2357 $this->lng->txt(
'grp_reg_deac_info_screen'));
2362 switch($this->object->getRegistrationType())
2365 $info->addProperty($this->lng->txt(
'group_registration_mode'),
2366 $this->lng->txt(
'grp_reg_direct_info_screen'));
2370 $info->addProperty($this->lng->txt(
'group_registration_mode'),
2371 $this->lng->txt(
'grp_reg_req_info_screen'));
2375 $info->addProperty($this->lng->txt(
'group_registration_mode'),
2376 $this->lng->txt(
'grp_reg_passwd_info_screen'));
2386 if($this->object->isRegistrationUnlimited())
2388 $info->addProperty($this->lng->txt(
'group_registration_time'),
2389 $this->lng->txt(
'grp_registration_unlimited'));
2391 elseif($this->object->getRegistrationStart()->getUnixTime() < time())
2393 $info->addProperty($this->lng->txt(
"group_registration_time"),
2394 $this->lng->txt(
'cal_until').
' '.
2397 elseif($this->object->getRegistrationStart()->getUnixTime() >= time())
2399 $info->addProperty($this->lng->txt(
"group_registration_time"),
2400 $this->lng->txt(
'cal_from').
' '.
2403 if ($this->object->isMembershipLimited())
2405 include_once
'./Modules/Group/classes/class.ilObjGroupAccess.php';
2409 $this->lng->txt(
'mem_free_places'),
2410 $reg_info[
'reg_info_free_places']
2416 include_once(
'Services/PrivacySecurity/classes/class.ilPrivacySettings.php');
2419 include_once(
'Modules/Course/classes/Export/class.ilCourseDefinedFieldDefinition.php');
2422 include_once(
'Services/PrivacySecurity/classes/class.ilExportFieldsInfo.php');
2426 $this->lng->loadLanguageModule(
'ps');
2427 $info->addSection($this->lng->txt(
'grp_user_agreement_info'));
2428 $info->addProperty($this->lng->txt(
'ps_export_data'),$field_info->exportableFieldsToInfoString());
2432 $info->addProperty($this->lng->txt(
'ps_grp_user_fields'),$fields);
2438 $this->ctrl->forwardCommand($info);
2452 $this->ctrl->redirect($this,
"infoScreen");
2458 public static function _goto($a_target, $a_add =
"")
2462 include_once
'./Services/Membership/classes/class.ilMembershipRegistrationCodeUtils.php';
2463 if(substr($a_add,0,5) ==
'rcode')
2465 if(
$ilUser->getId() == ANONYMOUS_USER_ID)
2469 "login.php?target=".
$_GET[
"target"].
"&cmd=force_login&lang=".
2482 if ($a_add ==
"mem" && $ilAccess->checkAccess(
"write",
"", $a_target))
2487 if ($ilAccess->checkAccess(
"read",
"", $a_target))
2494 if ($ilAccess->checkAccess(
"visible",
"", $a_target))
2500 if ($ilAccess->checkAccess(
"read",
"", ROOT_FOLDER_ID))
2523 if(is_object($this->form))
2528 include_once(
"./Services/Form/classes/class.ilPropertyFormGUI.php");
2534 $this->form->setFormAction($this->ctrl->getFormAction($this,
'update'));
2538 $this->form->setTableWidth(
'600px');
2539 $this->form->setFormAction($this->ctrl->getFormAction($this,
'save'));
2545 $title->setSubmitFormOnEnter(
true);
2546 $title->setValue($this->object->getTitle());
2549 $title->setRequired(
true);
2550 $this->form->addItem($title);
2554 $desc->setValue($this->object->getLongDescription());
2557 $this->form->addItem($desc);
2562 if($a_mode ==
'edit')
2564 $type = ($this->
object->getGroupType() ? $this->
object->getGroupType() : $this->
object->readGroupStatus());
2568 $type = ($this->
object->getGroupType() ? $this->
object->getGroupType() :
GRP_TYPE_PUBLIC);
2571 $grp_type->setValue($type);
2572 $grp_type->setRequired(
true);
2577 $grp_type->addOption($opt_public);
2582 $grp_type->addOption($opt_closed);
2584 $this->form->addItem($grp_type);
2586 if($a_mode ==
'edit')
2590 $pres->setTitle($this->lng->txt(
'grp_setting_header_registration'));
2591 $this->form->addItem($pres);
2594 $reg_type =
new ilRadioGroupInputGUI($this->lng->txt(
'group_registration_mode'),
'registration_type');
2595 $reg_type->setValue($this->object->getRegistrationType());
2598 $reg_type->addOption($opt_dir);
2602 $pass->setInfo($this->lng->txt(
'grp_reg_password_info'));
2603 $pass->setValue($this->object->getPassword());
2605 $pass->setMaxLength(32);
2606 $opt_pass->addSubItem(
$pass);
2607 $reg_type->addOption($opt_pass);
2610 $reg_type->addOption($opt_req);
2613 $reg_type->addOption($opt_deact);
2616 $reg_code =
new ilCheckboxInputGUI($this->lng->txt(
'grp_reg_code'),
'reg_code_enabled');
2617 $reg_code->setChecked($this->object->isRegistrationAccessCodeEnabled());
2618 $reg_code->setValue(1);
2619 $reg_code->setInfo($this->lng->txt(
'grp_reg_code_enabled_info'));
2620 $this->form->addItem($reg_type);
2623 if(!$this->object->getRegistrationAccessCode())
2625 include_once
'./Services/Membership/classes/class.ilMembershipRegistrationCodeUtils.php';
2629 $reg_link->setValue($this->object->getRegistrationAccessCode());
2630 $this->form->addItem($reg_link);
2633 include_once
'./Services/Link/classes/class.ilLink.php';
2634 $val =
ilLink::_getLink($this->object->getRefId(),$this->object->getType(),array(),
'_rcode'.$this->object->getRegistrationAccessCode());
2635 $link->setHTML(
'<font class="small">'.$val.
'</font>');
2636 $reg_code->addSubItem($link);
2637 $this->form->addItem($reg_code);
2641 $time_limit =
new ilCheckboxInputGUI($this->lng->txt(
'grp_reg_limited'),
'reg_limit_time');
2643 $time_limit->setChecked($this->object->isRegistrationUnlimited() ?
false :
true);
2645 $this->lng->loadLanguageModule(
'dateplaner');
2646 include_once
'./Services/Form/classes/class.ilDateDurationInputGUI.php';
2647 $tpl->addJavaScript(
'./Services/Form/js/date_duration.js');
2649 $dur->setStartText($this->lng->txt(
'cal_start'));
2650 $dur->setEndText($this->lng->txt(
'cal_end'));
2651 $dur->setShowTime(
true);
2652 $dur->setStart($this->object->getRegistrationStart());
2653 $dur->setEnd($this->object->getRegistrationEnd());
2655 $time_limit->addSubItem($dur);
2656 $this->form->addItem($time_limit);
2659 $lim =
new ilCheckboxInputGUI($this->lng->txt(
'reg_grp_max_members_short'),
'registration_membership_limited');
2662 $lim->setChecked($this->object->isMembershipLimited());
2665 $max =
new ilTextInputGUI($this->lng->txt(
'reg_grp_max_members'),
'registration_max_members');
2666 $max->setValue($this->object->getMaxMembers() ? $this->object->getMaxMembers() :
'');
2669 $max->setMaxLength(4);
2670 $max->setInfo($this->lng->txt(
'grp_reg_max_members_info'));
2671 $lim->addSubItem($max);
2676 $wait->setInfo($this->lng->txt(
'grp_waiting_list_info'));
2677 $wait->setChecked($this->object->isWaitingListEnabled() ?
true :
false);
2678 $lim->addSubItem($wait);
2679 $this->form->addItem($lim);
2682 $hasParentMembership =
2684 $tree->checkForParentType($this->object->getRefId(),
'crs') ||
2685 $tree->checkForParentType($this->object->getRefId(),
'grp')
2689 $pres->setTitle($this->lng->txt(
'grp_setting_header_presentation'));
2690 $this->form->addItem($pres);
2694 if($hasParentMembership)
2696 switch($this->object->getViewMode())
2699 $course_view_mode =
': '.$this->lng->txt(
'cntr_view_sessions');
2703 $course_view_mode =
': '.$this->lng->txt(
'cntr_view_simple');
2707 $course_view_mode =
': '.$this->lng->txt(
'cntr_view_by_type');
2712 $opt->setInfo($this->lng->txt(
'grp_view_inherit_info'));
2713 $view_type->addOption($opt);
2716 if($hasParentMembership &&
2723 $view_type->setValue($this->object->getViewMode(
true));
2727 $opt->setInfo($this->lng->txt(
'grp_view_info_simple'));
2728 $view_type->addOption($opt);
2731 $opt->setInfo($this->lng->txt(
'grp_view_info_by_type'));
2732 $view_type->addOption($opt);
2733 $this->form->addItem($view_type);
2737 $sorting_settings = array();
2738 if($hasParentMembership)
2749 $feat->setTitle($this->lng->txt(
'obj_features'));
2750 $this->form->addItem($feat);
2752 include_once
'./Services/Object/classes/class.ilObjectServiceSettingsGUI.php';
2754 $this->object->getId(),
2771 $mail_type->setValue($this->object->getMailToMembersType());
2774 $this->lng->txt(
'grp_mail_tutors_only_info'));
2775 $mail_type->addOption($mail_tutors);
2778 $this->lng->txt(
'grp_mail_all_info'));
2779 $mail_type->addOption($mail_all);
2780 $this->form->addItem($mail_type);
2786 $this->form->setTitle($this->lng->txt(
'grp_new'));
2789 $this->form->addCommandButton(
'save',$this->lng->txt(
'grp_new'));
2790 $this->form->addCommandButton(
'cancel',$this->lng->txt(
'cancel'));
2794 $this->form->setTitle($this->lng->txt(
'grp_edit'));
2798 include_once
'Modules/Group/classes/class.ilECSGroupSettings.php';
2800 $ecs->addSettingsToForm($this->form,
'grp');
2802 $this->form->addCommandButton(
'update',$this->lng->txt(
'save'));
2803 $this->form->addCommandButton(
'cancel',$this->lng->txt(
'cancel'));
2823 $this->
object->enableUnlimitedRegistration((
bool) !
$_POST[
'reg_limit_time']);
2824 $this->
object->setRegistrationStart($this->
loadDate(
'start'));
2825 $this->
object->setRegistrationEnd($this->
loadDate(
'end'));
2826 $this->
object->enableMembershipLimitation((
bool)
$_POST[
'registration_membership_limited']);
2827 $this->
object->setMaxMembers((
int) $_POST[
'registration_max_members']);
2828 $this->
object->enableWaitingList((
bool) $_POST[
'waiting_list']);
2829 $this->
object->enableRegistrationAccessCode((
bool) $_POST[
'reg_code_enabled']);
2832 $this->
object->setMailToMembersType((
int) $_POST[
'mail_type']);
2848 include_once(
'./Services/Calendar/classes/class.ilDateTime.php');
2850 $dt[
'year'] = (int)
$_POST[
'reg'][$a_field][
'date'][
'y'];
2851 $dt[
'mon'] = (int)
$_POST[
'reg'][$a_field][
'date'][
'm'];
2852 $dt[
'mday'] = (int)
$_POST[
'reg'][$a_field][
'date'][
'd'];
2853 $dt[
'hours'] = (int)
$_POST[
'reg'][$a_field][
'time'][
'h'];
2854 $dt[
'minutes'] = (int)
$_POST[
'reg'][$a_field][
'time'][
'm'];
2855 $dt[
'seconds'] = (int)
$_POST[
'reg'][$a_field][
'time'][
's'];
2870 global $rbacsystem,
$ilUser,$ilAccess;
2876 if($ilAccess->checkAccess(
'write',
'',$this->object->getRefId()))
2878 $this->tabs_gui->addSubTabTarget(
"grp_edit_members",
2879 $this->ctrl->getLinkTarget($this,
'members'),
2884 $this->tabs_gui->addSubTabTarget(
"grp_members_gallery",
2885 $this->ctrl->getLinkTarget($this,
'membersGallery'),
2886 "membersGallery", get_class($this));
2889 include_once(
"./Services/Maps/classes/class.ilMapUtil.php");
2891 $this->object->getEnableGroupMap())
2893 $this->tabs_gui->addSubTabTarget(
"grp_members_map",
2894 $this->ctrl->getLinkTarget($this,
'membersMap'),
2895 "membersMap", get_class($this));
2898 if($ilAccess->checkAccess(
'write',
'',$this->object->getRefId()))
2900 $this->tabs_gui->addSubTabTarget(
"events",
2901 $this->ctrl->getLinkTargetByClass(
'ilsessionoverviewgui',
'listSessions'),
2902 "",
'ilsessionoverviewgui');
2905 include_once
'Services/PrivacySecurity/classes/class.ilPrivacySettings.php';
2908 $this->tabs_gui->addSubTabTarget(
'grp_export_members',
2909 $this->ctrl->getLinkTargetByClass(
'ilmemberexportgui',
'show'),
2910 "",
'ilmemberexportgui');
2916 $this->tabs_gui->addSubTabTarget(
"grp_settings",
2917 $this->ctrl->getLinkTarget($this,
'edit'),
2918 "edit", get_class($this));
2920 $this->tabs_gui->addSubTabTarget(
"grp_info_settings",
2921 $this->ctrl->getLinkTarget($this,
'editInfo'),
2922 "editInfo", get_class($this));
2925 if ($this->
ilias->getSetting(
"custom_icons"))
2927 $this->tabs_gui->addSubTabTarget(
"grp_icon_settings",
2928 $this->ctrl->getLinkTarget($this,
'editGroupIcons'),
2929 "editGroupIcons", get_class($this));
2932 include_once(
"./Services/Maps/classes/class.ilMapUtil.php");
2935 $this->tabs_gui->addSubTabTarget(
"grp_map_settings",
2936 $this->ctrl->getLinkTarget($this,
'editMapSettings'),
2937 "editMapSettings", get_class($this));
2940 $this->tabs_gui->addSubTabTarget(
'groupings',
2941 $this->ctrl->getLinkTargetByClass(
'ilobjcoursegroupinggui',
'listGroupings'),
2945 include_once(
'Services/PrivacySecurity/classes/class.ilPrivacySettings.php');
2946 include_once(
'Modules/Course/classes/Export/class.ilCourseDefinedFieldDefinition.php');
2950 $this->tabs_gui->addSubTabTarget(
'grp_custom_user_fields',
2951 $this->ctrl->getLinkTargetByClass(
'ilobjectcustomuserfieldsgui'),
2953 'ilobjectcustomuserfieldsgui');
2974 if($ilAccess->checkAccess(
'write',
'',$this->object->getRefId()))
2980 if(!$this->object->members_obj->isAssigned(
$ilUser->getId()))
2985 include_once
'./Services/Container/classes/class.ilMemberViewSettings.php';
2991 include_once(
'Services/PrivacySecurity/classes/class.ilPrivacySettings.php');
2992 include_once(
'Services/Membership/classes/class.ilMemberAgreement.php');
3002 include_once(
'Modules/Course/classes/Export/class.ilCourseUserData.php');
3030 parent::prepareOutput();
3039 $link = chr(13).chr(10).chr(13).chr(10);
3040 $link .= $this->lng->txt(
'grp_mail_permanent_link');
3041 $link .= chr(13).chr(10).chr(13).chr(10);
3042 include_once
'Services/Link/classes/class.ilLink.php';
3044 return rawurlencode(base64_encode($link));
3051 $lg = parent::initHeaderAction($a_sub_type, $a_sub_id);
3053 include_once(
'./Modules/Group/classes/class.ilGroupParticipants.php');
3057 if(!
$ilUser->getPref(
"grpcrs_ntf_".$this->ref_id))
3059 $lg->addHeaderIcon(
"not_icon",
3061 $this->lng->txt(
"grp_notification_deactivated"));
3063 $this->ctrl->setParameter($this,
"grp_ntf", 1);
3064 $caption =
"grp_activate_notification";
3068 $lg->addHeaderIcon(
"not_icon",
3070 $this->lng->txt(
"grp_notification_activated"));
3072 $this->ctrl->setParameter($this,
"grp_ntf", 0);
3073 $caption =
"grp_deactivate_notification";
3076 $lg->addCustomCommand($this->ctrl->getLinkTarget($this,
"saveNotification"),
3080 $this->ctrl->setParameter($this,
"grp_ntf",
"");
3092 $ilTabs->clearTargets();
3093 $ilTabs->setBackTarget($this->lng->txt(
'back'),
3094 $this->ctrl->getLinkTarget($this,
'members'));
3097 $form = $list->initForm(
'printMembersOutput');
3098 $this->tpl->setContent($form->getHTML());
3108 include_once(
'./Modules/Group/classes/class.ilGroupParticipants.php');
3111 include_once(
'./Modules/Group/classes/class.ilGroupWaitingList.php');
3114 include_once
'Services/Membership/classes/class.ilAttendanceList.php';
3116 $list->setId(
'grpmemlst');
3118 $list->setTitle($this->lng->txt(
'grp_members_print_title'),
3119 $this->lng->txt(
'obj_grp').
': '.$this->object->getTitle());
3121 include_once
'./Services/Tracking/classes/class.ilObjUserTracking.php';
3124 if($this->show_tracking)
3126 include_once(
'./Services/Object/classes/class.ilObjectLP.php');
3128 $this->show_tracking = $olp->isActive();
3130 if($this->show_tracking)
3132 $this->lng->loadLanguageModule(
'trac');
3133 $list->addPreset(
'progress', $this->lng->txt(
'learning_progress'),
true);
3136 include_once(
'./Services/PrivacySecurity/classes/class.ilPrivacySettings.php');
3138 if($privacy->enabledGroupAccessTimes())
3140 $list->addPreset(
'access', $this->lng->txt(
'last_access'),
true);
3148 $data = $this->members_data[$a_user_id];
3150 $data[
'progress'] = $this->lng->txt(
$data[
'progress']);
3158 $list->initFromForm();
3159 $list->setCallback(array($this,
'getAttendanceListUserData'));
3162 $this->members_data = $this->
readMemberData($part->getParticipants());
3163 $list->getNonMemberUserData($this->members_data);
3165 echo $list->getFullscreenHTML();
3175 $local_roles = $this->
object->getLocalGroupRoles(
false);
3176 $grp_member = $this->
object->getDefaultMemberRole();
3177 $grp_roles = array();
3180 if(in_array($grp_member, $local_roles))
3183 unset($local_roles[$grp_roles[$grp_member]]);
3186 foreach($local_roles as $title => $role_id)
3203 global $ilAccess,
$ilUser, $rbacsystem;
3204 include_once
'Services/Mail/classes/class.ilMail.php';
3208 ($ilAccess->checkAccess(
'write',
'',$this->object->getRefId()) or
3210 $rbacsystem->checkAccess(
'internal_mail',$mail->getMailObjectReferenceId()))
3215 $ilToolbar->addSeparator();
3220 $this->ctrl->setParameter($this,
"back_cmd", $back_cmd);
3223 $ilToolbar->addButton($this->lng->txt(
"mail_members"),
3224 $this->ctrl->getLinkTarget($this,
'mailMembers'));
3230 if(!is_array(
$_POST[
"subscribers"]))
3238 $this->lng->loadLanguageModule(
'mmbr');
3242 $this->tabs_gui->setTabActive(
'members');
3243 $this->tabs_gui->setSubTabActive(
'grp_edit_members');
3245 include_once(
"Services/Utilities/classes/class.ilConfirmationGUI.php");
3249 $c_gui->setFormAction($this->ctrl->getFormAction($this,
"refuseSubscribers"));
3250 $c_gui->setHeaderText($this->lng->txt(
"info_refuse_sure"));
3251 $c_gui->setCancel($this->lng->txt(
"cancel"),
"members");
3252 $c_gui->setConfirm($this->lng->txt(
"confirm"),
"refuseSubscribers");
3254 foreach(
$_POST[
"subscribers"] as $subscribers)
3258 $c_gui->addItem(
'subscribers[]',
3260 $name[
'lastname'].
', '.$name[
'firstname'].
' ['.$name[
'login'].
']',
3264 $this->tpl->setContent($c_gui->getHTML());
3269 if(!is_array(
$_POST[
"subscribers"]))
3278 $this->tabs_gui->setTabActive(
'members');
3279 $this->tabs_gui->setSubTabActive(
'grp_edit_members');
3281 include_once(
"Services/Utilities/classes/class.ilConfirmationGUI.php");
3285 $c_gui->setFormAction($this->ctrl->getFormAction($this,
"assignSubscribers"));
3286 $c_gui->setHeaderText($this->lng->txt(
"info_assign_sure"));
3287 $c_gui->setCancel($this->lng->txt(
"cancel"),
"members");
3288 $c_gui->setConfirm($this->lng->txt(
"confirm"),
"assignSubscribers");
3290 foreach(
$_POST[
"subscribers"] as $subscribers)
3294 $c_gui->addItem(
'subscribers[]',
3296 $name[
'lastname'].
', '.$name[
'firstname'].
' ['.$name[
'login'].
']',
3300 $this->tpl->setContent($c_gui->getHTML());
3306 if(!is_array(
$_POST[
"waiting"]))
3314 $this->lng->loadLanguageModule(
'mmbr');
3318 $this->tabs_gui->setTabActive(
'members');
3319 $this->tabs_gui->setSubTabActive(
'grp_edit_members');
3321 include_once(
"Services/Utilities/classes/class.ilConfirmationGUI.php");
3325 $c_gui->setFormAction($this->ctrl->getFormAction($this,
"refuseFromList"));
3326 $c_gui->setHeaderText($this->lng->txt(
"info_refuse_sure"));
3327 $c_gui->setCancel($this->lng->txt(
"cancel"),
"members");
3328 $c_gui->setConfirm($this->lng->txt(
"confirm"),
"refuseFromList");
3330 foreach(
$_POST[
"waiting"] as $waiting)
3334 $c_gui->addItem(
'waiting[]',
3336 $name[
'lastname'].
', '.$name[
'firstname'].
' ['.$name[
'login'].
']',
3340 $this->tpl->setContent($c_gui->getHTML());
3346 if(!is_array(
$_POST[
"waiting"]))
3355 $this->tabs_gui->setTabActive(
'members');
3356 $this->tabs_gui->setSubTabActive(
'grp_edit_members');
3358 include_once(
"Services/Utilities/classes/class.ilConfirmationGUI.php");
3362 $c_gui->setFormAction($this->ctrl->getFormAction($this,
"assignFromWaitingList"));
3363 $c_gui->setHeaderText($this->lng->txt(
"info_assign_sure"));
3364 $c_gui->setCancel($this->lng->txt(
"cancel"),
"members");
3365 $c_gui->setConfirm($this->lng->txt(
"confirm"),
"assignFromWaitingList");
3367 foreach(
$_POST[
"waiting"] as $waiting)
3371 $c_gui->addItem(
'waiting[]',
3373 $name[
'lastname'].
', '.$name[
'firstname'].
' ['.$name[
'login'].
']',
3377 $this->tpl->setContent($c_gui->getHTML());
const GRP_REGISTRATION_DIRECT
const GRP_REGISTRATION_PASSWORD
const GRP_REGISTRATION_DEACTIVATED
const GRP_REGISTRATION_REQUEST
Base class for attendance lists.
_recordWriteEvent($obj_id, $usr_id, $action, $parent_obj_id=null)
Records a write event.
_catchupWriteEvents($obj_id, $usr_id, $timestamp=null)
Catches up with all write events which occured before the specified timestamp.
static getInstanceFromAjaxCall()
(Re-)Build instance from ajax call
Confirmation screen class.
& forwardToPageObject()
forward command to page object
initSortingForm(ilPropertyFormGUI $form, array $a_sorting_settings)
Append sorting settings to property form.
showRepTree($a_initial_call=false)
Show tree.
ilContainerGUI($a_data, $a_id, $a_call_by_reference=true, $a_prepare_output=true)
Constructor @access public.
forwardToStyleSheet()
Forward to style object.
showCustomIconsEditing($a_input_colspan=1, ilPropertyFormGUI $a_form=null, $a_as_section=true)
show edit section of custom icons for container
saveSortingSettings(ilPropertyFormGUI $form)
Save sorting settings.
Class ilCourseContentGUI.
static _getFields($a_container_id, $a_sort=IL_CDF_SORT_NAME)
Get all fields of a container.
static _hasFields($a_container_id)
Check if there are any define fields.
static _fieldsToInfoString($a_obj_id)
Fields to info string.
static _checkRequired($a_usr_id, $a_obj_id)
Check required fields.
static formatDate(ilDateTime $date)
Format a date @access public.
@classDescription Date and time handling
Class ilECSGroupSettings.
Class ilExcelWriterAdapter.
static _getInstanceByType($a_type)
Get Singleton Instance.
Export User Interface Class.
const TYPE_ACCEPTED_SUBSCRIPTION_MEMBER
const TYPE_UNSUBSCRIBE_MEMBER
const TYPE_NOTIFICATION_UNSUBSCRIBE
const TYPE_ADMISSION_MEMBER
const TYPE_REFUSED_SUBSCRIPTION_MEMBER
const TYPE_DISMISS_MEMBER
const TYPE_STATUS_CHANGED
static getMemberRoles($a_ref_id)
Get member roles (not auto generated)
static _getInstanceByObjId($a_obj_id)
Get singleton instance.
static _isParticipant($a_ref_id, $a_usr_id)
Static function to check if a user is a participant of the container object.
GUI class for group registrations.
static _lookupCompletedForObject($a_obj_id, $a_user_ids=null)
Get completed users for object.
static _lookupFailedForObject($a_obj_id, $a_user_ids=null)
Get failed users for object.
static _lookupInProgressForObject($a_obj_id, $a_user_ids=null)
Get in progress users for object.
const LP_STATUS_COMPLETED
const LP_STATUS_NOT_ATTEMPTED
const LP_STATUS_IN_PROGRESS
static checkAccess($a_ref_id, $a_allow_only_read=true)
check access to learning progress
const LP_CONTEXT_REPOSITORY
Class ilObjUserTrackingGUI.
static _tracProgress($a_user_id, $a_obj_id, $a_ref_id, $a_obj_type='')
static _lookupProgressByObjId($a_obj_id)
lookup progress for a specific object
static _getLink($a_ref_id, $a_type='', $a_params=array(), $append="")
Class Mail this class handles base functions for mail handling.
static isActivated()
Checks whether Map feature is activated.
static getMapGUI()
Get an instance of the GUI class.
static getDefaultSettings()
Get default longitude, latitude and zoom.
static _hasAccepted($a_usr_id, $a_obj_id)
Check if user has accepted agreement.
static getInstance()
Get instance.
static handleCode($a_ref_id, $a_type, $a_code)
Handle target parameter.
static generateCode()
Generate new registration key.
static _modifyItemGUI($a_item_list_gui, $a_cmd_class, $a_item_data, $a_show_path, $a_abo_status, $a_course_ref_id, $a_course_obj_id, $a_parent_ref_id=0)
We need a static version of this, e.g.
Class ilObjCourseGroupingGUI.
static lookupRegistrationInfo($a_obj_id)
Lookup registration info @global ilDB $ilDB @global ilObjUser $ilUser @global ilLanguage $lng.
addUserObject($user_ids, $a_type)
displays confirmation formular with users that shall be assigned to group @access public
saveNotificationObject()
:TEMP: Save notification setting (from infoscreen)
initInfoEditor()
init info editor
membersMapObject()
Members map.
refuseSubscribersObject()
refuse subscribers
confirmAssignFromWaitingListObject()
assignSubscribersObject()
assign subscribers
exportMembersObject()
Exports group members to Microsoft Excel file.
readMemberData($ids, $role='admin', $selected_columns=null)
setShowHidePrefs()
set preferences (show/hide tabel content)
membersObject()
edit members
membersGalleryObject()
Builds a group members gallery as a layer of left-floating images.
confirmDeleteMembersObject()
delete selected members
exportObject()
Creates the output form for group member export.
refuseApplicantsObject()
adds applicant to group as member @access public
updateStatusObject()
update status
confirmAssignSubscribersObject()
editMembersObject()
edit member(s)
assignFromWaitingListObject()
add from waiting list
refuseFromListObject()
refuse from waiting list
cleanString($str)
Clean output string from german umlauts.
renderObject()
Render group.
infoScreen()
show information screen
updateObject()
update GroupObject
initAttendanceList()
Init attendance list object.
checkAgreement()
Check agreement and redirect if it is not accepted.
editInfoObject()
edit info
updateMembersObject()
update members
canceledObject()
canceledObject is called when operation is canceled, method links back @access public
editMemberObject()
edit one member
getAttendanceListUserData($a_user_id)
__construct($a_data, $a_id, $a_call_by_reference, $a_prepare_output=false)
Constructor @access public.
editGroupIconsObject($a_form=null)
edit container icons
infoScreenObject()
set sub tabs
editMapSettingsObject()
Edit Map Settings.
sendMailToSelectedUsersObject()
show send mail
modifyItemGUI($a_item_list_gui, $a_item_data, $a_show_path)
Modify Item ListGUI for presentation in container.
assignMemberObject()
displays confirmation formular with users that shall be assigned to group @access public
addMailToMemberButton($ilToolbar, $back_cmd=null, $a_separator=false)
add Mail to Member button to toolbar
createMailSignature()
Create a course mail signature.
printMembersOutputObject()
initCreateForm($a_new_type)
Init object creation form.
setSubTabs($a_tab)
set sub tabs
unsubscribeObject()
unsubscribe from group
confirmRefuseFromListObject()
updateGroupIconsObject()
update group icons
deleteMembersObject()
delete members
updateGroupTypeObject()
change group type
static _goto($a_target, $a_add="")
goto target group
mailMembersObject()
Form for mail to group members.
viewObject()
list childs of current object
prepareOutput()
Handle member view.
& executeCommand()
execute command note: this method is overwritten in all container objects
loadDate($a_field)
load date
getLocalRoles()
returns all local roles [role_id] => title
confirmRefuseSubscribersObject()
leaveObject()
leave Group @access public
initHeaderAction($a_sub_type=null, $a_sub_id=null)
Add file manager link.
initForm($a_mode='edit')
init create/edit form
updateInfoObject()
update info
getTabs(&$tabs_gui)
common tabs for all container objects (should be called at the end of child getTabs() method
const MAIL_ALLOWED_TUTORS
_importFromFile($file, $parent_id)
Static used for importing an group from xml zip file.
static getAvailablePortfolioLinksForUserIds(array $a_owner_ids, $a_back_url=null)
_getTranslation($a_role_title)
getContentStylePath($a_style_id)
get content style path
static _enabledLearningProgress()
check wether learing progress is enabled or not
static _enabledUserRelatedData()
check wether user related tracking is enabled or not
_lookupLogin($a_user_id)
lookup login
static _lookupName($a_user_id)
lookup user name
GUI class for the workflow of copying objects.
getInstanceByObjId($a_obj_id, $stop_on_error=true)
get an instance of an Ilias object by object id
checkPermission($a_perm, $a_cmd="", $a_type="", $a_ref_id=null)
Check permission and redirect on error.
putObjectInTree(ilObject $a_obj, $a_parent_node_id=null)
Add object to tree at given position.
getFormAction($a_cmd, $a_formaction="")
get form action for command (command is method name without "Object", e.g.
static _gotoRepositoryNode($a_ref_id, $a_cmd="frameset")
Goto repository root.
static _gotoRepositoryRoot($a_raise_error=false)
Goto repository root.
getCreationMode()
get creation mode
checkPermissionBool($a_perm, $a_cmd="", $a_type="", $a_ref_id=null)
Check permission.
addHeaderAction()
Add header action menu.
createObject()
create new object form
static getInstance($a_obj_id)
GUI class for service settings (calendar, notes, comments)
const AUTO_RATING_NEW_OBJECTS
static initServiceSettingsForm($a_obj_id, ilPropertyFormGUI $form, $services)
Init service settings form.
static updateServiceSettingsForm($a_obj_id, ilPropertyFormGUI $form, $services)
Update service settings.
const CALENDAR_VISIBILITY
static _lookupObjId($a_id)
const TITLE_LENGTH
max length of object title
static _lookupTitle($a_id)
lookup object title
static _lookupType($a_id, $a_reference=false)
lookup object type
static _getIdsForTitle($title, $type='', $partialmatch=false)
New PermissionGUI (extends from old ilPermission2GUI) RBAC related output.
static _getInstance()
Get instance of ilPrivacySettings.
GUI class for public user profile presentation.
This class represents an option in a radio group.
static fillAutoCompleteToolbar($parent_object, ilToolbarGUI $toolbar=null, $a_options=array())
fill toolbar with
GUI class for course/group subscriptions.
This class represents a text area property in a property form.
This class represents a text property in a property form.
static formCheckbox($checked, $varname, $value, $disabled=false)
??? @access public
static sendQuestion($a_info="", $a_keep=false)
Send Question to Screen.
static sortArray($array, $a_array_sortby, $a_array_sortorder=0, $a_numeric=false, $a_keep_keys=false)
sortArray
static sendSuccess($a_info="", $a_keep=false)
Send Success Message to Screen.
static getStyleSheetLocation($mode="output", $a_css_name="", $a_css_location="")
get full style sheet file name (path inclusive) of current user
static redirect($a_script)
http redirect to other script
static sendFailure($a_info="", $a_keep=false)
Send Failure Message to Screen.
static makeClickable($a_text, $detectGotoLinks=false)
makeClickable In Texten enthaltene URLs und Mail-Adressen klickbar machen
static stripSlashes($a_str, $a_strip_html=true, $a_allow="")
strip slashes if magic qoutes is enabled
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.
static _isOnList($a_usr_id, $a_obj_id)
Check if a user on the waiting list.
redirection script todo: (a better solution should control the processing via a xml file)
if($_REQUEST['ilias_path']) define('ILIAS_HTTP_PATH' $_REQUEST['ilias_path']