5 include_once
"./Services/Container/classes/class.ilContainerGUI.php";
6 include_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 $ilNavigationHistory->addItem(
$_GET[
"ref_id"],
55 $ilCtrl->getLinkTargetByClass(
"ilrepositorygui",
"frameset"),
"grp");
60 case 'ilgroupregistrationgui':
61 $this->ctrl->setReturn($this,
'');
62 $this->tabs_gui->setTabActive(
'join');
63 include_once(
'./Modules/Group/classes/class.ilGroupRegistrationGUI.php');
65 $this->ctrl->forwardCommand($registration);
68 case 'ilpermissiongui':
69 $this->tabs_gui->setTabActive(
'perm_settings');
70 include_once(
"Services/AccessControl/classes/class.ilPermissionGUI.php");
72 $ret =& $this->ctrl->forwardCommand($perm_gui);
75 case 'ilrepositorysearchgui':
76 include_once(
'./Services/Search/classes/class.ilRepositorySearchGUI.php');
78 $rep_search->setCallback($this,
86 $this->tabs_gui->setTabActive(
'members');
87 $this->ctrl->setReturn($this,
'members');
88 $ret =& $this->ctrl->forwardCommand($rep_search);
90 $this->tabs_gui->setSubTabActive(
'members');
93 case "ilinfoscreengui":
97 case "illearningprogressgui":
98 include_once
'./Services/Tracking/classes/class.ilLearningProgressGUI.php';
101 $this->object->getRefId(),
102 $_GET[
'user_id'] ?
$_GET[
'user_id'] : $ilUser->getId());
103 $this->ctrl->forwardCommand($new_gui);
104 $this->tabs_gui->setTabActive(
'learning_progress');
107 case 'ilobjcoursegroupinggui':
110 include_once
'./Modules/Course/classes/class.ilObjCourseGroupingGUI.php';
111 $this->ctrl->setReturn($this,
'edit');
113 $this->ctrl->forwardCommand($crs_grp_gui);
115 $this->tabs_gui->setTabActive(
'settings');
116 $this->tabs_gui->setSubTabActive(
'groupings');
119 case 'ilcoursecontentgui':
121 include_once
'./Modules/Course/classes/class.ilCourseContentGUI.php';
123 $this->ctrl->forwardCommand($course_content_obj);
126 case 'ilpublicuserprofilegui':
127 require_once
'./Services/User/classes/class.ilPublicUserProfileGUI.php';
129 $this->tabs_gui->setTabActive(
'group_members');
130 $this->tabs_gui->setSubTabActive(
'grp_members_gallery');
132 $profile_gui->setBackUrl($ilCtrl->getLinkTarget($this,
"membersGallery"));
133 $html = $this->ctrl->forwardCommand($profile_gui);
134 $this->tpl->setVariable(
"ADM_CONTENT", $html);
138 $this->tabs_gui->setTabActive(
'none');
140 include_once(
"./Services/Style/classes/class.ilObjStyleSheet.php");
141 $this->tpl->setVariable(
"LOCATION_CONTENT_STYLESHEET",
147 case "ilcontainerpagegui":
151 $this->tpl->setContent(
$ret);
155 case 'ilobjectcopygui':
156 include_once
'./Services/Object/classes/class.ilObjectCopyGUI.php';
159 $this->ctrl->forwardCommand($cp);
162 case "ilobjstylesheetgui":
166 case 'ilobjectcustomuserfieldsgui':
167 include_once
'./Services/Membership/classes/class.ilObjectCustomUserFieldsGUI.php';
170 $this->tabs_gui->setTabActive(
'settings');
171 $this->ctrl->forwardCommand($cdf_gui);
174 case 'ilmemberagreementgui':
175 include_once(
'Services/Membership/classes/class.ilMemberAgreementGUI.php');
176 $this->ctrl->setReturn($this,
'');
177 $this->tabs_gui->setTabActive(
'view_content');
179 $this->ctrl->forwardCommand($agreement);
183 $this->tabs_gui->setTabActive(
'export');
184 include_once
'./Services/Export/classes/class.ilExportGUI.php';
186 $exp->addFormat(
'xml');
187 $this->ctrl->forwardCommand($exp);
190 case 'ilmemberexportgui':
191 include_once(
'./Services/Membership/classes/Export/class.ilMemberExportGUI.php');
194 $this->tabs_gui->setTabActive(
'members');
195 $this->tabs_gui->setSubTabActive(
'export_members');
197 $this->ctrl->forwardCommand($export);
200 case "ilcommonactiondispatchergui":
201 include_once(
"Services/Object/classes/class.ilCommonActionDispatcherGUI.php");
203 $this->ctrl->forwardCommand($gui);
206 case 'ilobjectservicesettingsgui':
207 $this->ctrl->setReturn($this,
'edit');
209 $this->tabs_gui->activateTab(
'settings');
210 $this->tabs_gui->activateSubTab(
'tool_settings');
212 include_once
'./Services/Object/classes/class.ilObjectServiceSettingsGUI.php';
215 $this->object->getId(),
219 $this->ctrl->forwardCommand($service);
222 case 'ilsessionoverviewgui':
224 $this->tabs_gui->setTabActive(
'members');
225 $this->tabs_gui->setSubTabActive(
'events');
227 include_once
'./Modules/Group/classes/class.ilGroupParticipants.php';
230 include_once(
'./Modules/Session/classes/class.ilSessionOverviewGUI.php');
232 $this->ctrl->forwardCommand($overview);
238 if (!$this->
getCreationMode() and !$ilAccess->checkAccess(
'visible',
'',$this->object->getRefId(),
'grp'))
240 $ilErr->raiseError($this->lng->txt(
"msg_no_perm_read"),$ilErr->MESSAGE);
244 if(
$cmd ==
'infoScreenGoto')
246 if($this->object->isRegistrationEnabled())
258 && !$rbacsystem->checkAccess(
'read',$this->object->getRefId()) &&
$cmd !=
'infoScreen')
262 if (!$rbacsystem->checkAccess(
'join',$this->object->getRefId()))
264 $this->ctrl->redirect($this,
"infoScreen");
268 include_once(
'./Modules/Group/classes/class.ilGroupRegistrationGUI.php');
269 $this->ctrl->redirectByClass(
"ilGroupRegistrationGUI",
"show");
288 include_once
'Services/Tracking/classes/class.ilLearningProgress.php';
290 $this->
object->getRefId(),
'grp');
292 if (strtolower(
$_GET[
"baseClass"]) ==
"iladministrationgui")
294 parent::viewObject();
300 include_once(
'Services/Membership/classes/class.ilMemberAgreementGUI.php');
301 $this->tabs_gui->setTabActive(
'view_content');
302 $this->ctrl->setReturn($this,
'view');
304 $this->ctrl->setCmdClass(get_class($agreement));
305 $this->ctrl->forwardCommand($agreement);
309 $this->tabs_gui->setTabActive(
'view_content');
320 $ilTabs->activateTab(
"view_content");
321 $ret = parent::renderObject();
334 if ($course_ref_id = $tree->checkForParentType($this->object->getRefId(),
'crs'))
336 include_once(
"./Modules/Course/classes/class.ilObjCourse.php");
337 include_once(
"./Modules/Course/classes/class.ilObjCourseGUI.php");
341 $this->object->getRefId());
347 if(!is_object($this->
object))
388 $ilErr->setMessage(
'');
390 if(!$this->object->validate())
392 $err = $this->lng->txt(
'err_check_input');
394 $err = $ilErr->getMessage();
400 $this->
object->create();
402 $this->
object->initGroupStatus($this->object->getGroupType());
407 $GLOBALS[
'tree']->checkForParentType($this->object->getRefId(),
'crs') ||
408 $GLOBALS[
'tree']->checkForParentType($this->object->getRefId(),
'grp')
414 include_once
'./Services/Container/classes/class.ilContainerSortingSettings.php';
421 include_once(
'./Modules/Group/classes/class.ilGroupParticipants.php');
424 $members_obj->updateNotification($ilUser->getId(),1);
428 $this->ctrl->setParameter($this,
'ref_id',$this->object->getRefId());
429 $this->ctrl->redirect($this,
"edit");
444 $this->tabs_gui->setTabActive(
'settings');
445 $this->tabs_gui->setSubTabActive(
'grp_settings');
447 $this->tpl->addBlockFile(
'ADM_CONTENT',
'adm_content',
'tpl.grp_edit.html',
'Modules/Group');
448 if(
$_GET[
'group_type_changed'])
450 $this->ctrl->clearParameters($this);
451 $this->tpl->setVariable(
'GRP_FORMACTION',$this->ctrl->getFormAction($this));
452 $this->tpl->setVariable(
'TXT_SW_GRP_TYPE_S',$this->lng->txt(
'grp_change_type'));
453 $this->tpl->setVariable(
'TXT_SW_GRP_TYPE_C',$this->lng->txt(
'cancel'));
454 $this->
initForm(
'update_group_type');
460 $this->tpl->setVariable(
'EDIT_FORM',$this->form->getHTML());
472 $type = $this->
object->getGroupType() ?
473 $this->
object->getGroupType() :
474 $this->
object->readGroupStatus();
484 $this->
object->updateGroupType();
485 $this->
object->update();
487 $this->ctrl->redirect($this,
'edit');
504 $this->form->checkInput();
506 $old_type = $this->
object->getGroupType();
509 $ilErr->setMessage(
'');
511 if(!$this->object->validate())
513 $err = $this->lng->txt(
'err_check_input');
515 $err = $ilErr->getMessage();
522 if($this->object->isGroupTypeModified($old_type) and !$update_group_type)
525 $this->
object->setGroupType($old_type);
528 $this->
object->update();
531 include_once
'./Services/Object/classes/class.ilObjectServiceSettingsGUI.php';
533 $this->object->getId(),
544 include_once
'./Services/Container/classes/class.ilContainerSortingSettings.php';
550 require_once(
'Services/Tracking/classes/class.ilChangeEvent.php');
557 include_once
'Modules/Group/classes/class.ilECSGroupSettings.php';
559 $ecs->handleSettingsUpdate();
563 include_once
'./Services/Utilities/classes/class.ilConfirmationGUI.php';
566 $confirm->setFormAction($this->ctrl->getFormAction($this));
569 $this->object->getGroupType(),
570 $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'))
572 $confirm->addButton($this->lng->txt(
'grp_change_type'),
'updateGroupType');
573 $confirm->setCancel($this->lng->txt(
'cancel'),
'edit');
575 $this->tpl->setContent($confirm->getHTML());
581 $this->ctrl->redirect($this,
'edit');
596 $this->tabs_gui->setTabActive(
'settings');
597 $this->tabs_gui->setSubTabActive(
'grp_icon_settings');
604 $tpl->setContent($a_form->getHTML());
609 include_once
"Services/Form/classes/class.ilPropertyFormGUI.php";
611 $form->setFormAction($this->ctrl->getFormAction($this));
616 $form->addCommandButton(
'updateGroupIcons', $this->lng->txt(
'save'));
632 if($form->checkInput())
635 if ($this->
ilias->getSetting(
"custom_icons"))
637 if(
$_POST[
"cont_big_icon_delete"])
639 $this->
object->removeBigIcon();
641 if(
$_POST[
"cont_small_icon_delete"])
643 $this->
object->removeSmallIcon();
645 if(
$_POST[
"cont_tiny_icon_delete"])
647 $this->
object->removeTinyIcon();
649 $this->
object->saveIcons($_FILES[
"cont_big_icon"][
'tmp_name'],
650 $_FILES[
"cont_small_icon"][
'tmp_name'], $_FILES[
"cont_tiny_icon"][
'tmp_name']);
654 $this->ctrl->redirect($this,
"editGroupIcons");
657 $form->setValuesByPost();
669 $this->tabs_gui->setTabActive(
'settings');
670 $this->tabs_gui->setSubTabActive(
'grp_map_settings');
672 include_once(
'./Services/GoogleMaps/classes/class.ilGoogleMapUtil.php');
674 !$ilAccess->checkAccess(
"write",
"", $this->object->getRefId()))
679 $latitude = $this->
object->getLatitude();
680 $longitude = $this->
object->getLongitude();
681 $zoom = $this->
object->getLocationZoom();
684 if ($latitude == 0 && $longitude == 0 && $zoom == 0)
687 $latitude = $def[
"latitude"];
688 $longitude = $def[
"longitude"];
689 $zoom = $def[
"zoom"];
696 include_once(
"./Services/Form/classes/class.ilPropertyFormGUI.php");
698 $form->setFormAction($ilCtrl->getFormAction($this));
700 $form->setTitle($this->lng->txt(
"grp_map_settings"));
706 $public->setChecked($this->object->getEnableGroupMap());
707 $form->addItem($public);
713 $loc_prop->setLongitude($longitude);
714 $loc_prop->setZoom($zoom);
715 $form->addItem($loc_prop);
717 $form->addCommandButton(
"saveMapSettings", $this->lng->txt(
"save"));
719 $this->tpl->setVariable(
"ADM_CONTENT", $form->getHTML());
730 $this->
object->update();
732 $ilCtrl->redirect($this,
"editMapSettings");
743 $this->tabs_gui->setTabActive(
'members');
745 include_once(
"./Services/GoogleMaps/classes/class.ilGoogleMapUtil.php");
751 include_once(
"./Services/GoogleMaps/classes/class.ilGoogleMapGUI.php");
753 $map->setMapId(
"group_map");
754 $map->setWidth(
"700px");
755 $map->setHeight(
"500px");
756 $map->setLatitude($this->object->getLatitude());
757 $map->setLongitude($this->object->getLongitude());
758 $map->setZoom($this->object->getLocationZoom());
759 $map->setEnableTypeControl(
true);
760 $map->setEnableNavigationControl(
true);
761 $map->setEnableCentralMarker(
true);
764 $member_ids = $this->
object->getGroupMemberIds();
765 $admin_ids = $this->
object->getGroupAdminIds();
768 $members = $this->
object->getGroupMemberData($member_ids);
769 foreach($member_ids as $user_id)
771 $map->addUserMarker($user_id);
773 $tpl->setContent($map->getHTML());
774 $tpl->setLeftContent($map->getUserListHTML());
791 $this->tabs_gui->setTabActive(
'settings');
792 $this->tabs_gui->setSubTabActive(
'grp_info_settings');
795 $this->tpl->setContent($this->form->getHTML());
806 if(is_object($this->form))
811 include_once(
"./Services/Form/classes/class.ilPropertyFormGUI.php");
813 $this->form->setFormAction($this->ctrl->getFormAction($this,
'updateInfo'));
814 $this->form->setTitle($this->lng->txt(
'grp_general_informations'));
815 $this->form->addCommandButton(
'updateInfo',$this->lng->txt(
'save'));
816 $this->form->addCommandButton(
'cancel',$this->lng->txt(
'cancel'));
819 $area->
setInfo($this->lng->txt(
'grp_information_info'));
820 $area->setValue($this->object->getInformation());
823 $this->form->addItem($area);
837 $this->
object->update();
852 global $rbacsystem, $ilAccess,
$ilUser;
854 $is_admin = (bool) $rbacsystem->checkAccess(
"write", $this->object->getRefId());
856 $this->tpl->addBlockFile(
'ADM_CONTENT',
'adm_content',
'tpl.crs_members_gallery.html',
'Modules/Course');
859 $this->tabs_gui->setTabActive(
'members');
861 $member_ids = $this->
object->getGroupMemberIds();
862 $admin_ids = $this->
object->getGroupAdminIds();
865 $members = $this->
object->getGroupMemberData($member_ids);
870 $ordered_members = array();
872 foreach($members as $member)
880 if(!$usr_obj->getActive())
888 array_push($ordered_members,array(
"id" => $member[
"id"],
889 "login" => $usr_obj->getLogin(),
890 "lastname" => $usr_obj->getLastName(),
891 "firstname" => $usr_obj->getFirstName(),
892 "sortlastname" => strtoupper($usr_obj->getLastName()).strtoupper($usr_obj->getFirstName()),
893 "usr_obj" => $usr_obj));
898 foreach($ordered_members as $member) {
900 $usr_obj = $member[
"usr_obj"];
902 $public_profile = $usr_obj->getPref(
"public_profile");
903 if ($public_profile ==
"g")
905 $public_profile =
"y";
909 $this->ctrl->setParameterByClass(
"ilpublicuserprofilegui",
"user", $member[
"id"]);
910 $profile_target = $this->ctrl->getLinkTargetByClass(
"ilpublicuserprofilegui",
"getHTML");
913 $file = $usr_obj->getPersonalPicturePath(
"xsmall");
915 switch(in_array($member[
"id"],$admin_ids))
919 if ($public_profile ==
"y")
921 $this->tpl->setCurrentBlock(
"member_linked");
922 $this->tpl->setVariable(
"LINK_PROFILE", $profile_target);
923 $this->tpl->setVariable(
"SRC_USR_IMAGE",
$file);
924 $this->tpl->parseCurrentBlock();
928 $this->tpl->setCurrentBlock(
"member_not_linked");
929 $this->tpl->setVariable(
"SRC_USR_IMAGE",
$file);
930 $this->tpl->parseCurrentBlock();
932 $this->tpl->setCurrentBlock(
"member");
936 if ($public_profile ==
"y")
938 $this->tpl->setCurrentBlock(
"member_linked");
939 $this->tpl->setVariable(
"LINK_PROFILE", $profile_target);
940 $this->tpl->setVariable(
"SRC_USR_IMAGE",
$file);
941 $this->tpl->parseCurrentBlock();
945 $this->tpl->setCurrentBlock(
"member_not_linked");
946 $this->tpl->setVariable(
"SRC_USR_IMAGE",
$file);
947 $this->tpl->parseCurrentBlock();
949 $this->tpl->setCurrentBlock(
"member");
953 if (in_array($member[
"id"],$admin_ids)) {
954 $this->tpl->setVariable(
"MEMBER_CLASS",
"il_Admin");
957 $this->tpl->setVariable(
"MEMBER_CLASS",
"il_Member");
962 if ($public_profile ==
"y")
964 $this->tpl->setVariable(
"FIRSTNAME", $member[
"firstname"]);
965 $this->tpl->setVariable(
"LASTNAME", $member[
"lastname"]);
967 $this->tpl->setVariable(
"LOGIN", $usr_obj->getLogin());
968 $this->tpl->parseCurrentBlock();
970 $this->tpl->setCurrentBlock(
"members");
972 $this->tpl->parseCurrentBlock();
975 $this->tpl->setVariable(
"TITLE",$this->lng->txt(
'crs_members_print_title'));
982 include_once(
'./Services/PrivacySecurity/classes/class.ilPrivacySettings.php');
985 if($this->show_tracking)
987 include_once
'Services/Tracking/classes/class.ilLPStatusWrapper.php';
993 if($privacy->enabledGroupAccessTimes())
995 include_once(
'./Services/Tracking/classes/class.ilLearningProgress.php');
999 $do_prtf = (is_array($selected_columns) &&
1000 in_array(
'prtf', $selected_columns) &&
1004 include_once
"Modules/Portfolio/classes/class.ilObjPortfolio.php";
1006 $this->ctrl->getLinkTarget($this,
"members"));
1012 $tmp_data[
'firstname'] = $name[
'firstname'];
1013 $tmp_data[
'lastname'] = $name[
'lastname'];
1015 $tmp_data[
'notification'] = $this->
object->members_obj->isNotificationEnabled($usr_id) ? 1 : 0;
1016 $tmp_data[
'usr_id'] =
$usr_id;
1019 if($this->show_tracking)
1021 if(in_array($usr_id,$completed))
1025 elseif(in_array($usr_id,$in_progress))
1029 elseif(in_array($usr_id,
$failed))
1039 if($privacy->enabledGroupAccessTimes())
1041 if(isset($progress[$usr_id][
'ts']) and $progress[
$usr_id][
'ts'])
1045 $tmp_data[
'access_time_unix'] = $tmp_date->get(
IL_CAL_UNIX);
1049 $tmp_data[
'access_time'] = $this->lng->txt(
'no_date');
1050 $tmp_data[
'access_time_unix'] = 0;
1056 $tmp_data[
'prtf'] = $all_prtf[
$usr_id];
1059 $members[
$usr_id] = $tmp_data;
1061 return $members ? $members : array();
1074 include_once(
'./Modules/Group/classes/class.ilGroupParticipants.php');
1075 include_once(
'./Modules/Group/classes/class.ilGroupParticipantsTableGUI.php');
1079 include_once
'./Services/Tracking/classes/class.ilObjUserTracking.php';
1082 if($this->show_tracking)
1084 include_once(
'./Services/Object/classes/class.ilObjectLP.php');
1086 $this->show_tracking = $olp->isActive();
1092 $this->tabs_gui->setTabActive(
'members');
1093 $this->tabs_gui->setSubTabActive(
'grp_edit_members');
1095 $this->tpl->addBlockfile(
'ADM_CONTENT',
'adm_content',
'tpl.grp_edit_members.html',
'Modules/Group');
1096 $this->tpl->setVariable(
'FORMACTION',$this->ctrl->getFormAction($this));
1099 include_once
'./Services/Search/classes/class.ilRepositorySearchGUI.php';
1104 'auto_complete_name' => $lng->txt(
'user'),
1105 'user_type' => array(
1109 'submit_name' => $lng->txt(
'add')
1114 $ilToolbar->addSeparator();
1117 $ilToolbar->addButton($this->lng->txt(
"grp_search_users"),
1118 $this->ctrl->getLinkTargetByClass(
'ilRepositorySearchGUI',
'start'));
1120 $ilToolbar->addSeparator();
1123 $ilToolbar->addButton($this->lng->txt(
"grp_print_list"),
1124 $this->ctrl->getLinkTarget($this,
'printMembers'));
1130 include_once(
'./Modules/Group/classes/class.ilGroupWaitingList.php');
1132 if(count($wait = $waiting_list->getAllUsers()))
1134 include_once(
'./Services/Membership/classes/class.ilWaitingListTableGUI.php');
1135 if($ilUser->getPref(
'grp_wait_hide'))
1138 $this->ctrl->setParameter($this,
'wait_hide',0);
1139 $table_gui->addHeaderCommand($this->ctrl->getLinkTarget($this,
'members'),
1140 $this->lng->txt(
'show'),
1143 $this->ctrl->clearParameters($this);
1148 $this->ctrl->setParameter($this,
'wait_hide',1);
1149 $table_gui->addHeaderCommand($this->ctrl->getLinkTarget($this,
'members'),
1150 $this->lng->txt(
'hide'),
1153 $this->ctrl->clearParameters($this);
1155 $table_gui->setUsers($wait);
1156 $table_gui->setTitle($this->lng->txt(
'grp_header_waiting_list'),
'icon_usr.png',$this->lng->txt(
'group_new_registrations'));
1157 $this->tpl->setVariable(
'TABLE_SUB',$table_gui->getHTML());
1162 if($part->getSubscribers())
1164 include_once(
'./Services/Membership/classes/class.ilSubscriberTableGUI.php');
1165 if($ilUser->getPref(
'grp_subscriber_hide'))
1168 $this->ctrl->setParameter($this,
'subscriber_hide',0);
1169 $table_gui->addHeaderCommand($this->ctrl->getLinkTarget($this,
'members'),
1170 $this->lng->txt(
'show'),
1173 $this->ctrl->clearParameters($this);
1178 $this->ctrl->setParameter($this,
'subscriber_hide',1);
1179 $table_gui->addHeaderCommand($this->ctrl->getLinkTarget($this,
'members'),
1180 $this->lng->txt(
'hide'),
1183 $this->ctrl->clearParameters($this);
1185 $table_gui->readSubscriberData();
1186 $table_gui->setTitle($this->lng->txt(
'group_new_registrations'),
'icon_usr.png',$this->lng->txt(
'group_new_registrations'));
1187 $this->tpl->setVariable(
'TABLE_SUB',$table_gui->getHTML());
1190 if(count($part->getAdmins()))
1192 if($ilUser->getPref(
'grp_admin_hide'))
1195 $this->ctrl->setParameter($this,
'admin_hide',0);
1196 $table_gui->addHeaderCommand($this->ctrl->getLinkTarget($this,
'members'),
1197 $this->lng->txt(
'show'),
1200 $this->ctrl->clearParameters($this);
1205 $this->ctrl->setParameter($this,
'admin_hide',1);
1206 $table_gui->addHeaderCommand($this->ctrl->getLinkTarget($this,
'members'),
1207 $this->lng->txt(
'hide'),
1210 $this->ctrl->clearParameters($this);
1212 $table_gui->setTitle($this->lng->txt(
'grp_admins'),
'icon_usr.png',$this->lng->txt(
'grp_admins'));
1214 $this->tpl->setVariable(
'ADMINS',$table_gui->getHTML());
1217 if(
$GLOBALS[
'rbacreview']->getNumberOfAssignedUsers(array($this->object->getDefaultMemberRole())))
1219 if($ilUser->getPref(
'grp_member_hide'))
1222 $this->ctrl->setParameter($this,
'member_hide',0);
1224 $this->lng->txt(
'show'),
1227 $this->ctrl->clearParameters($this);
1232 $this->ctrl->setParameter($this,
'member_hide',1);
1234 $this->lng->txt(
'hide'),
1237 $this->ctrl->clearParameters($this);
1240 $table_gui->setTitle($this->lng->txt(
'grp_members'),
'icon_usr.png',$this->lng->txt(
'grp_members'));
1241 $table_gui->parse($this->
readMemberData(
$GLOBALS[
'rbacreview']->assignedUsers($this->object->getDefaultMemberRole()),
1242 null, $table_gui->getSelectedColumns()));
1243 $this->tpl->setCurrentBlock(
'member_block');
1244 $this->tpl->setVariable(
'MEMBERS',$table_gui->getHTML());
1245 $this->tpl->parseCurrentBlock();
1251 if(!(
$GLOBALS[
'rbacreview']->getNumberOfAssignedUsers(array($role_id))))
1255 if($ilUser->getPref(
'grp_role_hide'.$role_id))
1258 $this->ctrl->setParameter($this,
'role_hide_'.$role_id,0);
1259 $table_gui->addHeaderCommand($this->ctrl->getLinkTarget($this,
'members'),
1260 $this->lng->txt(
'show'),
1263 $this->ctrl->clearParameters($this);
1268 $this->ctrl->setParameter($this,
'role_hide_'.$role_id,1);
1269 $table_gui->addHeaderCommand($this->ctrl->getLinkTarget($this,
'members'),
1270 $this->lng->txt(
'hide'),
1273 $this->ctrl->clearParameters($this);
1278 $this->tpl->setCurrentBlock(
'member_block');
1279 $this->tpl->setVariable(
'MEMBERS',$table_gui->getHTML());
1280 $this->tpl->parseCurrentBlock();
1283 $this->tpl->setVariable(
'TXT_SELECTED_USER',$this->lng->txt(
'grp_selected_users'));
1284 $this->tpl->setVariable(
'BTN_FOOTER_EDIT',$this->lng->txt(
'edit'));
1285 $this->tpl->setVariable(
'BTN_FOOTER_VAL',$this->lng->txt(
'remove'));
1286 $this->tpl->setVariable(
'BTN_FOOTER_MAIL',$this->lng->txt(
'grp_mem_send_mail'));
1303 if(!count(
$_POST[
'subscribers']))
1310 include_once
'./Modules/Group/classes/class.ilGroupMembershipMailNotification.php';
1313 $this->
object->members_obj->sendNotification(
1319 $this->
object->members_obj->deleteSubscriber($usr_id);
1321 include_once(
'./Modules/Forum/classes/class.ilForumNotification.php');
1325 $this->ctrl->redirect($this,
'members');
1341 if(!count(
$_POST[
'subscribers']))
1348 include_once
'./Modules/Group/classes/class.ilGroupMembershipMailNotification.php';
1351 $this->
object->members_obj->sendNotification(
1355 $this->
object->members_obj->deleteSubscriber($usr_id);
1374 if(!count(
$_POST[
"waiting"]))
1381 include_once(
'./Modules/Group/classes/class.ilGroupWaitingList.php');
1384 include_once
'./Modules/Group/classes/class.ilGroupMembershipMailNotification.php';
1387 foreach(
$_POST[
"waiting"] as $user_id)
1393 if($this->object->members_obj->isAssigned($user_id))
1398 $this->
object->members_obj->sendNotification(
1404 include_once(
'./Modules/Forum/classes/class.ilForumNotification.php');
1419 $this->searchObject();
1435 if(!count(
$_POST[
'waiting']))
1442 include_once(
'./Modules/Group/classes/class.ilGroupWaitingList.php');
1445 include_once
'./Modules/Group/classes/class.ilGroupMembershipMailNotification.php';
1446 foreach(
$_POST[
"waiting"] as $user_id)
1449 $this->
object->members_obj->sendNotification(
1469 $participants_to_delete = (array) array_unique(array_merge((array)
$_POST[
'admins'],(array) $_POST[
'members'], (array) $_POST[
'roles']));
1471 if(!count($participants_to_delete))
1481 $admins_after = (array) array_diff($admins, $participants_to_delete);
1482 if(!count($admins_after) and count($admins))
1490 $this->tabs_gui->setTabActive(
'members');
1491 $this->tabs_gui->setSubTabActive(
'grp_edit_members');
1493 include_once(
'./Services/Utilities/classes/class.ilConfirmationGUI.php');
1495 $confirm->setFormAction($this->ctrl->getFormAction($this,
'deleteMembers'));
1496 $confirm->setHeaderText($this->lng->txt(
'grp_dismiss_member'));
1497 $confirm->setConfirm($this->lng->txt(
'confirm'),
'deleteMembers');
1498 $confirm->setCancel($this->lng->txt(
'cancel'),
'members');
1500 foreach($this->
readMemberData(array_merge((array) $_POST[
'admins'],(array) $_POST[
'members'], (array) $_POST[
'roles'])) as $participants)
1502 $confirm->addItem(
'participants[]',
1503 $participants[
'usr_id'],
1504 $participants[
'lastname'].
', '.$participants[
'firstname'].
' ['.$participants[
'login'].
']',
1508 $this->tpl->setContent($confirm->getHTML());
1522 if(!count(
$_POST[
'participants']))
1529 $this->
object->members_obj->deleteParticipants(
$_POST[
'participants']);
1532 include_once
'./Modules/Group/classes/class.ilGroupMembershipMailNotification.php';
1533 include_once
'./Modules/Forum/classes/class.ilForumNotification.php';
1534 foreach(
$_POST[
'participants'] as $part)
1536 $this->
object->members_obj->sendNotification(
1558 if(isset(
$_GET[
'member_id']))
1560 $_POST[
'participants'] = array(
$_GET[
'member_id']);
1564 $_POST[
'participants'] = array_unique(array_merge((array)
$_POST[
'admins'],
1565 (array) $_POST[
'members'],
1566 (array) $_POST[
'roles'],
1567 (array) $_POST[
'waiting'],
1568 (array) $_POST[
'subscribers']));
1570 if (!count(
$_POST[
'participants']))
1581 require_once
'Services/Mail/classes/class.ilMailFormCall.php';
1601 if(isset(
$_GET[
'admin_hide']))
1603 $ilUser->writePref(
'grp_admin_hide',(
int)
$_GET[
'admin_hide']);
1605 if(isset(
$_GET[
'member_hide']))
1607 $ilUser->writePref(
'grp_member_hide',(
int)
$_GET[
'member_hide']);
1609 if(isset(
$_GET[
'subscriber_hide']))
1611 $ilUser->writePref(
'grp_subscriber_hide',(
int)
$_GET[
'subscriber_hide']);
1613 if(isset(
$_GET[
'wait_hide']))
1615 $ilUser->writePref(
'grp_wait_hide',(
int)
$_GET[
'wait_hide']);
1626 $_POST[
'members'] = array((
int)
$_GET[
'member_id']);
1640 $post_participants = array_unique(array_merge((array)
$_POST[
'admins'],(array) $_POST[
'members'], (array) $_POST[
'roles']));
1642 $participants = array_intersect((array) $post_participants, (array) $real_participants);
1644 if(!count($participants))
1652 $this->tabs_gui->setTabActive(
'members');
1653 $this->tabs_gui->setSubTabActive(
'grp_edit_members');
1655 include_once(
'./Modules/Group/classes/class.ilGroupEditParticipantsTableGUI.php');
1657 $table_gui->setTitle($this->lng->txt(
'grp_mem_change_status'),
'icon_usr.png',$this->lng->txt(
'grp_mem_change_status'));
1660 $this->tpl->setContent($table_gui->getHTML());
1675 if(!count(
$_POST[
'participants']))
1684 $admin_role = $this->
object->getDefaultAdminRole();
1687 if(!isset(
$_POST[
'roles'][$admin_id]))
1692 if(in_array($admin_role,
$_POST[
'roles'][$admin_id]))
1702 $_POST[
'members'] = $_POST[
'participants'];
1707 $admin_role = $this->
object->getDefaultAdminRole();
1709 $notifications =
$_POST[
'notification'] ?
$_POST[
'notification'] : array();
1713 $notification =
false;
1714 if($this->object->members_obj->isAdmin($usr_id) and !in_array($admin_role,(array)
$_POST[
'roles'][$usr_id]))
1716 $notification =
true;
1718 if(!$this->object->members_obj->isAdmin($usr_id) and in_array($admin_role,(array)
$_POST[
'roles'][$usr_id]))
1720 $notification =
true;
1724 $this->
object->members_obj->updateRoleAssignments($usr_id,(array)
$_POST[
'roles'][$usr_id]);
1727 $this->
object->members_obj->updateNotification($usr_id,0);
1729 if($this->object->members_obj->isAdmin($usr_id) and in_array($usr_id,$notifications))
1731 $this->
object->members_obj->updateNotification($usr_id,1);
1736 include_once
'./Modules/Group/classes/class.ilGroupMembershipMailNotification.php';
1737 $this->
object->members_obj->sendNotification(
1759 $notification =
$_POST[
'notification'] ?
$_POST[
'notification'] : array();
1760 foreach($this->object->members_obj->getAdmins() as $admin_id)
1762 $this->
object->members_obj->updateNotification($admin_id,(
int) in_array($admin_id,$notification));
1800 if($part->isLastAdmin($ilUser->getId()))
1807 $this->tabs_gui->setTabActive(
'grp_btn_unsubscribe');
1809 include_once
"Services/Utilities/classes/class.ilConfirmationGUI.php";
1811 $cgui->setHeaderText($this->lng->txt(
'grp_dismiss_myself'));
1812 $cgui->setFormAction($this->ctrl->getFormAction($this));
1813 $cgui->setCancel($this->lng->txt(
"cancel"),
"cancel");
1814 $cgui->setConfirm($this->lng->txt(
"grp_btn_unsubscribe"),
"unsubscribe");
1815 $this->tpl->setContent($cgui->getHTML());
1830 $this->
object->members_obj->delete($ilUser->getId());
1832 include_once
'./Modules/Group/classes/class.ilGroupMembershipMailNotification.php';
1833 $this->
object->members_obj->sendNotification(
1837 $this->
object->members_obj->sendNotification(
1842 include_once
'./Modules/Forum/classes/class.ilForumNotification.php';
1846 $ilCtrl->setParameterByClass(
"ilrepositorygui",
"ref_id",
1847 $tree->getParentId($this->object->getRefId()));
1848 $ilCtrl->redirectByClass(
"ilrepositorygui",
"");
1858 $user_ids =
$_POST[
"id"];
1860 if (empty($user_ids[0]))
1863 $this->ilErr->raiseError($this->lng->txt(
"no_checkbox"),$this->ilErr->MESSAGE);
1866 foreach ($user_ids as $new_member)
1868 if (!$this->object->addMember($new_member,$this->object->getDefaultMemberRole()))
1870 $this->ilErr->raiseError(
"An Error occured while assigning user to group !",$this->ilErr->MESSAGE);
1877 $this->ctrl->redirect($this,
'members');
1886 if (empty($user_ids[0]))
1888 $GLOBALS[
'lng']->loadLanguageModule(
'search');
1893 foreach ($user_ids as $new_member)
1898 if (!$this->object->addMember($new_member,$this->object->getDefaultMemberRole()))
1900 $this->ilErr->raiseError(
"An Error occured while assigning user to group !",$this->ilErr->MESSAGE);
1905 if (!$this->object->addMember($new_member,$this->object->getDefaultAdminRole()))
1907 $this->ilErr->raiseError(
"An Error occured while assigning user to group !",$this->ilErr->MESSAGE);
1914 include_once
'./Modules/Group/classes/class.ilGroupMembershipMailNotification.php';
1915 $this->
object->members_obj->sendNotification(
1920 include_once
'./Modules/Forum/classes/class.ilForumNotification.php';
1925 unset(
$_SESSION[
'grp_usr_search_result']);
1928 $this->ctrl->redirect($this,
'members');
1936 global $rbacreview, $ilObjDataCache,
$ilias;
1937 include_once(
'./Services/AccessControl/classes/class.ilObjRole.php');
1939 $this->lng->loadLanguageModule(
'mail');
1940 if(!isset(
$_GET[
'returned_from_mail']))
1945 $this->tpl->addBlockFile(
'ADM_CONTENT',
'adm_content',
'tpl.mail_members.html',
'Services/Contact');
1949 $this->tabs_gui->setTabActive(
'members');
1951 require_once
'Services/Mail/classes/class.ilMailFormCall.php';
1954 $this->tpl->setVariable(
"TXT_MARKED_ENTRIES",$this->lng->txt(
'marked_entries'));
1955 $this->tpl->setVariable(
"OK",$this->lng->txt(
'next'));
1958 $role_folder = $rbacreview->getRoleFolderOfObject($this->object->getRefId());
1959 $role_ids = $rbacreview->getRolesOfRoleFolder($role_folder[
'ref_id'],
false);
1960 $role_addrs = array();
1963 $sorted_role_ids = array();
1965 foreach($role_ids as $role_id)
1970 $sorted_role_ids[1] = $role_id;
1974 $sorted_role_ids[0] = $role_id;
1978 $sorted_role_ids[$counter++] = $role_id;
1982 ksort($sorted_role_ids,SORT_NUMERIC);
1983 foreach ((array) $sorted_role_ids as $role_id)
1985 $this->tpl->setCurrentBlock(
"mailbox_row");
1986 $role_addr = $rbacreview->getRoleMailboxAddress($role_id);
1990 if(count($ids_for_role_title) >= 2)
1992 $ilias->setSetting(
'pear_mail_enable', 1);
1996 htmlspecialchars($role_addr)
1999 if (ilMail::_usePearMail() && substr($role_addr, 0, 4) !=
'#il_')
2002 $this->tpl->setVariable(
"MAILBOX",$role_addr);
2009 $this->tpl->parseCurrentBlock();
2019 $user_ids =
$_POST[
"user_id"];
2021 if (empty($user_ids[0]))
2023 $this->ilErr->raiseError($this->lng->txt(
"no_checkbox"),$this->ilErr->MESSAGE);
2025 include_once
'Services/Mail/classes/class.ilMail.php';
2028 foreach ($user_ids as $new_member)
2030 $user =& $this->
ilias->obj_factory->getInstanceByObjId($new_member);
2032 $this->
object->deleteApplicationListEntry($new_member);
2033 $mail->sendMail($user->getLogin(),
"",
"",
"Membership application refused: Group ".$this->object->getTitle(),
"Your application has been refused.",array(),array(
'system'));
2037 $this->ctrl->redirect($this,
'members');
2043 global $rbacsystem,
$ilUser, $ilAccess,
$lng, $ilHelp;
2045 $ilHelp->setScreenIdComponent(
"grp");
2047 if ($rbacsystem->checkAccess(
'read',$this->ref_id))
2049 $tabs_gui->addTab(
"view_content", $lng->txt(
"content"),
2050 $this->ctrl->getLinkTarget($this,
""));
2052 if ($rbacsystem->checkAccess(
'visible',$this->ref_id))
2054 $tabs_gui->addTarget(
"info_short",
2055 $this->ctrl->getLinkTargetByClass(
2056 array(
"ilobjgroupgui",
"ilinfoscreengui"),
"showSummary"),
2062 if ($ilAccess->checkAccess(
'write',
'',$this->object->getRefId()))
2064 $tabs_gui->addTarget(
"settings",
2065 $this->ctrl->getLinkTarget($this,
"edit"), array(
"edit",
"editMapSettings"), get_class($this),
2073 $mem_cmd = $ilAccess->checkAccess(
'write',
'',$this->ref_id) ?
"members" :
"membersGallery";
2074 if($mem_cmd !=
"membersGallery" || $is_participant)
2076 $tabs_gui->addTarget(
"members",
2077 $this->ctrl->getLinkTarget($this, $mem_cmd),
2083 include_once
'./Services/Tracking/classes/class.ilLearningProgressAccess.php';
2086 $tabs_gui->addTarget(
'learning_progress',
2087 $this->ctrl->getLinkTargetByClass(array(
'ilobjgroupgui',
'illearningprogressgui'),
''),
2089 array(
'illplistofobjectsgui',
'illplistofsettingsgui',
'illearningprogressgui',
'illplistofprogressgui'));
2093 if($ilAccess->checkAccess(
'write',
'',$this->object->getRefId()))
2095 $tabs_gui->addTarget(
2097 $this->ctrl->getLinkTargetByClass(
'ilexportgui',
''),
2115 parent::getTabs($tabs_gui);
2117 if($ilAccess->checkAccess(
'join',
'',$this->object->getRefId()) and
2118 !$this->object->members_obj->isAssigned($ilUser->getId()))
2120 include_once
'./Modules/Group/classes/class.ilGroupWaitingList.php';
2125 $this->lng->txt(
'membership_leave'),
2126 $this->ctrl->getLinkTargetByClass(
'ilgroupregistrationgui',
'show',
'')
2133 $tabs_gui->addTarget(
"join",
2134 $this->ctrl->getLinkTargetByClass(
'ilgroupregistrationgui',
"show"),
2139 if($ilAccess->checkAccess(
'leave',
'',$this->object->getRefId()) and
2140 $this->object->members_obj->isMember($ilUser->getId()))
2142 $tabs_gui->addTarget(
"grp_btn_unsubscribe",
2143 $this->ctrl->getLinkTarget($this,
"leave"),
2153 if(!is_array($_FILES[
'xmldoc']))
2160 include_once
'./Modules/Group/classes/class.ilObjGroup.php';
2164 $this->ctrl->setParameter($this,
"ref_id",
$ref_id);
2181 $this->tpl->addBlockfile(
"ADM_CONTENT",
"adm_content",
"tpl.grp_members_export.html",
2183 $this->tpl->setCurrentBlock(
"adm_content");
2184 $this->tpl->setVariable(
"FORMACTION", $this->
getFormAction(
"export",$this->ctrl->getFormAction($this)));
2185 $this->tpl->setVariable(
"BUTTON_EXPORT", $this->lng->txt(
"export_group_members"));
2186 $this->tpl->parseCurrentBlock();
2197 $title = preg_replace(
"/\s/",
"_", $this->object->getTitle());
2198 include_once
"./Services/Excel/classes/class.ilExcelWriterAdapter.php";
2200 $workbook = $adapter->getWorkbook();
2202 $format_bold =& $workbook->addFormat();
2203 $format_bold->setBold();
2204 $format_percent =& $workbook->addFormat();
2205 $format_percent->setNumFormat(
"0.00%");
2206 $format_datetime =& $workbook->addFormat();
2207 $format_datetime->setNumFormat(
"DD/MM/YYYY hh:mm:ss");
2208 $format_title =& $workbook->addFormat();
2209 $format_title->setBold();
2210 $format_title->setColor(
'black');
2211 $format_title->setPattern(1);
2212 $format_title->setFgColor(
'silver');
2213 $worksheet =& $workbook->addWorksheet();
2215 $profile_data = array(
"email",
"gender",
"firstname",
"lastname",
"person_title",
"institution",
2216 "department",
"street",
"zipcode",
"city",
"country",
"phone_office",
"phone_home",
"phone_mobile",
2217 "fax",
"matriculation");
2218 foreach ($profile_data as
$data)
2220 $worksheet->writeString(0, $column++, $this->
cleanString($this->lng->txt($data)), $format_title);
2222 $member_ids = $this->
object->getGroupMemberIds();
2224 foreach ($member_ids as $member_id)
2227 $member =& $this->
ilias->obj_factory->getInstanceByObjId($member_id);
2228 if ($member->getPref(
"public_email")==
"y")
2230 $worksheet->writeString(
$row, $column++, $this->
cleanString($member->getEmail()));
2236 $worksheet->writeString(
$row, $column++, $this->
cleanString($this->lng->txt(
"gender_" . $member->getGender())));
2237 $worksheet->writeString(
$row, $column++, $this->
cleanString($member->getFirstname()));
2238 $worksheet->writeString(
$row, $column++, $this->
cleanString($member->getLastname()));
2239 $worksheet->writeString(
$row, $column++, $this->
cleanString($member->getUTitle()));
2240 if ($member->getPref(
"public_institution")==
"y")
2242 $worksheet->writeString(
$row, $column++, $this->
cleanString($member->getInstitution()));
2248 if ($member->getPref(
"public_department")==
"y")
2250 $worksheet->writeString(
$row, $column++, $this->
cleanString($member->getDepartment()));
2256 if ($member->getPref(
"public_street")==
"y")
2258 $worksheet->writeString(
$row, $column++, $this->
cleanString($member->getStreet()));
2264 if ($member->getPref(
"public_zip")==
"y")
2266 $worksheet->writeString(
$row, $column++, $this->
cleanString($member->getZipcode()));
2272 if ($member->getPref(
"public_city")==
"y")
2274 $worksheet->writeString(
$row, $column++, $this->
cleanString($member->getCity()));
2280 if ($member->getPref(
"public_country")==
"y")
2282 $worksheet->writeString(
$row, $column++, $this->
cleanString($member->getCountry()));
2288 if ($member->getPref(
"public_phone_office")==
"y")
2290 $worksheet->writeString(
$row, $column++, $this->
cleanString($member->getPhoneOffice()));
2296 if ($member->getPref(
"public_phone_home")==
"y")
2298 $worksheet->writeString(
$row, $column++, $this->
cleanString($member->getPhoneHome()));
2304 if ($member->getPref(
"public_phone_mobile")==
"y")
2306 $worksheet->writeString(
$row, $column++, $this->
cleanString($member->getPhoneMobile()));
2312 if ($member->getPref(
"public_fax")==
"y")
2314 $worksheet->writeString(
$row, $column++, $this->
cleanString($member->getFax()));
2320 if ($member->getPref(
"public_matriculation")==
"y")
2322 $worksheet->writeString(
$row, $column++, $this->
cleanString($member->getMatriculation()));
2343 return str_replace(array(
"��",
"��",
"��",
"��",
"��",
"��",
"��"), array(
"ae",
"oe",
"ue",
"ss",
"Ae",
"Oe",
"Ue"), $str);
2358 $this->ctrl->setCmd(
"showSummary");
2359 $this->ctrl->setCmdClass(
"ilinfoscreengui");
2370 $this->tabs_gui->setTabActive(
'info_short');
2372 if(!$rbacsystem->checkAccess(
"visible", $this->ref_id))
2374 $this->
ilias->raiseError($this->lng->txt(
"msg_no_perm_read"),$this->
ilias->error_obj->MESSAGE);
2377 include_once(
"./Services/InfoScreen/classes/class.ilInfoScreenGUI.php");
2380 if(strlen($this->object->getInformation()))
2382 $info->addSection($this->lng->txt(
'grp_general_informations'));
2383 $info->addProperty($this->lng->txt(
'grp_information'), nl2br(
2387 $info->enablePrivateNotes();
2388 $info->enableLearningProgress(
true);
2390 $info->addSection($this->lng->txt(
'group_registration'));
2391 $info->showLDAPRoleGroupMappingInfo();
2393 if(!$this->object->isRegistrationEnabled())
2395 $info->addProperty($this->lng->txt(
'group_registration_mode'),
2396 $this->lng->txt(
'grp_reg_deac_info_screen'));
2401 switch($this->object->getRegistrationType())
2404 $info->addProperty($this->lng->txt(
'group_registration_mode'),
2405 $this->lng->txt(
'grp_reg_direct_info_screen'));
2409 $info->addProperty($this->lng->txt(
'group_registration_mode'),
2410 $this->lng->txt(
'grp_reg_req_info_screen'));
2414 $info->addProperty($this->lng->txt(
'group_registration_mode'),
2415 $this->lng->txt(
'grp_reg_passwd_info_screen'));
2425 if($this->object->isRegistrationUnlimited())
2427 $info->addProperty($this->lng->txt(
'group_registration_time'),
2428 $this->lng->txt(
'grp_registration_unlimited'));
2430 elseif($this->object->getRegistrationStart()->getUnixTime() < time())
2432 $info->addProperty($this->lng->txt(
"group_registration_time"),
2433 $this->lng->txt(
'cal_until').
' '.
2436 elseif($this->object->getRegistrationStart()->getUnixTime() >= time())
2438 $info->addProperty($this->lng->txt(
"group_registration_time"),
2439 $this->lng->txt(
'cal_from').
' '.
2442 if ($this->object->isMembershipLimited())
2444 $info->addProperty($this->lng->txt(
"mem_free_places"),
2445 max(0,$this->object->getMaxMembers() - $this->
object->members_obj->getCountMembers()));
2452 include_once(
'Services/PrivacySecurity/classes/class.ilPrivacySettings.php');
2455 include_once(
'Modules/Course/classes/Export/class.ilCourseDefinedFieldDefinition.php');
2458 include_once(
'Services/PrivacySecurity/classes/class.ilExportFieldsInfo.php');
2462 $this->lng->loadLanguageModule(
'ps');
2463 $info->addSection($this->lng->txt(
'grp_user_agreement_info'));
2464 $info->addProperty($this->lng->txt(
'ps_export_data'),$field_info->exportableFieldsToInfoString());
2468 $info->addProperty($this->lng->txt(
'ps_grp_user_fields'),$fields);
2474 $this->ctrl->forwardCommand($info);
2484 $ilUser->setPref(
"grpcrs_ntf_".$this->ref_id, (
bool)
$_REQUEST[
"grp_ntf"]);
2485 $ilUser->writePrefs();
2488 $this->ctrl->redirect($this,
"infoScreen");
2498 include_once
'./Services/Membership/classes/class.ilMembershipRegistrationCodeUtils.php';
2499 if(substr($a_add,0,5) ==
'rcode')
2501 if($ilUser->getId() == ANONYMOUS_USER_ID)
2505 "login.php?target=".
$_GET[
"target"].
"&cmd=force_login&lang=".
2506 $ilUser->getCurrentLanguage()
2518 if ($a_add ==
"mem" && $ilAccess->checkAccess(
"write",
"", $a_target))
2523 if ($ilAccess->checkAccess(
"read",
"", $a_target))
2530 if ($ilAccess->checkAccess(
"visible",
"", $a_target))
2536 if ($ilAccess->checkAccess(
"read",
"", ROOT_FOLDER_ID))
2544 $ilErr->raiseError($lng->txt(
"msg_no_perm_read"), $ilErr->FATAL);
2559 if(is_object($this->form))
2564 include_once(
"./Services/Form/classes/class.ilPropertyFormGUI.php");
2570 $this->form->setFormAction($this->ctrl->getFormAction($this,
'update'));
2574 $this->form->setTableWidth(
'600px');
2575 $this->form->setFormAction($this->ctrl->getFormAction($this,
'save'));
2582 $title->setValue($this->object->getTitle());
2585 $title->setRequired(
true);
2586 $this->form->addItem($title);
2590 $desc->
setValue($this->object->getLongDescription());
2593 $this->form->addItem($desc);
2598 if($a_mode ==
'edit')
2600 $type = ($this->
object->getGroupType() ? $this->
object->getGroupType() : $this->
object->readGroupStatus());
2604 $type = ($this->
object->getGroupType() ? $this->
object->getGroupType() :
GRP_TYPE_PUBLIC);
2608 $grp_type->setRequired(
true);
2613 $grp_type->addOption($opt_public);
2618 $grp_type->addOption($opt_closed);
2619 if($a_mode ==
'update_group_type')
2621 $grp_type->setAlert($this->lng->txt(
'grp_type_changed_info'));
2623 $this->form->addItem($grp_type);
2625 if($a_mode ==
'edit')
2629 $pres->setTitle($this->lng->txt(
'grp_setting_header_registration'));
2630 $this->form->addItem($pres);
2633 $reg_type =
new ilRadioGroupInputGUI($this->lng->txt(
'group_registration_mode'),
'registration_type');
2634 $reg_type->
setValue($this->object->getRegistrationType());
2637 $reg_type->addOption($opt_dir);
2641 $pass->
setInfo($this->lng->txt(
'grp_reg_password_info'));
2642 $pass->
setValue($this->object->getPassword());
2644 $pass->setMaxLength(32);
2646 $reg_type->addOption($opt_pass);
2649 $reg_type->addOption($opt_req);
2652 $reg_type->addOption($opt_deact);
2655 $reg_code =
new ilCheckboxInputGUI($this->lng->txt(
'grp_reg_code'),
'reg_code_enabled');
2656 $reg_code->
setChecked($this->object->isRegistrationAccessCodeEnabled());
2657 $reg_code->setValue(1);
2658 $reg_code->setInfo($this->lng->txt(
'grp_reg_code_enabled_info'));
2659 $this->form->addItem($reg_type);
2662 if(!$this->object->getRegistrationAccessCode())
2664 include_once
'./Services/Membership/classes/class.ilMembershipRegistrationCodeUtils.php';
2668 $reg_link->setValue($this->object->getRegistrationAccessCode());
2669 $this->form->addItem($reg_link);
2672 include_once
'./Services/Link/classes/class.ilLink.php';
2673 $val =
ilLink::_getLink($this->object->getRefId(),$this->
object->getType(),array(),
'_rcode'.$this->object->getRegistrationAccessCode());
2674 $link->setHTML(
'<font class="small">'.$val.
'</font>');
2675 $reg_code->addSubItem($link);
2676 $this->form->addItem($reg_code);
2680 $time_limit =
new ilCheckboxInputGUI($this->lng->txt(
'grp_reg_limited'),
'reg_limit_time');
2682 $time_limit->
setChecked($this->object->isRegistrationUnlimited() ? false :
true);
2684 $this->lng->loadLanguageModule(
'dateplaner');
2685 include_once
'./Services/Form/classes/class.ilDateDurationInputGUI.php';
2686 $tpl->addJavaScript(
'./Services/Form/js/date_duration.js');
2689 $dur->setEndText($this->lng->txt(
'cal_end'));
2690 $dur->setMinuteStepSize(5);
2691 $dur->setShowDate(
true);
2692 $dur->setShowTime(
true);
2693 $dur->setStart($this->object->getRegistrationStart());
2694 $dur->setEnd($this->object->getRegistrationEnd());
2696 $time_limit->addSubItem($dur);
2697 $this->form->addItem($time_limit);
2700 $lim =
new ilCheckboxInputGUI($this->lng->txt(
'reg_grp_max_members_short'),
'registration_membership_limited');
2703 $lim->setChecked($this->object->isMembershipLimited());
2706 $max =
new ilTextInputGUI($this->lng->txt(
'reg_grp_max_members'),
'registration_max_members');
2707 $max->
setValue($this->object->getMaxMembers() ? $this->
object->getMaxMembers() :
'');
2710 $max->setMaxLength(4);
2711 $max->setInfo($this->lng->txt(
'grp_reg_max_members_info'));
2712 $lim->addSubItem($max);
2717 $wait->setInfo($this->lng->txt(
'grp_waiting_list_info'));
2718 $wait->setChecked($this->object->isWaitingListEnabled() ? true :
false);
2719 $lim->addSubItem($wait);
2720 $this->form->addItem($lim);
2725 $hasParentCourse = $tree->checkForParentType($this->object->getRefId(),
'crs');
2727 $pres->setTitle($this->lng->txt(
'grp_setting_header_presentation'));
2728 $this->form->addItem($pres);
2732 if($hasParentCourse)
2734 switch($this->object->getViewMode())
2737 $course_view_mode =
': '.$this->lng->txt(
'cntr_view_sessions');
2741 $course_view_mode =
': '.$this->lng->txt(
'cntr_view_simple');
2745 $course_view_mode =
': '.$this->lng->txt(
'cntr_view_by_type');
2750 $opt->
setInfo($this->lng->txt(
'grp_view_inherit_info'));
2751 $view_type->addOption($opt);
2754 if($hasParentCourse &&
2761 $view_type->setValue($this->object->getViewMode(
true));
2765 $opt->
setInfo($this->lng->txt(
'grp_view_info_simple'));
2766 $view_type->addOption($opt);
2769 $opt->
setInfo($this->lng->txt(
'grp_view_info_by_type'));
2770 $view_type->addOption($opt);
2771 $this->form->addItem($view_type);
2776 include_once
'./Services/Container/classes/class.ilContainerSortingSettings.php';
2778 $sog->setValue($sort->getSortMode());
2779 $sog->setRequired(
true);
2781 if($hasParentCourse)
2786 $title = $this->lng->txt(
'sort_inherit_prefix');
2787 $title .=
' ('.ilContainerSortingSettings::sortModeToString(
2789 $sde->setTitle($title);
2790 $sde->setInfo($this->lng->txt(
'sorting_info_inherit'));
2791 $sog->addOption($sde);
2796 $sma->setTitle($this->lng->txt(
'sorting_title_header'));
2797 $sma->setInfo($this->lng->txt(
'sorting_info_title'));
2798 $sog->addOption($sma);
2802 $sti->setTitle($this->lng->txt(
'sorting_manual_header'));
2803 $sti->setInfo($this->lng->txt(
'sorting_info_manual'));
2804 $sog->addOption($sti);
2806 $this->form->addItem($sog);
2810 $feat->setTitle($this->lng->txt(
'obj_features'));
2811 $this->form->addItem($feat);
2813 include_once
'./Services/Object/classes/class.ilObjectServiceSettingsGUI.php';
2815 $this->object->getId(),
2831 $mail_type->
setValue($this->object->getMailToMembersType());
2834 $this->lng->txt(
'grp_mail_tutors_only_info'));
2835 $mail_type->addOption($mail_tutors);
2838 $this->lng->txt(
'grp_mail_all_info'));
2839 $mail_type->addOption($mail_all);
2840 $this->form->addItem($mail_type);
2846 $this->form->
setTitle($this->lng->txt(
'grp_new'));
2849 $this->form->addCommandButton(
'save',$this->lng->txt(
'grp_new'));
2850 $this->form->addCommandButton(
'cancel',$this->lng->txt(
'cancel'));
2854 $this->form->setTitle($this->lng->txt(
'grp_edit'));
2858 include_once
'Modules/Group/classes/class.ilECSGroupSettings.php';
2860 $ecs->addSettingsToForm($this->form,
'grp');
2862 $this->form->addCommandButton(
'update',$this->lng->txt(
'save'));
2863 $this->form->addCommandButton(
'cancel',$this->lng->txt(
'cancel'));
2866 case 'update_group_type':
2867 $grp_type->setValue(
2873 $this->form->setTitle($this->lng->txt(
'grp_edit'));
2893 $this->
object->enableUnlimitedRegistration((
bool) !
$_POST[
'reg_limit_time']);
2894 $this->
object->setRegistrationStart($this->
loadDate(
'start'));
2895 $this->
object->setRegistrationEnd($this->
loadDate(
'end'));
2896 $this->
object->enableMembershipLimitation((
bool)
$_POST[
'registration_membership_limited']);
2897 $this->
object->setMaxMembers((
int) $_POST[
'registration_max_members']);
2898 $this->
object->enableWaitingList((
bool) $_POST[
'waiting_list']);
2899 $this->
object->enableRegistrationAccessCode((
bool) $_POST[
'reg_code_enabled']);
2902 $this->
object->setMailToMembersType((
int) $_POST[
'mail_type']);
2918 include_once(
'./Services/Calendar/classes/class.ilDateTime.php');
2920 $dt[
'year'] = (int)
$_POST[
'reg'][$a_field][
'date'][
'y'];
2921 $dt[
'mon'] = (int)
$_POST[
'reg'][$a_field][
'date'][
'm'];
2922 $dt[
'mday'] = (int)
$_POST[
'reg'][$a_field][
'date'][
'd'];
2923 $dt[
'hours'] = (int)
$_POST[
'reg'][$a_field][
'time'][
'h'];
2924 $dt[
'minutes'] = (int)
$_POST[
'reg'][$a_field][
'time'][
'm'];
2925 $dt[
'seconds'] = (int)
$_POST[
'reg'][$a_field][
'time'][
's'];
2940 global $rbacsystem,
$ilUser,$ilAccess;
2946 if($ilAccess->checkAccess(
'write',
'',$this->object->getRefId()))
2948 $this->tabs_gui->addSubTabTarget(
"grp_edit_members",
2949 $this->ctrl->getLinkTarget($this,
'members'),
2954 $this->tabs_gui->addSubTabTarget(
"grp_members_gallery",
2955 $this->ctrl->getLinkTarget($this,
'membersGallery'),
2956 "membersGallery", get_class($this));
2959 include_once(
"./Services/GoogleMaps/classes/class.ilGoogleMapUtil.php");
2961 $this->object->getEnableGroupMap())
2963 $this->tabs_gui->addSubTabTarget(
"grp_members_map",
2964 $this->ctrl->getLinkTarget($this,
'membersMap'),
2965 "membersMap", get_class($this));
2969 $ilAccess->checkAccess(
'write',
'',$this->object->getRefId()) or
2973 $this->tabs_gui->addSubTabTarget(
"mail_members",
2974 $this->ctrl->getLinkTarget($this,
'mailMembers'),
2975 "mailMembers", get_class($this));
2978 if($ilAccess->checkAccess(
'write',
'',$this->object->getRefId()))
2980 $this->tabs_gui->addSubTabTarget(
"events",
2981 $this->ctrl->getLinkTargetByClass(
'ilsessionoverviewgui',
'listSessions'),
2982 "",
'ilsessionoverviewgui');
2985 include_once
'Services/PrivacySecurity/classes/class.ilPrivacySettings.php';
2988 $this->tabs_gui->addSubTabTarget(
'grp_export_members',
2989 $this->ctrl->getLinkTargetByClass(
'ilmemberexportgui',
'show'),
2990 "",
'ilmemberexportgui');
2996 $this->tabs_gui->addSubTabTarget(
"grp_settings",
2997 $this->ctrl->getLinkTarget($this,
'edit'),
2998 "edit", get_class($this));
3000 $this->tabs_gui->addSubTabTarget(
"grp_info_settings",
3001 $this->ctrl->getLinkTarget($this,
'editInfo'),
3002 "editInfo", get_class($this));
3005 if ($this->
ilias->getSetting(
"custom_icons"))
3007 $this->tabs_gui->addSubTabTarget(
"grp_icon_settings",
3008 $this->ctrl->getLinkTarget($this,
'editGroupIcons'),
3009 "editGroupIcons", get_class($this));
3012 include_once(
"./Services/GoogleMaps/classes/class.ilGoogleMapUtil.php");
3015 $this->tabs_gui->addSubTabTarget(
"grp_map_settings",
3016 $this->ctrl->getLinkTarget($this,
'editMapSettings'),
3017 "editMapSettings", get_class($this));
3020 $this->tabs_gui->addSubTabTarget(
'groupings',
3021 $this->ctrl->getLinkTargetByClass(
'ilobjcoursegroupinggui',
'listGroupings'),
3025 include_once(
'Services/PrivacySecurity/classes/class.ilPrivacySettings.php');
3026 include_once(
'Modules/Course/classes/Export/class.ilCourseDefinedFieldDefinition.php');
3030 $this->tabs_gui->addSubTabTarget(
'grp_custom_user_fields',
3031 $this->ctrl->getLinkTargetByClass(
'ilobjectcustomuserfieldsgui'),
3033 'ilobjectcustomuserfieldsgui');
3054 if($ilAccess->checkAccess(
'write',
'',$this->object->getRefId()))
3060 if(!$this->object->members_obj->isAssigned($ilUser->getId()))
3065 include_once
'./Services/Container/classes/class.ilMemberViewSettings.php';
3071 include_once(
'Services/PrivacySecurity/classes/class.ilPrivacySettings.php');
3072 include_once(
'Services/Membership/classes/class.ilMemberAgreement.php');
3082 include_once(
'Modules/Course/classes/Export/class.ilCourseUserData.php');
3110 parent::prepareOutput();
3119 $link = chr(13).chr(10).chr(13).chr(10);
3120 $link .= $this->lng->txt(
'grp_mail_permanent_link');
3121 $link .= chr(13).chr(10).chr(13).chr(10);
3122 include_once
'Services/Link/classes/class.ilLink.php';
3124 return rawurlencode(base64_encode($link));
3131 $lg = parent::initHeaderAction($a_sub_type, $a_sub_id);
3133 include_once(
'./Modules/Group/classes/class.ilGroupParticipants.php');
3134 if($ilSetting->get(
"crsgrp_ntf") &&
3137 if(!$ilUser->getPref(
"grpcrs_ntf_".$this->ref_id))
3139 $lg->addHeaderIcon(
"not_icon",
3141 $this->lng->txt(
"grp_notification_deactivated"));
3143 $this->ctrl->setParameter($this,
"grp_ntf", 1);
3144 $caption =
"grp_activate_notification";
3148 $lg->addHeaderIcon(
"not_icon",
3150 $this->lng->txt(
"grp_notification_activated"));
3152 $this->ctrl->setParameter($this,
"grp_ntf", 0);
3153 $caption =
"grp_deactivate_notification";
3156 $lg->addCustomCommand($this->ctrl->getLinkTarget($this,
"saveNotification"),
3160 $this->ctrl->setParameter($this,
"grp_ntf",
"");
3172 $ilTabs->clearTargets();
3173 $ilTabs->setBackTarget($this->lng->txt(
'back'),
3174 $this->ctrl->getLinkTarget($this,
'members'));
3177 $form = $list->initForm(
'printMembersOutput');
3178 $this->tpl->setContent($form->getHTML());
3188 include_once(
'./Modules/Group/classes/class.ilGroupParticipants.php');
3191 include_once(
'./Modules/Group/classes/class.ilGroupWaitingList.php');
3194 include_once
'Services/Membership/classes/class.ilAttendanceList.php';
3196 $list->setId(
'grpmemlst');
3198 $list->setTitle($this->lng->txt(
'grp_members_print_title'),
3199 $this->lng->txt(
'obj_grp').
': '.$this->
object->getTitle());
3201 include_once
'./Services/Tracking/classes/class.ilObjUserTracking.php';
3204 if($this->show_tracking)
3206 include_once(
'./Services/Object/classes/class.ilObjectLP.php');
3208 $this->show_tracking = $olp->isActive();
3210 if($this->show_tracking)
3212 $this->lng->loadLanguageModule(
'trac');
3213 $list->addPreset(
'progress', $this->lng->txt(
'learning_progress'),
true);
3216 include_once(
'./Services/PrivacySecurity/classes/class.ilPrivacySettings.php');
3218 if($privacy->enabledGroupAccessTimes())
3220 $list->addPreset(
'access', $this->lng->txt(
'last_access'),
true);
3228 $data = $this->members_data[$a_user_id];
3230 $data[
'progress'] = $this->lng->txt(
$data[
'progress']);
3238 $list->initFromForm();
3239 $list->setCallback(array($this,
'getAttendanceListUserData'));
3242 $this->members_data = $this->
readMemberData($part->getParticipants());
3243 $list->getNonMemberUserData($this->members_data);
3245 echo $list->getFullscreenHTML();
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.
static sendSuccess($a_info="", $a_keep=false)
Send Success Message to Screen.
setSubmitFormOnEnter($a_val)
Set submit form on enter.
static _lookupName($a_user_id)
lookup user name
exportMembersObject()
Exports group members to Microsoft Excel file.
This class represents an option in a radio group.
setTitle($a_title)
Set Title.
renderObject()
Render group.
assignMemberObject()
displays confirmation formular with users that shall be assigned to group public ...
const TYPE_NOTIFICATION_UNSUBSCRIBE
static _isParticipant($a_ref_id, $a_usr_id)
Static function to check if a user is a participant of the container object.
infoScreenObject()
set sub tabs
const CALENDAR_VISIBILITY
setSortMode($a_mode)
set sort mode
printMembersOutputObject()
static _fieldsToInfoString($a_obj_id)
Fields to info string.
editInfoObject()
edit info
refuseFromListObject()
refuse from waiting list
const GRP_REGISTRATION_DEACTIVATED
const TYPE_ACCEPTED_SUBSCRIPTION_MEMBER
removeFromList($a_usr_id)
remove usr from list
const TYPE_STATUS_CHANGED
GUI class for the workflow of copying objects.
static getDefaultSettings()
Get default longitude, latitude and zoom.
const TITLE_LENGTH
max length of object title
static getStyleSheetLocation($mode="output", $a_css_name="", $a_css_location="")
get full style sheet file name (path inclusive) of current user
initInfoEditor()
init info editor
const TYPE_DISMISS_MEMBER
const LP_STATUS_NOT_ATTEMPTED
static isActivated()
Checks whether Google Map feature is activated.
editGroupIconsObject($a_form=null)
edit container icons
unsubscribeObject()
unsubscribe from group
_getTranslation($a_role_title)
updateInfoObject()
update info
membersGalleryObject()
Builds a group members gallery as a layer of left-floating images.
setValue($a_value)
Set Value.
static _gotoRepositoryRoot($a_raise_error=false)
Goto repository root.
static _lookupFailedForObject($a_obj_id, $a_user_ids=null)
Get failed users for object.
static _lookupTitle($a_id)
lookup object title
editMapSettingsObject()
Edit Map Settings.
createObject()
create new object form
__construct($a_data, $a_id, $a_call_by_reference, $a_prepare_output=false)
Constructor public.
static handleCode($a_ref_id, $a_type, $a_code)
Handle target parameter.
static getMemberRoles($a_ref_id)
Get member roles (not auto generated)
_goto($a_target, $a_add="")
goto target group
const GRP_REGISTRATION_PASSWORD
setInfo($a_info)
Set Info.
initForm($a_mode='edit')
init create/edit form
static sortArray($array, $a_array_sortby, $a_array_sortorder=0, $a_numeric=false, $a_keep_keys=false)
sortArray
updateGroupTypeObject()
change group type
const GRP_REGISTRATION_REQUEST
static _hasAccepted($a_usr_id, $a_obj_id)
Check if user has accepted agreement.
setSubTabs($a_tab)
set sub tabs
const LP_STATUS_IN_PROGRESS
Base class for attendance lists.
addHeaderCommand($a_href, $a_text, $a_target="", $a_img="")
Add Header Command (Link) (Image needed for now)
Class ilExcelWriterAdapter.
prepareOutput()
Handle member view.
static sendInfo($a_info="", $a_keep=false)
Send Info Message to Screen.
infoScreen()
show information screen
Export User Interface Class.
static checkAccess($a_ref_id, $a_allow_only_read=true)
check access to learning progress
static _enabledUserRelatedData()
check wether user related tracking is enabled or not
loadDate($a_field)
load date
GUI class for public user profile presentation.
static _enabledLearningProgress()
check wether learing progress is enabled or not
sendMailToSelectedUsersObject()
show send mail
setValue($a_value)
Set Value.
static _lookupProgressByObjId($a_obj_id)
lookup progress for a specific object
addSubItem($a_item)
Add Subitem.
const MAIL_ALLOWED_TUTORS
showCustomIconsEditing($a_input_colspan=1, ilPropertyFormGUI $a_form=null, $a_as_section=true)
show edit section of custom icons for container
static _getInstanceByType($a_type)
Get Singleton Instance.
static _gotoRepositoryNode($a_ref_id, $a_cmd="frameset")
Goto repository root.
static getImagePath($img, $module_path="", $mode="output", $offline=false)
get image path (for images located in a template directory)
Class ilECSGroupSettings.
Class Mail this class handles base functions for mail handling.
static _lookupObjId($a_id)
static makeClickable($a_text, $detectGotoLinks=false)
makeClickable In Texten enthaltene URLs und Mail-Adressen klickbar machen
initCreateForm($a_new_type)
User interface class for google maps.
getAttendanceListUserData($a_user_id)
This class represents a text property in a property form.
static formatDate(ilDateTime $date)
Format a date public.
static lookupSortModeFromParentContainer($a_obj_id)
Lookup sort mode from parent container.
GUI class for course/group subscriptions.
forwardToStyleSheet()
Forward to style object.
& forwardToPageObject()
forward command to page object
redirection script todo: (a better solution should control the processing via a xml file) ...
_lookupLogin($a_user_id)
lookup login
const TYPE_UNSUBSCRIBE_MEMBER
updateStatusObject()
update status
getInstanceByObjId($a_obj_id, $stop_on_error=true)
get an instance of an Ilias object by object id
static stripSlashes($a_str, $a_strip_html=true, $a_allow="")
strip slashes if magic qoutes is enabled
static sendQuestion($a_info="", $a_keep=false)
Send Question to Screen.
static getAvailablePortfolioLinksForUserIds(array $a_owner_ids, $a_back_url=null)
GUI class for group registrations.
static updateServiceSettingsForm($a_obj_id, ilPropertyFormGUI $form, $services)
Update service settings.
static _checkRequired($a_usr_id, $a_obj_id)
Check required fields.
static _isOnList($a_usr_id, $a_obj_id)
Check if a user on the waiting list.
deleteMembersObject()
delete members
static _getInstanceByObjId($a_obj_id)
Get singleton instance.
static _lookupType($a_id, $a_reference=false)
lookup object type
const TYPE_REFUSED_SUBSCRIPTION_MEMBER
confirmDeleteMembersObject()
delete selected members
refuseApplicantsObject()
adds applicant to group as member public
const AUTO_RATING_NEW_OBJECTS
Class ilObjCourseGroupingGUI.
static _hasFields($a_container_id)
Check if there are any define fields.
static sendFailure($a_info="", $a_keep=false)
Send Failure Message to Screen.
static checkForumsExistsDelete($ref_id, $user_id=0)
modifyItemGUI($a_item_list_gui, $a_item_data, $a_show_path)
Modify Item ListGUI for presentation in container.
static _lookupInProgressForObject($a_obj_id, $a_user_ids=null)
Get in progress users for object.
createMailSignature()
Create a course mail signature.
updateObject()
update GroupObject
_tracProgress($a_user_id, $a_obj_id, $a_ref_id, $a_obj_type='')
initAttendanceList()
Init attendance list object.
assignSubscribersObject()
assign subscribers
static _addDesktopItem($a_usr_id, $a_item_id, $a_type, $a_par="")
add an item to user's personal desktop
checkAgreement()
Check agreement and redirect if it is not accepted.
static generateCode()
Generate new registration key.
refuseSubscribersObject()
refuse subscribers
mailMembersObject()
Form for mail to group members.
initHeaderAction($a_sub_type=null, $a_sub_id=null)
static fillAutoCompleteToolbar($parent_object, ilToolbarGUI $toolbar=null, $a_options=array())
fill toolbar with
editMembersObject()
edit member(s)
membersMapObject()
Members map.
getContentStylePath($a_style_id)
get content style path
static getInstance()
Get instance.
exportObject()
Creates the output form for group member export.
const LP_CONTEXT_REPOSITORY
This class represents a text area property in a property form.
readMemberData($ids, $role='admin', $selected_columns=null)
ilContainerGUI($a_data, $a_id, $a_call_by_reference=true, $a_prepare_output=true)
Constructor public.
Class ilCourseContentGUI.
static initServiceSettingsForm($a_obj_id, ilPropertyFormGUI $form, $services)
Init service settings form.
GUI class for course/group waiting list.
getCreationMode()
get creation mode
static _getIdsForTitle($title, $type='', $partialmatch=false)
updateMembersObject()
update members
putObjectInTree(ilObject $a_obj, $a_parent_node_id=null)
Add object to tree at given position.
checkPermission($a_perm, $a_cmd="", $a_type="", $a_ref_id=null)
Check permission and redirect on error.
New PermissionGUI (extends from old ilPermission2GUI) RBAC related output.
updateGroupIconsObject()
update group icons
if($_REQUEST['ilias_path']) define('ILIAS_HTTP_PATH' $_REQUEST['ilias_path']
static _getInstance()
Get instance of ilPrivacySettings.
assignFromWaitingListObject()
add from waiting list
const TYPE_ADMISSION_MEMBER
GUI class for service settings (calendar, notes, comments)
setShowHidePrefs()
set preferences (show/hide tabel content)
static _lookupCompletedForObject($a_obj_id, $a_user_ids=null)
Get completed users for object.
static checkForumsExistsInsert($ref_id, $user_id=0)
setValue($a_value)
Set Value.
_catchupWriteEvents($obj_id, $usr_id, $timestamp=null)
Catches up with all write events which occured before the specified timestamp.
static redirect($a_script)
http redirect to other script
const LP_STATUS_COMPLETED
getFormAction($a_cmd, $a_formaction="")
get form action for command (command is method name without "Object", e.g.
const GRP_REGISTRATION_DIRECT
editMemberObject()
edit one member
static getInstance($a_obj_id)
canceledObject()
canceledObject is called when operation is canceled, method links back public
addHeaderAction()
Add header action menu.
leaveObject()
leave Group public
_importFromFile($file, $parent_id)
Static used for importing an group from xml zip file.
Class ilObjUserTrackingGUI.
addUserObject($user_ids, $a_type)
displays confirmation formular with users that shall be assigned to group public ...
static _getLink($a_ref_id, $a_type='', $a_params=array(), $append="")
_recordWriteEvent($obj_id, $usr_id, $action, $parent_obj_id=null)
Records a write event.
static getInstanceFromAjaxCall()
(Re-)Build instance from ajax call
static formCheckbox($checked, $varname, $value, $disabled=false)
??? public
membersObject()
edit members
showRepTree($a_initial_call=false)
Show tree.
Confirmation screen class.
cleanString($str)
Clean output string from german umlauts.
static _getFields($a_container_id, $a_sort=IL_CDF_SORT_NAME)
Get all fields of a container.
saveNotificationObject()
:TEMP: Save notification setting (from infoscreen)