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 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(),
106 $_GET[
'user_id'] ?
$_GET[
'user_id'] : $ilUser->getId());
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';
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())
633 if ($ilSetting->get(
"custom_icons"))
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"));
691 $public->setChecked($this->object->getEnableGroupMap());
692 $form->addItem($public);
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'),
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);
1197 $this->lng->txt(
'show'));
1198 $this->ctrl->clearParameters($this);
1203 $this->ctrl->setParameter($this,
'member_hide',1);
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(
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)
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');
1460 foreach($this->
readMemberData(array_merge((array) $_POST[
'admins'],(array) $_POST[
'members'], (array) $_POST[
'roles'])) as $participants)
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'],
1524 (array) $_POST[
'roles'],
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]))
1660 $_POST[
'members'] = $_POST[
'participants'];
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);
2448 $ilUser->setPref(
"grpcrs_ntf_".$this->ref_id, (
bool)
$_REQUEST[
"grp_ntf"]);
2449 $ilUser->writePrefs();
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=".
2470 $ilUser->getCurrentLanguage()
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))
2508 $ilErr->raiseError($lng->txt(
"msg_no_perm_read"), $ilErr->FATAL);
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'));
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);
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);
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');
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');
3054 if($ilSetting->get(
"crsgrp_ntf") &&
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';
3205 $mail =
new ilMail($ilUser->getId());
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());
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
confirmRefuseSubscribersObject()
const CALENDAR_VISIBILITY
setSortMode($a_mode)
set sort mode
printMembersOutputObject()
static _fieldsToInfoString($a_obj_id)
Fields to info string.
editInfoObject()
edit info
saveSortingSettings(ilPropertyFormGUI $form)
Save sorting settings.
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.
getLocalRoles()
returns all local roles [role_id] => title
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
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 _tracProgress($a_user_id, $a_obj_id, $a_ref_id, $a_obj_type='')
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)
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
static lookupRegistrationInfo($a_obj_id)
Lookup registration info ilDB $ilDB ilObjUser $ilUser ilLanguage $lng.
sendMailToSelectedUsersObject()
show send mail
static getMapGUI()
Get an instance of the GUI class.
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
static getDefaultSettings()
Get default longitude, latitude and zoom.
initCreateForm($a_new_type)
getAttendanceListUserData($a_user_id)
This class represents a text property in a property form.
static formatDate(ilDateTime $date)
Format a date public.
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.
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
static isActivated()
Checks whether Map feature is activated.
initAttendanceList()
Init attendance list object.
addMailToMemberButton($ilToolbar, $back_cmd=null, $a_separator=false)
add Mail to Member button to toolbar
assignSubscribersObject()
assign subscribers
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
initSortingForm(ilPropertyFormGUI $form, array $a_sorting_settings)
Append sorting settings to property form.
editMembersObject()
edit member(s)
membersMapObject()
Members map.
static _goto($a_target, $a_add="")
goto target group
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.
confirmAssignSubscribersObject()
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
confirmRefuseFromListObject()
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.
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
checkPermissionBool($a_perm, $a_cmd="", $a_type="", $a_ref_id=null)
Check permission.
_importFromFile($file, $parent_id)
Static used for importing an group from xml zip file.
confirmAssignFromWaitingListObject()
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)