5 include_once
"./Services/Container/classes/class.ilContainerGUI.php";
6 include_once(
'./Modules/Group/classes/class.ilObjGroup.php');
32 public function __construct($a_data,$a_id,$a_call_by_reference,$a_prepare_output =
false)
35 $this->
ilContainerGUI($a_data,$a_id,$a_call_by_reference,$a_prepare_output);
37 $this->lng->loadLanguageModule(
'grp');
44 $next_class = $this->ctrl->getNextClass($this);
45 $cmd = $this->ctrl->getCmd();
53 $ilAccess->checkAccess(
"read",
"",
$_GET[
"ref_id"]))
55 include_once(
"./Services/Link/classes/class.ilLink.php");
56 $ilNavigationHistory->addItem(
$_GET[
"ref_id"],
62 case 'ilgroupregistrationgui':
63 $this->ctrl->setReturn($this,
'');
64 $this->tabs_gui->setTabActive(
'join');
65 include_once(
'./Modules/Group/classes/class.ilGroupRegistrationGUI.php');
67 $this->ctrl->forwardCommand($registration);
70 case 'ilusersgallerygui':
72 if(!$ilAccess->checkAccess(
'write',
'', $this->ref_id) && !$is_participant)
74 $ilErr->raiseError($this->lng->txt(
'msg_no_perm_read'), $ilErr->MESSAGE);
79 require_once
'Services/User/classes/class.ilUsersGalleryParticipants.php';
80 require_once
'Services/User/classes/class.ilUsersGalleryGUI.php';
82 $this->tabs_gui->setTabActive(
'members');
83 $this->tabs_gui->setSubTabActive(
'grp_members_gallery');
87 $this->ctrl->forwardCommand($gallery_gui);
90 case 'ilpermissiongui':
91 $this->tabs_gui->setTabActive(
'perm_settings');
92 include_once(
"Services/AccessControl/classes/class.ilPermissionGUI.php");
94 $ret =& $this->ctrl->forwardCommand($perm_gui);
97 case 'ilrepositorysearchgui':
103 include_once(
'./Services/Search/classes/class.ilRepositorySearchGUI.php');
105 $rep_search->setCallback($this,
111 $this->tabs_gui->setTabActive(
'members');
112 $this->ctrl->setReturn($this,
'members');
113 $ret =& $this->ctrl->forwardCommand($rep_search);
115 $this->tabs_gui->setSubTabActive(
'members');
118 case "ilinfoscreengui":
122 case "illearningprogressgui":
123 include_once
'./Services/Tracking/classes/class.ilLearningProgressGUI.php';
126 $this->object->getRefId(),
127 $_GET[
'user_id'] ?
$_GET[
'user_id'] : $ilUser->getId());
128 $this->ctrl->forwardCommand($new_gui);
129 $this->tabs_gui->setTabActive(
'learning_progress');
132 case 'ilobjcoursegroupinggui':
135 include_once
'./Modules/Course/classes/class.ilObjCourseGroupingGUI.php';
136 $this->ctrl->setReturn($this,
'edit');
138 $this->ctrl->forwardCommand($crs_grp_gui);
140 $this->tabs_gui->setTabActive(
'settings');
141 $this->tabs_gui->setSubTabActive(
'groupings');
144 case 'ilcoursecontentgui':
146 include_once
'./Modules/Course/classes/class.ilCourseContentGUI.php';
148 $this->ctrl->forwardCommand($course_content_obj);
151 case 'ilpublicuserprofilegui':
152 require_once
'./Services/User/classes/class.ilPublicUserProfileGUI.php';
154 $this->tabs_gui->setTabActive(
'group_members');
155 $this->tabs_gui->setSubTabActive(
'grp_members_gallery');
157 $profile_gui->setBackUrl($this->ctrl->getLinkTargetByClass(
"ilUsersGalleryGUI",
'view'));
158 $html = $this->ctrl->forwardCommand($profile_gui);
159 $this->tpl->setVariable(
"ADM_CONTENT",
$html);
163 $this->tabs_gui->setTabActive(
'none');
165 include_once(
"./Services/Style/classes/class.ilObjStyleSheet.php");
166 $this->tpl->setVariable(
"LOCATION_CONTENT_STYLESHEET",
172 case "ilcontainerpagegui":
176 $this->tpl->setContent(
$ret);
180 case 'ilobjectcopygui':
181 include_once
'./Services/Object/classes/class.ilObjectCopyGUI.php';
184 $this->ctrl->forwardCommand($cp);
187 case "ilobjstylesheetgui":
191 case 'ilobjectcustomuserfieldsgui':
194 $this->ctrl->setReturn($this,
'members');
196 include_once
'./Services/Membership/classes/class.ilObjectCustomUserFieldsGUI.php';
199 $this->tabs_gui->setTabActive(
'settings');
200 $this->ctrl->forwardCommand($cdf_gui);
203 case 'ilmemberagreementgui':
204 include_once(
'Services/Membership/classes/class.ilMemberAgreementGUI.php');
205 $this->ctrl->setReturn($this,
'');
206 $this->tabs_gui->setTabActive(
'view_content');
208 $this->ctrl->forwardCommand($agreement);
212 $this->tabs_gui->setTabActive(
'export');
213 include_once
'./Services/Export/classes/class.ilExportGUI.php';
215 $exp->addFormat(
'xml');
216 $this->ctrl->forwardCommand($exp);
219 case 'ilmemberexportgui':
220 include_once(
'./Services/Membership/classes/Export/class.ilMemberExportGUI.php');
223 $this->tabs_gui->setTabActive(
'members');
224 $this->tabs_gui->setSubTabActive(
'grp_export_members');
226 $this->ctrl->forwardCommand($export);
229 case "ilcommonactiondispatchergui":
230 include_once(
"Services/Object/classes/class.ilCommonActionDispatcherGUI.php");
232 $this->ctrl->forwardCommand($gui);
235 case 'ilobjectservicesettingsgui':
236 $this->ctrl->setReturn($this,
'edit');
238 $this->tabs_gui->activateTab(
'settings');
239 $this->tabs_gui->activateSubTab(
'tool_settings');
241 include_once
'./Services/Object/classes/class.ilObjectServiceSettingsGUI.php';
244 $this->object->getId(),
248 $this->ctrl->forwardCommand($service);
251 case 'ilsessionoverviewgui':
253 $this->tabs_gui->setTabActive(
'members');
254 $this->tabs_gui->setSubTabActive(
'events');
256 include_once
'./Modules/Group/classes/class.ilGroupParticipants.php';
259 include_once(
'./Modules/Session/classes/class.ilSessionOverviewGUI.php');
261 $this->ctrl->forwardCommand($overview);
263 case 'ilmailmembersearchgui':
264 include_once
'Services/Mail/classes/class.ilMail.php';
265 $mail =
new ilMail($ilUser->getId());
267 if(!($ilAccess->checkAccess(
'write',
'',$this->object->getRefId()) ||
269 $rbacsystem->checkAccess(
'internal_mail',$mail->getMailObjectReferenceId()))
271 $ilErr->raiseError($this->lng->txt(
"msg_no_perm_read"),$ilErr->MESSAGE);
274 $this->tabs_gui->setTabActive(
'members');
276 include_once
'./Services/Contact/classes/class.ilMailMemberSearchGUI.php';
277 include_once
'./Services/Contact/classes/class.ilMailMemberGroupRoles.php';
281 $this->ctrl->forwardCommand($mail_search);
287 !$ilAccess->checkAccess(
'visible',
'',$this->object->getRefId(),
'grp') and
288 !$ilAccess->checkAccess(
'read',
'',$this->object->getRefId(),
'grp') )
290 $ilErr->raiseError($this->lng->txt(
"msg_no_perm_read"),$ilErr->MESSAGE);
294 if(
$cmd ==
'infoScreenGoto')
296 if($this->object->isRegistrationEnabled())
308 && !$rbacsystem->checkAccess(
'read',$this->object->getRefId()) &&
$cmd !=
'infoScreen')
312 if (!$rbacsystem->checkAccess(
'join',$this->object->getRefId()))
314 $this->ctrl->redirect($this,
"infoScreen");
318 include_once(
'./Modules/Group/classes/class.ilGroupRegistrationGUI.php');
319 $this->ctrl->redirectByClass(
"ilGroupRegistrationGUI",
"show");
338 include_once
'Services/Tracking/classes/class.ilLearningProgress.php';
340 $this->
object->getRefId(),
'grp');
342 if (strtolower(
$_GET[
"baseClass"]) ==
"iladministrationgui")
344 parent::viewObject();
350 include_once(
'Services/Membership/classes/class.ilMemberAgreementGUI.php');
351 $this->tabs_gui->setTabActive(
'view_content');
352 $this->ctrl->setReturn($this,
'view');
354 $this->ctrl->setCmdClass(get_class($agreement));
355 $this->ctrl->forwardCommand($agreement);
359 $this->tabs_gui->setTabActive(
'view_content');
370 $ilTabs->activateTab(
"view_content");
371 $ret = parent::renderObject();
384 if ($course_ref_id = $tree->checkForParentType($this->object->getRefId(),
'crs'))
386 include_once(
"./Modules/Course/classes/class.ilObjCourse.php");
387 include_once(
"./Modules/Course/classes/class.ilObjCourseGUI.php");
391 $this->object->getRefId());
397 if(!is_object($this->
object))
437 $ilErr->setMessage(
'');
439 if(!$this->object->validate())
441 $err = $this->lng->txt(
'err_check_input');
443 $err = $ilErr->getMessage();
449 $this->
object->create();
451 $this->
object->initGroupStatus($this->object->getGroupType());
456 $GLOBALS[
'tree']->checkForParentType($this->object->getRefId(),
'crs',
true) ||
457 $GLOBALS[
'tree']->checkForParentType($this->object->getRefId(),
'grp',
true)
463 include_once
'./Services/Container/classes/class.ilContainerSortingSettings.php';
470 include_once(
'./Modules/Group/classes/class.ilGroupParticipants.php');
473 $members_obj->updateNotification($ilUser->getId(),$ilSetting->get(
'mail_grp_admin_notification',
true));
477 $this->ctrl->setParameter($this,
'ref_id',$this->object->getRefId());
478 $this->ctrl->redirect($this,
"edit");
493 $this->tabs_gui->setTabActive(
'settings');
494 $this->tabs_gui->setSubTabActive(
'grp_settings');
501 $this->tpl->setVariable(
'ADM_CONTENT', $a_form->getHTML());
513 $type = $this->
object->getGroupType() ?
514 $this->
object->getGroupType() :
515 $this->
object->readGroupStatus();
525 $this->
object->updateGroupType();
526 $this->
object->update();
528 $this->ctrl->redirect($this,
'edit');
547 $old_type = $this->
object->getGroupType();
548 $old_autofill = $this->
object->hasWaitingListAutoFill();
551 $ilErr->setMessage(
'');
553 if(!$this->object->validate())
564 $form->setValuesByPost();
570 if($this->object->isGroupTypeModified($old_type))
573 $this->
object->setGroupType($old_type);
576 $this->
object->update();
579 include_once
'./Services/Object/classes/class.ilObjectServiceSettingsGUI.php';
581 $this->object->getId(),
596 $this->object->hasWaitingListAutoFill())
598 $this->
object->handleAutoFill();
602 require_once(
'Services/Tracking/classes/class.ilChangeEvent.php');
609 include_once
'Modules/Group/classes/class.ilECSGroupSettings.php';
611 $ecs->handleSettingsUpdate();
615 include_once
'./Services/Utilities/classes/class.ilConfirmationGUI.php';
618 $confirm->setFormAction($this->ctrl->getFormAction($this));
621 $this->object->getGroupType(),
622 $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'))
624 $confirm->addButton($this->lng->txt(
'grp_change_type'),
'updateGroupType');
625 $confirm->setCancel($this->lng->txt(
'cancel'),
'edit');
627 $this->tpl->setContent($confirm->getHTML());
633 $this->ctrl->redirect($this,
'edit');
648 $this->tabs_gui->setTabActive(
'settings');
649 $this->tabs_gui->setSubTabActive(
'grp_icon_settings');
656 $tpl->setContent($a_form->getHTML());
661 include_once
"Services/Form/classes/class.ilPropertyFormGUI.php";
663 $form->setFormAction($this->ctrl->getFormAction($this));
668 $form->addCommandButton(
'updateGroupIcons', $this->lng->txt(
'save'));
686 if($form->checkInput())
689 if ($ilSetting->get(
"custom_icons"))
691 if(
$_POST[
"cont_icon_delete"])
693 $this->
object->removeCustomIcon();
695 $this->
object->saveIcons($_FILES[
"cont_icon"][
'tmp_name']);
698 $this->ctrl->redirect($this,
"editGroupIcons");
701 $form->setValuesByPost();
713 $this->tabs_gui->setTabActive(
'settings');
714 $this->tabs_gui->setSubTabActive(
'grp_map_settings');
716 include_once(
'./Services/Maps/classes/class.ilMapUtil.php');
718 !$ilAccess->checkAccess(
"write",
"", $this->object->getRefId()))
723 $latitude = $this->
object->getLatitude();
724 $longitude = $this->
object->getLongitude();
725 $zoom = $this->
object->getLocationZoom();
728 if ($latitude == 0 && $longitude == 0 && $zoom == 0)
731 $latitude = $def[
"latitude"];
732 $longitude = $def[
"longitude"];
733 $zoom = $def[
"zoom"];
737 include_once(
"./Services/Form/classes/class.ilPropertyFormGUI.php");
739 $form->setFormAction($ilCtrl->getFormAction($this));
741 $form->setTitle($this->lng->txt(
"grp_map_settings"));
747 $public->setChecked($this->object->getEnableGroupMap());
748 $form->addItem($public);
754 $loc_prop->setLongitude($longitude);
755 $loc_prop->setZoom($zoom);
756 $form->addItem($loc_prop);
758 $form->addCommandButton(
"saveMapSettings", $this->lng->txt(
"save"));
760 $this->tpl->setVariable(
"ADM_CONTENT", $form->getHTML());
771 $this->
object->update();
773 $ilCtrl->redirect($this,
"editMapSettings");
784 $this->tabs_gui->setTabActive(
'members');
786 include_once(
"./Services/Maps/classes/class.ilMapUtil.php");
793 $map->setMapId(
"group_map")
796 ->setLatitude($this->object->getLatitude())
797 ->setLongitude($this->object->getLongitude())
798 ->setZoom($this->object->getLocationZoom())
799 ->setEnableTypeControl(
true)
800 ->setEnableNavigationControl(
true)
801 ->setEnableCentralMarker(
true);
804 $member_ids = $this->
object->getGroupMemberIds();
805 $admin_ids = $this->
object->getGroupAdminIds();
808 $members = $this->
object->getGroupMemberData($member_ids);
809 foreach($member_ids as $user_id)
811 $map->addUserMarker($user_id);
813 $tpl->setContent($map->getHTML());
814 $tpl->setLeftContent($map->getUserListHTML());
831 $this->tabs_gui->setTabActive(
'settings');
832 $this->tabs_gui->setSubTabActive(
'grp_info_settings');
835 $this->tpl->setContent($form->getHTML());
846 include_once(
"./Services/Form/classes/class.ilPropertyFormGUI.php");
848 $form->setFormAction($this->ctrl->getFormAction($this,
'updateInfo'));
849 $form->setTitle($this->lng->txt(
'grp_general_informations'));
850 $form->addCommandButton(
'updateInfo',$this->lng->txt(
'save'));
851 $form->addCommandButton(
'cancel',$this->lng->txt(
'cancel'));
854 $area->
setInfo($this->lng->txt(
'grp_information_info'));
855 $area->setValue($this->object->getInformation());
858 $form->addItem($area);
874 $this->
object->update();
884 include_once(
'./Services/PrivacySecurity/classes/class.ilPrivacySettings.php');
887 if($this->show_tracking)
889 include_once
'Services/Tracking/classes/class.ilLPStatusWrapper.php';
895 if($privacy->enabledGroupAccessTimes())
897 include_once(
'./Services/Tracking/classes/class.ilLearningProgress.php');
901 $do_prtf = (is_array($selected_columns) &&
902 in_array(
'prtf', $selected_columns) &&
906 include_once
"Modules/Portfolio/classes/class.ilObjPortfolio.php";
908 $this->ctrl->getLinkTarget($this,
"members"));
911 foreach($ids as $usr_id)
914 $tmp_data[
'firstname'] = $name[
'firstname'];
915 $tmp_data[
'lastname'] = $name[
'lastname'];
917 $tmp_data[
'notification'] = $this->
object->members_obj->isNotificationEnabled($usr_id) ? 1 : 0;
918 $tmp_data[
'usr_id'] = $usr_id;
921 if($this->show_tracking)
923 if(in_array($usr_id,$completed))
927 elseif(in_array($usr_id,$in_progress))
931 elseif(in_array($usr_id,
$failed))
941 if($privacy->enabledGroupAccessTimes())
943 if(isset($progress[$usr_id][
'ts']) and $progress[$usr_id][
'ts'])
947 $tmp_data[
'access_time_unix'] = $tmp_date->get(
IL_CAL_UNIX);
951 $tmp_data[
'access_time'] = $this->lng->txt(
'no_date');
952 $tmp_data[
'access_time_unix'] = 0;
958 $tmp_data[
'prtf'] = $all_prtf[$usr_id];
961 $members[$usr_id] = $tmp_data;
963 return $members ? $members : array();
976 include_once(
'./Modules/Group/classes/class.ilGroupParticipants.php');
977 include_once(
'./Modules/Group/classes/class.ilGroupParticipantsTableGUI.php');
981 include_once
'./Services/Tracking/classes/class.ilObjUserTracking.php';
984 if($this->show_tracking)
986 include_once(
'./Services/Object/classes/class.ilObjectLP.php');
988 $this->show_tracking = $olp->isActive();
994 $this->tabs_gui->setTabActive(
'members');
995 $this->tabs_gui->setSubTabActive(
'grp_edit_members');
997 $this->tpl->addBlockfile(
'ADM_CONTENT',
'adm_content',
'tpl.grp_edit_members.html',
'Modules/Group');
998 $this->tpl->setVariable(
'FORMACTION',$this->ctrl->getFormAction($this));
1001 include_once
'./Services/Search/classes/class.ilRepositorySearchGUI.php';
1006 'auto_complete_name' => $lng->txt(
'user'),
1008 'submit_name' => $lng->txt(
'add')
1013 $ilToolbar->addSeparator();
1016 $ilToolbar->addButton($this->lng->txt(
"grp_search_users"),
1017 $this->ctrl->getLinkTargetByClass(
'ilRepositorySearchGUI',
'start'));
1019 $ilToolbar->addSeparator();
1022 $ilToolbar->addButton($this->lng->txt(
"grp_print_list"),
1023 $this->ctrl->getLinkTarget($this,
'printMembers'));
1031 include_once(
'./Modules/Group/classes/class.ilGroupWaitingList.php');
1033 if(count($wait = $waiting_list->getAllUsers()))
1035 include_once(
'./Services/Membership/classes/class.ilWaitingListTableGUI.php');
1036 if($ilUser->getPref(
'grp_wait_hide'))
1039 $this->ctrl->setParameter($this,
'wait_hide',0);
1040 $table_gui->addHeaderCommand($this->ctrl->getLinkTarget($this,
'members'),
1041 $this->lng->txt(
'show'));
1042 $this->ctrl->clearParameters($this);
1047 $this->ctrl->setParameter($this,
'wait_hide',1);
1048 $table_gui->addHeaderCommand($this->ctrl->getLinkTarget($this,
'members'),
1049 $this->lng->txt(
'hide'));
1050 $this->ctrl->clearParameters($this);
1052 $table_gui->setUsers($wait);
1053 $table_gui->setTitle($this->lng->txt(
'grp_header_waiting_list'),
'icon_usr.svg',$this->lng->txt(
'group_new_registrations'));
1054 $this->tpl->setVariable(
'TABLE_SUB',$table_gui->getHTML());
1059 if($part->getSubscribers())
1061 include_once(
'./Services/Membership/classes/class.ilSubscriberTableGUI.php');
1062 if($ilUser->getPref(
'grp_subscriber_hide'))
1065 $this->ctrl->setParameter($this,
'subscriber_hide',0);
1066 $table_gui->addHeaderCommand($this->ctrl->getLinkTarget($this,
'members'),
1067 $this->lng->txt(
'show'));
1068 $this->ctrl->clearParameters($this);
1073 $this->ctrl->setParameter($this,
'subscriber_hide',1);
1074 $table_gui->addHeaderCommand($this->ctrl->getLinkTarget($this,
'members'),
1075 $this->lng->txt(
'hide'));
1076 $this->ctrl->clearParameters($this);
1078 $table_gui->readSubscriberData();
1079 $table_gui->setTitle($this->lng->txt(
'group_new_registrations'),
'icon_usr.svg',$this->lng->txt(
'group_new_registrations'));
1080 $this->tpl->setVariable(
'TABLE_SUB',$table_gui->getHTML());
1083 if(count($part->getAdmins()))
1085 if($ilUser->getPref(
'grp_admin_hide'))
1088 $this->ctrl->setParameter($this,
'admin_hide',0);
1089 $table_gui->addHeaderCommand($this->ctrl->getLinkTarget($this,
'members'),
1090 $this->lng->txt(
'show'));
1091 $this->ctrl->clearParameters($this);
1096 $this->ctrl->setParameter($this,
'admin_hide',1);
1097 $table_gui->addHeaderCommand($this->ctrl->getLinkTarget($this,
'members'),
1098 $this->lng->txt(
'hide'));
1099 $this->ctrl->clearParameters($this);
1101 $table_gui->setTitle($this->lng->txt(
'grp_admins'),
'icon_usr.svg',$this->lng->txt(
'grp_admins'));
1103 $this->tpl->setVariable(
'ADMINS',$table_gui->getHTML());
1106 if(
$GLOBALS[
'rbacreview']->getNumberOfAssignedUsers(array($this->object->getDefaultMemberRole())))
1108 if($ilUser->getPref(
'grp_member_hide'))
1111 $this->ctrl->setParameter($this,
'member_hide',0);
1113 $this->lng->txt(
'show'));
1114 $this->ctrl->clearParameters($this);
1119 $this->ctrl->setParameter($this,
'member_hide',1);
1121 $this->lng->txt(
'hide'));
1122 $this->ctrl->clearParameters($this);
1125 $table_gui->setTitle($this->lng->txt(
'grp_members'),
'icon_usr.svg',$this->lng->txt(
'grp_members'));
1126 $table_gui->parse($this->
readMemberData(
$GLOBALS[
'rbacreview']->assignedUsers($this->object->getDefaultMemberRole()),
1127 null, $table_gui->getSelectedColumns()));
1128 $this->tpl->setCurrentBlock(
'member_block');
1129 $this->tpl->setVariable(
'MEMBERS',$table_gui->getHTML());
1130 $this->tpl->parseCurrentBlock();
1136 if(!(
$GLOBALS[
'rbacreview']->getNumberOfAssignedUsers(array($role_id))))
1140 if($ilUser->getPref(
'grp_role_hide'.$role_id))
1143 $this->ctrl->setParameter($this,
'role_hide_'.$role_id,0);
1144 $table_gui->addHeaderCommand($this->ctrl->getLinkTarget($this,
'members'),
1145 $this->lng->txt(
'show'));
1146 $this->ctrl->clearParameters($this);
1151 $this->ctrl->setParameter($this,
'role_hide_'.$role_id,1);
1152 $table_gui->addHeaderCommand($this->ctrl->getLinkTarget($this,
'members'),
1153 $this->lng->txt(
'hide'));
1154 $this->ctrl->clearParameters($this);
1159 $this->tpl->setCurrentBlock(
'member_block');
1160 $this->tpl->setVariable(
'MEMBERS',$table_gui->getHTML());
1161 $this->tpl->parseCurrentBlock();
1164 $this->tpl->setVariable(
'TXT_SELECTED_USER',$this->lng->txt(
'grp_selected_users'));
1165 $this->tpl->setVariable(
'BTN_FOOTER_EDIT',$this->lng->txt(
'edit'));
1166 $this->tpl->setVariable(
'BTN_FOOTER_VAL',$this->lng->txt(
'remove'));
1167 $this->tpl->setVariable(
'BTN_FOOTER_MAIL',$this->lng->txt(
'grp_mem_send_mail'));
1184 if(!count(
$_POST[
'subscribers']))
1191 include_once
'./Modules/Group/classes/class.ilGroupMembershipMailNotification.php';
1192 foreach(
$_POST[
'subscribers'] as $usr_id)
1194 $this->
object->members_obj->sendNotification(
1200 $this->
object->members_obj->deleteSubscriber($usr_id);
1204 $this->ctrl->redirect($this,
'members');
1220 if(!count(
$_POST[
'subscribers']))
1227 include_once
'./Modules/Group/classes/class.ilGroupMembershipMailNotification.php';
1228 foreach(
$_POST[
'subscribers'] as $usr_id)
1230 $this->
object->members_obj->sendNotification(
1234 $this->
object->members_obj->deleteSubscriber($usr_id);
1253 if(!count(
$_POST[
"waiting"]))
1260 include_once(
'./Modules/Group/classes/class.ilGroupWaitingList.php');
1263 include_once
'./Modules/Group/classes/class.ilGroupMembershipMailNotification.php';
1266 foreach(
$_POST[
"waiting"] as $user_id)
1272 if($this->object->members_obj->isAssigned($user_id))
1277 $this->
object->members_obj->sendNotification(
1288 $this->ctrl->redirect($this,
"members");
1295 $this->searchObject();
1311 if(!count(
$_POST[
'waiting']))
1318 include_once(
'./Modules/Group/classes/class.ilGroupWaitingList.php');
1321 include_once
'./Modules/Group/classes/class.ilGroupMembershipMailNotification.php';
1322 foreach(
$_POST[
"waiting"] as $user_id)
1325 $this->
object->members_obj->sendNotification(
1332 $this->ctrl->redirect($this,
"members");
1345 $participants_to_delete = (array) array_unique(array_merge((array)
$_POST[
'admins'],(array) $_POST[
'members'], (array) $_POST[
'roles']));
1347 if(!count($participants_to_delete))
1357 $admins_after = (array) array_diff($admins, $participants_to_delete);
1358 if(!count($admins_after) and count($admins))
1366 $this->tabs_gui->setTabActive(
'members');
1367 $this->tabs_gui->setSubTabActive(
'grp_edit_members');
1369 include_once(
'./Services/Utilities/classes/class.ilConfirmationGUI.php');
1371 $confirm->setFormAction($this->ctrl->getFormAction($this,
'deleteMembers'));
1372 $confirm->setHeaderText($this->lng->txt(
'grp_dismiss_member'));
1373 $confirm->setConfirm($this->lng->txt(
'confirm'),
'deleteMembers');
1374 $confirm->setCancel($this->lng->txt(
'cancel'),
'members');
1376 foreach($this->
readMemberData(array_merge((array) $_POST[
'admins'],(array) $_POST[
'members'], (array) $_POST[
'roles'])) as $participants)
1378 $confirm->addItem(
'participants[]',
1379 $participants[
'usr_id'],
1380 $participants[
'lastname'].
', '.$participants[
'firstname'].
' ['.$participants[
'login'].
']',
1384 $this->tpl->setContent($confirm->getHTML());
1398 if(!count(
$_POST[
'participants']))
1405 $this->
object->members_obj->deleteParticipants(
$_POST[
'participants']);
1408 include_once
'./Modules/Group/classes/class.ilGroupMembershipMailNotification.php';
1409 foreach(
$_POST[
'participants'] as $part)
1411 $this->
object->members_obj->sendNotification(
1419 $this->ctrl->redirect($this,
"members");
1432 if(isset(
$_GET[
'member_id']))
1434 $_POST[
'participants'] = array(
$_GET[
'member_id']);
1438 $_POST[
'participants'] = array_unique(array_merge((array)
$_POST[
'admins'],
1439 (array) $_POST[
'members'],
1440 (array) $_POST[
'roles'],
1441 (array) $_POST[
'waiting'],
1442 (array) $_POST[
'subscribers']));
1444 if (!count(
$_POST[
'participants']))
1450 foreach(
$_POST[
'participants'] as $usr_id)
1455 require_once
'Services/Mail/classes/class.ilMailFormCall.php';
1475 if(isset(
$_GET[
'admin_hide']))
1477 $ilUser->writePref(
'grp_admin_hide',(
int)
$_GET[
'admin_hide']);
1479 if(isset(
$_GET[
'member_hide']))
1481 $ilUser->writePref(
'grp_member_hide',(
int)
$_GET[
'member_hide']);
1483 if(isset(
$_GET[
'subscriber_hide']))
1485 $ilUser->writePref(
'grp_subscriber_hide',(
int)
$_GET[
'subscriber_hide']);
1487 if(isset(
$_GET[
'wait_hide']))
1489 $ilUser->writePref(
'grp_wait_hide',(
int)
$_GET[
'wait_hide']);
1500 $_POST[
'members'] = array((
int)
$_GET[
'member_id']);
1514 $post_participants = array_unique(array_merge((array)
$_POST[
'admins'],(array) $_POST[
'members'], (array) $_POST[
'roles']));
1516 $participants = array_intersect((array) $post_participants, (array) $real_participants);
1518 if(!count($participants))
1526 $this->tabs_gui->setTabActive(
'members');
1527 $this->tabs_gui->setSubTabActive(
'grp_edit_members');
1529 include_once(
'./Modules/Group/classes/class.ilGroupEditParticipantsTableGUI.php');
1531 $table_gui->setTitle($this->lng->txt(
'grp_mem_change_status'),
'icon_usr.svg',$this->lng->txt(
'grp_mem_change_status'));
1534 $this->tpl->setContent($table_gui->getHTML());
1549 if(!count(
$_POST[
'participants']))
1558 $admin_role = $this->
object->getDefaultAdminRole();
1561 if(!isset(
$_POST[
'roles'][$admin_id]))
1566 if(in_array($admin_role,
$_POST[
'roles'][$admin_id]))
1576 $_POST[
'members'] = $_POST[
'participants'];
1581 $admin_role = $this->
object->getDefaultAdminRole();
1583 $notifications =
$_POST[
'notification'] ?
$_POST[
'notification'] : array();
1584 foreach(
$_POST[
'participants'] as $usr_id)
1587 $notification =
false;
1588 if($this->object->members_obj->isAdmin($usr_id) and !in_array($admin_role,(array)
$_POST[
'roles'][$usr_id]))
1590 $notification =
true;
1592 if(!$this->object->members_obj->isAdmin($usr_id) and in_array($admin_role,(array)
$_POST[
'roles'][$usr_id]))
1594 $notification =
true;
1598 $this->
object->members_obj->updateRoleAssignments($usr_id,(array)
$_POST[
'roles'][$usr_id]);
1601 $this->
object->members_obj->updateNotification($usr_id,0);
1603 if($this->object->members_obj->isAdmin($usr_id) and in_array($usr_id,$notifications))
1605 $this->
object->members_obj->updateNotification($usr_id,1);
1610 include_once
'./Modules/Group/classes/class.ilGroupMembershipMailNotification.php';
1611 $this->
object->members_obj->sendNotification(
1618 $this->ctrl->redirect($this,
"members");
1633 $notification =
$_POST[
'notification'] ?
$_POST[
'notification'] : array();
1634 foreach($this->object->members_obj->getAdmins() as $admin_id)
1636 $this->
object->members_obj->updateNotification($admin_id,(
int) in_array($admin_id,$notification));
1674 if($part->isLastAdmin($ilUser->getId()))
1681 $this->tabs_gui->setTabActive(
'grp_btn_unsubscribe');
1683 include_once
"Services/Utilities/classes/class.ilConfirmationGUI.php";
1685 $cgui->setHeaderText($this->lng->txt(
'grp_dismiss_myself'));
1686 $cgui->setFormAction($this->ctrl->getFormAction($this));
1687 $cgui->setCancel($this->lng->txt(
"cancel"),
"cancel");
1688 $cgui->setConfirm($this->lng->txt(
"grp_btn_unsubscribe"),
"unsubscribe");
1689 $this->tpl->setContent($cgui->getHTML());
1704 $this->
object->members_obj->delete($ilUser->getId());
1706 include_once
'./Modules/Group/classes/class.ilGroupMembershipMailNotification.php';
1707 $this->
object->members_obj->sendNotification(
1711 $this->
object->members_obj->sendNotification(
1717 $ilCtrl->setParameterByClass(
"ilrepositorygui",
"ref_id",
1718 $tree->getParentId($this->object->getRefId()));
1719 $ilCtrl->redirectByClass(
"ilrepositorygui",
"");
1729 $user_ids =
$_POST[
"id"];
1731 if (empty($user_ids[0]))
1734 $this->ilErr->raiseError($this->lng->txt(
"no_checkbox"),$this->ilErr->MESSAGE);
1737 foreach ($user_ids as $new_member)
1739 if (!$this->object->addMember($new_member,$this->object->getDefaultMemberRole()))
1741 $this->ilErr->raiseError(
"An Error occured while assigning user to group !",$this->ilErr->MESSAGE);
1748 $this->ctrl->redirect($this,
'members');
1757 if (empty($user_ids[0]))
1759 $GLOBALS[
'lng']->loadLanguageModule(
'search');
1766 foreach((array) $user_ids as $new_member)
1768 if($part->isAssigned($new_member))
1774 case $this->
object->getDefaultAdminRole():
1776 include_once
'./Modules/Group/classes/class.ilGroupMembershipMailNotification.php';
1777 $part->sendNotification(
1784 case $this->
object->getDefaultMemberRole():
1786 include_once
'./Modules/Group/classes/class.ilGroupMembershipMailNotification.php';
1787 $part->sendNotification(
1795 if(in_array($a_type,$this->object->getLocalGroupRoles(
true)))
1798 $part->updateRoleAssignments($new_member,(array) $a_type);
1805 include_once
'./Modules/Group/classes/class.ilGroupMembershipMailNotification.php';
1806 $part->sendNotification(
1823 $this->ctrl->redirect($this,
'members');
1832 $user_ids =
$_POST[
"user_id"];
1834 if (empty($user_ids[0]))
1836 $this->ilErr->raiseError($this->lng->txt(
"no_checkbox"),$this->ilErr->MESSAGE);
1838 include_once
'Services/Mail/classes/class.ilMail.php';
1841 foreach ($user_ids as $new_member)
1843 $user =& $this->
ilias->obj_factory->getInstanceByObjId($new_member);
1845 $this->
object->deleteApplicationListEntry($new_member);
1846 $mail->sendMail($user->getLogin(),
"",
"",
"Membership application refused: Group ".$this->object->getTitle(),
"Your application has been refused.",array(),array(
'system'));
1850 $this->ctrl->redirect($this,
'members');
1856 global $rbacsystem,
$ilUser, $ilAccess,
$lng, $ilHelp;
1858 $ilHelp->setScreenIdComponent(
"grp");
1860 if ($rbacsystem->checkAccess(
'read',$this->ref_id))
1862 $tabs_gui->addTab(
"view_content", $lng->txt(
"content"),
1863 $this->ctrl->getLinkTarget($this,
""));
1865 if ($rbacsystem->checkAccess(
'visible',$this->ref_id))
1867 $tabs_gui->addTarget(
"info_short",
1868 $this->ctrl->getLinkTargetByClass(
1869 array(
"ilobjgroupgui",
"ilinfoscreengui"),
"showSummary"),
1875 if ($ilAccess->checkAccess(
'write',
'',$this->object->getRefId()))
1877 $tabs_gui->addTarget(
"settings",
1878 $this->ctrl->getLinkTarget($this,
"edit"), array(
"edit",
"editMapSettings"), get_class($this),
1886 if($ilAccess->checkAccess(
'write',
'', $this->ref_id))
1888 $tabs_gui->addTarget(
'members', $this->ctrl->getLinkTarget($this,
'members'), array(), get_class($this));
1890 else if($is_participant)
1892 $this->tabs_gui->addTarget(
1894 $this->ctrl->getLinkTargetByClass(
'ilUsersGalleryGUI',
'view'),
1900 include_once
'./Services/Tracking/classes/class.ilLearningProgressAccess.php';
1903 $tabs_gui->addTarget(
'learning_progress',
1904 $this->ctrl->getLinkTargetByClass(array(
'ilobjgroupgui',
'illearningprogressgui'),
''),
1906 array(
'illplistofobjectsgui',
'illplistofsettingsgui',
'illearningprogressgui',
'illplistofprogressgui'));
1910 if($ilAccess->checkAccess(
'write',
'',$this->object->getRefId()))
1912 $tabs_gui->addTarget(
1914 $this->ctrl->getLinkTargetByClass(
'ilexportgui',
''),
1932 parent::getTabs($tabs_gui);
1934 if($ilAccess->checkAccess(
'join',
'',$this->object->getRefId()) and
1935 !$this->object->members_obj->isAssigned($ilUser->getId()))
1937 include_once
'./Modules/Group/classes/class.ilGroupWaitingList.php';
1942 $this->lng->txt(
'membership_leave'),
1943 $this->ctrl->getLinkTargetByClass(
'ilgroupregistrationgui',
'show',
'')
1950 $tabs_gui->addTarget(
"join",
1951 $this->ctrl->getLinkTargetByClass(
'ilgroupregistrationgui',
"show"),
1956 if($ilAccess->checkAccess(
'leave',
'',$this->object->getRefId()) and
1957 $this->object->members_obj->isMember($ilUser->getId()))
1959 $tabs_gui->addTarget(
"grp_btn_unsubscribe",
1960 $this->ctrl->getLinkTarget($this,
"leave"),
1970 if(!is_array($_FILES[
'xmldoc']))
1977 include_once
'./Modules/Group/classes/class.ilObjGroup.php';
1981 $this->ctrl->setParameter($this,
"ref_id",
$ref_id);
1998 $this->tpl->addBlockfile(
"ADM_CONTENT",
"adm_content",
"tpl.grp_members_export.html",
2000 $this->tpl->setCurrentBlock(
"adm_content");
2001 $this->tpl->setVariable(
"FORMACTION", $this->
getFormAction(
"export",$this->ctrl->getFormAction($this)));
2002 $this->tpl->setVariable(
"BUTTON_EXPORT", $this->lng->txt(
"export_group_members"));
2003 $this->tpl->parseCurrentBlock();
2014 $title = preg_replace(
"/\s/",
"_", $this->object->getTitle());
2015 include_once
"./Services/Excel/classes/class.ilExcelWriterAdapter.php";
2017 $workbook = $adapter->getWorkbook();
2019 $format_bold =& $workbook->addFormat();
2020 $format_bold->setBold();
2021 $format_percent =& $workbook->addFormat();
2022 $format_percent->setNumFormat(
"0.00%");
2023 $format_datetime =& $workbook->addFormat();
2024 $format_datetime->setNumFormat(
"DD/MM/YYYY hh:mm:ss");
2025 $format_title =& $workbook->addFormat();
2026 $format_title->setBold();
2027 $format_title->setColor(
'black');
2028 $format_title->setPattern(1);
2029 $format_title->setFgColor(
'silver');
2030 $worksheet =& $workbook->addWorksheet();
2032 $profile_data = array(
"email",
"gender",
"firstname",
"lastname",
"person_title",
"institution",
2033 "department",
"street",
"zipcode",
"city",
"country",
"phone_office",
"phone_home",
"phone_mobile",
2034 "fax",
"matriculation");
2035 foreach ($profile_data as
$data)
2037 $worksheet->writeString(0, $column++, $this->
cleanString($this->lng->txt($data)), $format_title);
2039 $member_ids = $this->
object->getGroupMemberIds();
2041 foreach ($member_ids as $member_id)
2044 $member =& $this->
ilias->obj_factory->getInstanceByObjId($member_id);
2045 if ($member->getPref(
"public_email")==
"y")
2047 $worksheet->writeString(
$row, $column++, $this->
cleanString($member->getEmail()));
2053 $worksheet->writeString(
$row, $column++, $this->
cleanString($this->lng->txt(
"gender_" . $member->getGender())));
2054 $worksheet->writeString(
$row, $column++, $this->
cleanString($member->getFirstname()));
2055 $worksheet->writeString(
$row, $column++, $this->
cleanString($member->getLastname()));
2056 $worksheet->writeString(
$row, $column++, $this->
cleanString($member->getUTitle()));
2057 if ($member->getPref(
"public_institution")==
"y")
2059 $worksheet->writeString(
$row, $column++, $this->
cleanString($member->getInstitution()));
2065 if ($member->getPref(
"public_department")==
"y")
2067 $worksheet->writeString(
$row, $column++, $this->
cleanString($member->getDepartment()));
2073 if ($member->getPref(
"public_street")==
"y")
2075 $worksheet->writeString(
$row, $column++, $this->
cleanString($member->getStreet()));
2081 if ($member->getPref(
"public_zip")==
"y")
2083 $worksheet->writeString(
$row, $column++, $this->
cleanString($member->getZipcode()));
2089 if ($member->getPref(
"public_city")==
"y")
2091 $worksheet->writeString(
$row, $column++, $this->
cleanString($member->getCity()));
2097 if ($member->getPref(
"public_country")==
"y")
2099 $worksheet->writeString(
$row, $column++, $this->
cleanString($member->getCountry()));
2105 if ($member->getPref(
"public_phone_office")==
"y")
2107 $worksheet->writeString(
$row, $column++, $this->
cleanString($member->getPhoneOffice()));
2113 if ($member->getPref(
"public_phone_home")==
"y")
2115 $worksheet->writeString(
$row, $column++, $this->
cleanString($member->getPhoneHome()));
2121 if ($member->getPref(
"public_phone_mobile")==
"y")
2123 $worksheet->writeString(
$row, $column++, $this->
cleanString($member->getPhoneMobile()));
2129 if ($member->getPref(
"public_fax")==
"y")
2131 $worksheet->writeString(
$row, $column++, $this->
cleanString($member->getFax()));
2137 if ($member->getPref(
"public_matriculation")==
"y")
2139 $worksheet->writeString(
$row, $column++, $this->
cleanString($member->getMatriculation()));
2160 return str_replace(array(
"��",
"��",
"��",
"��",
"��",
"��",
"��"), array(
"ae",
"oe",
"ue",
"ss",
"Ae",
"Oe",
"Ue"), $str);
2175 $this->ctrl->setCmd(
"showSummary");
2176 $this->ctrl->setCmdClass(
"ilinfoscreengui");
2187 $this->tabs_gui->setTabActive(
'info_short');
2189 if(!$rbacsystem->checkAccess(
"visible", $this->ref_id))
2191 $this->
ilias->raiseError($this->lng->txt(
"msg_no_perm_read"),$this->
ilias->error_obj->MESSAGE);
2194 include_once(
"./Services/InfoScreen/classes/class.ilInfoScreenGUI.php");
2197 if(strlen($this->object->getInformation()))
2199 $info->addSection($this->lng->txt(
'grp_general_informations'));
2200 $info->addProperty($this->lng->txt(
'grp_information'), nl2br(
2204 $info->enablePrivateNotes();
2205 $info->enableLearningProgress(
true);
2207 $info->addSection($this->lng->txt(
'group_registration'));
2208 $info->showLDAPRoleGroupMappingInfo();
2210 if(!$this->object->isRegistrationEnabled())
2212 $info->addProperty($this->lng->txt(
'group_registration_mode'),
2213 $this->lng->txt(
'grp_reg_deac_info_screen'));
2218 switch($this->object->getRegistrationType())
2221 $info->addProperty($this->lng->txt(
'group_registration_mode'),
2222 $this->lng->txt(
'grp_reg_direct_info_screen'));
2226 $info->addProperty($this->lng->txt(
'group_registration_mode'),
2227 $this->lng->txt(
'grp_reg_req_info_screen'));
2231 $info->addProperty($this->lng->txt(
'group_registration_mode'),
2232 $this->lng->txt(
'grp_reg_passwd_info_screen'));
2242 if($this->object->isRegistrationUnlimited())
2244 $info->addProperty($this->lng->txt(
'group_registration_time'),
2245 $this->lng->txt(
'grp_registration_unlimited'));
2247 elseif($this->object->getRegistrationStart()->getUnixTime() < time())
2249 $info->addProperty($this->lng->txt(
"group_registration_time"),
2250 $this->lng->txt(
'cal_until').
' '.
2253 elseif($this->object->getRegistrationStart()->getUnixTime() >= time())
2255 $info->addProperty($this->lng->txt(
"group_registration_time"),
2256 $this->lng->txt(
'cal_from').
' '.
2259 if ($this->object->isMembershipLimited())
2261 if($this->object->getMinMembers())
2263 $info->addProperty($this->lng->txt(
"mem_min_users"),
2264 $this->
object->getMinMembers());
2266 if($this->object->getMaxMembers())
2268 include_once
'./Modules/Group/classes/class.ilObjGroupAccess.php';
2272 $this->lng->txt(
'mem_free_places'),
2273 $reg_info[
'reg_info_free_places']
2278 if($this->object->getCancellationEnd())
2280 $info->addProperty($this->lng->txt(
'grp_cancellation_end'),
2286 include_once(
'Services/PrivacySecurity/classes/class.ilPrivacySettings.php');
2289 include_once(
'Modules/Course/classes/Export/class.ilCourseDefinedFieldDefinition.php');
2292 include_once(
'Services/PrivacySecurity/classes/class.ilExportFieldsInfo.php');
2296 $this->lng->loadLanguageModule(
'ps');
2297 $info->addSection($this->lng->txt(
'grp_user_agreement_info'));
2298 $info->addProperty($this->lng->txt(
'ps_export_data'),$field_info->exportableFieldsToInfoString());
2302 $info->addProperty($this->lng->txt(
'ps_grp_user_fields'),$fields);
2308 $this->ctrl->forwardCommand(
$info);
2316 include_once
"Services/Membership/classes/class.ilMembershipNotifications.php";
2318 if($noti->canCurrentUserEdit())
2322 $noti->activateUser();
2326 $noti->deactivateUser();
2330 $this->ctrl->redirect($this,
"infoScreen");
2336 public static function _goto($a_target, $a_add =
"")
2340 include_once
'./Services/Membership/classes/class.ilMembershipRegistrationCodeUtils.php';
2341 if(substr($a_add,0,5) ==
'rcode')
2343 if($ilUser->getId() == ANONYMOUS_USER_ID)
2347 "login.php?target=".
$_GET[
"target"].
"&cmd=force_login&lang=".
2348 $ilUser->getCurrentLanguage()
2360 if ($a_add ==
"mem" && $ilAccess->checkAccess(
"write",
"", $a_target))
2365 if ($ilAccess->checkAccess(
"read",
"", $a_target))
2372 if ($ilAccess->checkAccess(
"visible",
"", $a_target))
2378 if ($ilAccess->checkAccess(
"read",
"", ROOT_FOLDER_ID))
2386 $ilErr->raiseError($lng->txt(
"msg_no_perm_read"), $ilErr->FATAL);
2401 include_once(
"./Services/Form/classes/class.ilPropertyFormGUI.php");
2407 $form->setFormAction($this->ctrl->getFormAction($this,
'update'));
2411 $form->setTableWidth(
'600px');
2412 $form->setFormAction($this->ctrl->getFormAction($this,
'save'));
2419 $title->setValue($this->object->getTitle());
2422 $title->setRequired(
true);
2423 $form->addItem($title);
2427 $desc->
setValue($this->object->getLongDescription());
2430 $form->addItem($desc);
2435 if($a_mode ==
'edit')
2437 $type = ($this->
object->getGroupType() ? $this->
object->getGroupType() : $this->
object->readGroupStatus());
2441 $type = ($this->
object->getGroupType() ? $this->
object->getGroupType() :
GRP_TYPE_PUBLIC);
2445 $grp_type->setRequired(
true);
2450 $grp_type->addOption($opt_public);
2455 $grp_type->addOption($opt_closed);
2457 $form->addItem($grp_type);
2459 if($a_mode ==
'edit')
2463 $pres->setTitle($this->lng->txt(
'grp_setting_header_registration'));
2464 $form->addItem($pres);
2467 $reg_type =
new ilRadioGroupInputGUI($this->lng->txt(
'group_registration_mode'),
'registration_type');
2468 $reg_type->
setValue($this->object->getRegistrationType());
2471 $reg_type->addOption($opt_dir);
2475 $pass->
setInfo($this->lng->txt(
'grp_reg_password_info'));
2476 $pass->
setValue($this->object->getPassword());
2478 $pass->setMaxLength(32);
2480 $reg_type->addOption($opt_pass);
2483 $reg_type->addOption($opt_req);
2486 $reg_type->addOption($opt_deact);
2489 $reg_code =
new ilCheckboxInputGUI($this->lng->txt(
'grp_reg_code'),
'reg_code_enabled');
2490 $reg_code->
setChecked($this->object->isRegistrationAccessCodeEnabled());
2491 $reg_code->setValue(1);
2492 $reg_code->setInfo($this->lng->txt(
'grp_reg_code_enabled_info'));
2493 $form->addItem($reg_type);
2496 if(!$this->object->getRegistrationAccessCode())
2498 include_once
'./Services/Membership/classes/class.ilMembershipRegistrationCodeUtils.php';
2502 $reg_link->setValue($this->object->getRegistrationAccessCode());
2503 $form->addItem($reg_link);
2506 include_once
'./Services/Link/classes/class.ilLink.php';
2507 $val =
ilLink::_getLink($this->object->getRefId(),$this->
object->getType(),array(),
'_rcode'.$this->object->getRegistrationAccessCode());
2508 $link->setHTML(
'<font class="small">'.$val.
'</font>');
2509 $reg_code->addSubItem($link);
2510 $form->addItem($reg_code);
2514 $time_limit =
new ilCheckboxInputGUI($this->lng->txt(
'grp_reg_limited'),
'reg_limit_time');
2516 $time_limit->
setChecked($this->object->isRegistrationUnlimited() ? false :
true);
2518 $this->lng->loadLanguageModule(
'dateplaner');
2519 include_once
'./Services/Form/classes/class.ilDateDurationInputGUI.php';
2520 $tpl->addJavaScript(
'./Services/Form/js/date_duration.js');
2523 $dur->setEndText($this->lng->txt(
'cal_end'));
2524 $dur->setShowTime(
true);
2525 $dur->setStart($this->object->getRegistrationStart());
2526 $dur->setEnd($this->object->getRegistrationEnd());
2528 $time_limit->addSubItem($dur);
2529 $form->addItem($time_limit);
2532 $cancel =
new ilDateTimeInputGUI($this->lng->txt(
'grp_cancellation_end'),
'cancel_end');
2533 $cancel->
setInfo($this->lng->txt(
'grp_cancellation_end_info'));
2534 $cancel_end = $this->
object->getCancellationEnd();
2535 $cancel->enableDateActivation(
'',
'cancel_end_tgl', (
bool)$cancel_end);
2538 $cancel->setDate($cancel_end);
2540 $form->addItem($cancel);
2543 $lim =
new ilCheckboxInputGUI($this->lng->txt(
'reg_grp_max_members_short'),
'registration_membership_limited');
2546 $lim->setChecked($this->object->isMembershipLimited());
2548 $min =
new ilTextInputGUI($this->lng->txt(
'reg_grp_min_members'),
'registration_min_members');
2550 $min->setMaxLength(4);
2551 $min->setValue($this->object->getMinMembers() ? $this->
object->getMinMembers() :
'');
2552 $min->setInfo($this->lng->txt(
'grp_subscription_min_members_info'));
2553 $lim->addSubItem($min);
2555 $max =
new ilTextInputGUI($this->lng->txt(
'reg_grp_max_members'),
'registration_max_members');
2556 $max->
setValue($this->object->getMaxMembers() ? $this->
object->getMaxMembers() :
'');
2559 $max->setMaxLength(4);
2560 $max->setInfo($this->lng->txt(
'grp_reg_max_members_info'));
2561 $lim->addSubItem($max);
2576 $wait->addOption($option);
2578 $option =
new ilRadioOption($this->lng->txt(
'grp_waiting_list_no_autofill'), 1);
2579 $option->
setInfo($this->lng->txt(
'grp_waiting_list_info'));
2580 $wait->addOption($option);
2582 $option =
new ilRadioOption($this->lng->txt(
'grp_waiting_list_autofill'), 2);
2583 $option->
setInfo($this->lng->txt(
'grp_waiting_list_autofill_info'));
2584 $wait->addOption($option);
2586 if($this->object->hasWaitingListAutoFill())
2590 else if($this->object->isWaitingListEnabled())
2595 $lim->addSubItem($wait);
2597 $form->addItem($lim);
2601 $hasParentMembership =
2603 $tree->checkForParentType($this->object->getRefId(),
'crs',
true) ||
2604 $tree->checkForParentType($this->object->getRefId(),
'grp',
true)
2608 $pres->setTitle($this->lng->txt(
'grp_setting_header_presentation'));
2609 $form->addItem($pres);
2613 if($hasParentMembership)
2615 switch($this->object->getViewMode())
2618 $course_view_mode =
': '.$this->lng->txt(
'cntr_view_sessions');
2622 $course_view_mode =
': '.$this->lng->txt(
'cntr_view_simple');
2626 $course_view_mode =
': '.$this->lng->txt(
'cntr_view_by_type');
2631 $opt->
setInfo($this->lng->txt(
'grp_view_inherit_info'));
2632 $view_type->addOption($opt);
2635 if($hasParentMembership &&
2642 $view_type->setValue($this->object->getViewMode(
true));
2646 $opt->
setInfo($this->lng->txt(
'grp_view_info_simple'));
2647 $view_type->addOption($opt);
2650 $opt->
setInfo($this->lng->txt(
'grp_view_info_by_type'));
2651 $view_type->addOption($opt);
2652 $form->addItem($view_type);
2656 $sorting_settings = array();
2657 if($hasParentMembership)
2668 $feat->setTitle($this->lng->txt(
'obj_features'));
2669 $form->addItem($feat);
2671 include_once
'./Services/Object/classes/class.ilObjectServiceSettingsGUI.php';
2673 $this->object->getId(),
2690 $mail_type->
setValue($this->object->getMailToMembersType());
2693 $this->lng->txt(
'grp_mail_tutors_only_info'));
2694 $mail_type->addOption($mail_tutors);
2697 $this->lng->txt(
'grp_mail_all_info'));
2698 $mail_type->addOption($mail_all);
2699 $form->addItem($mail_type);
2705 $form->
setTitle($this->lng->txt(
'grp_new'));
2708 $form->addCommandButton(
'save',$this->lng->txt(
'grp_new'));
2709 $form->addCommandButton(
'cancel',$this->lng->txt(
'cancel'));
2713 $form->setTitle($this->lng->txt(
'grp_edit'));
2717 include_once
'Modules/Group/classes/class.ilECSGroupSettings.php';
2719 $ecs->addSettingsToForm($form,
'grp');
2721 $form->addCommandButton(
'update',$this->lng->txt(
'save'));
2722 $form->addCommandButton(
'cancel',$this->lng->txt(
'cancel'));
2741 $this->
object->enableUnlimitedRegistration((
bool) !
$_POST[
'reg_limit_time']);
2742 $this->
object->setRegistrationStart($this->
loadDate(
'start'));
2743 $this->
object->setRegistrationEnd($this->
loadDate(
'end'));
2744 $this->
object->enableMembershipLimitation((
bool)
$_POST[
'registration_membership_limited']);
2745 $this->
object->setMinMembers((
int) $_POST[
'registration_min_members']);
2746 $this->
object->setMaxMembers((
int) $_POST[
'registration_max_members']);
2747 $this->
object->enableRegistrationAccessCode((
bool) $_POST[
'reg_code_enabled']);
2750 $this->
object->setMailToMembersType((
int) $_POST[
'mail_type']);
2753 if($_POST[$cancel_end->getActivationPostVar()])
2760 $this->
object->setCancellationEnd(null);
2763 switch((
int)$_POST[
'waiting_list'])
2766 $this->
object->enableWaitingList(
true);
2767 $this->
object->setWaitingListAutoFill(
true);
2771 $this->
object->enableWaitingList(
true);
2772 $this->
object->setWaitingListAutoFill(
false);
2776 $this->
object->enableWaitingList(
false);
2777 $this->
object->setWaitingListAutoFill(
false);
2795 include_once(
'./Services/Calendar/classes/class.ilDateTime.php');
2797 $dt[
'year'] = (int)
$_POST[
'reg'][$a_field][
'date'][
'y'];
2798 $dt[
'mon'] = (int)
$_POST[
'reg'][$a_field][
'date'][
'm'];
2799 $dt[
'mday'] = (int)
$_POST[
'reg'][$a_field][
'date'][
'd'];
2800 $dt[
'hours'] = (int)
$_POST[
'reg'][$a_field][
'time'][
'h'];
2801 $dt[
'minutes'] = (int)
$_POST[
'reg'][$a_field][
'time'][
'm'];
2802 $dt[
'seconds'] = (int)
$_POST[
'reg'][$a_field][
'time'][
's'];
2817 global $rbacsystem,
$ilUser,$ilAccess;
2823 if($ilAccess->checkAccess(
'write',
'',$this->object->getRefId()))
2825 $this->tabs_gui->addSubTabTarget(
"grp_edit_members",
2826 $this->ctrl->getLinkTarget($this,
'members'),
2831 $this->tabs_gui->addSubTabTarget(
2832 'grp_members_gallery',
2833 $this->ctrl->getLinkTargetByClass(
'ilUsersGalleryGUI',
'view'),
2839 include_once(
"./Services/Maps/classes/class.ilMapUtil.php");
2841 $this->object->getEnableGroupMap())
2843 $this->tabs_gui->addSubTabTarget(
"grp_members_map",
2844 $this->ctrl->getLinkTarget($this,
'membersMap'),
2845 "membersMap", get_class($this));
2848 if($ilAccess->checkAccess(
'write',
'',$this->object->getRefId()))
2850 $this->tabs_gui->addSubTabTarget(
"events",
2851 $this->ctrl->getLinkTargetByClass(
'ilsessionoverviewgui',
'listSessions'),
2852 "",
'ilsessionoverviewgui');
2855 include_once
'Services/PrivacySecurity/classes/class.ilPrivacySettings.php';
2858 $this->tabs_gui->addSubTabTarget(
'grp_export_members',
2859 $this->ctrl->getLinkTargetByClass(
'ilmemberexportgui',
'show'),
2860 "",
'ilmemberexportgui');
2866 $this->tabs_gui->addSubTabTarget(
"grp_settings",
2867 $this->ctrl->getLinkTarget($this,
'edit'),
2868 "edit", get_class($this));
2870 $this->tabs_gui->addSubTabTarget(
"grp_info_settings",
2871 $this->ctrl->getLinkTarget($this,
'editInfo'),
2872 "editInfo", get_class($this));
2875 if ($this->
ilias->getSetting(
"custom_icons"))
2877 $this->tabs_gui->addSubTabTarget(
"grp_icon_settings",
2878 $this->ctrl->getLinkTarget($this,
'editGroupIcons'),
2879 "editGroupIcons", get_class($this));
2882 include_once(
"./Services/Maps/classes/class.ilMapUtil.php");
2885 $this->tabs_gui->addSubTabTarget(
"grp_map_settings",
2886 $this->ctrl->getLinkTarget($this,
'editMapSettings'),
2887 "editMapSettings", get_class($this));
2890 $this->tabs_gui->addSubTabTarget(
'groupings',
2891 $this->ctrl->getLinkTargetByClass(
'ilobjcoursegroupinggui',
'listGroupings'),
2895 include_once(
'Services/PrivacySecurity/classes/class.ilPrivacySettings.php');
2896 include_once(
'Modules/Course/classes/Export/class.ilCourseDefinedFieldDefinition.php');
2900 $this->tabs_gui->addSubTabTarget(
'grp_custom_user_fields',
2901 $this->ctrl->getLinkTargetByClass(
'ilobjectcustomuserfieldsgui'),
2903 'ilobjectcustomuserfieldsgui');
2924 if($ilAccess->checkAccess(
'write',
'',$this->object->getRefId()))
2930 if(!$this->object->members_obj->isAssigned($ilUser->getId()))
2935 include_once
'./Services/Container/classes/class.ilMemberViewSettings.php';
2941 include_once(
'Services/PrivacySecurity/classes/class.ilPrivacySettings.php');
2942 include_once(
'Services/Membership/classes/class.ilMemberAgreement.php');
2952 include_once(
'Modules/Course/classes/Export/class.ilCourseUserData.php');
2980 parent::prepareOutput();
2989 $link = chr(13).chr(10).chr(13).chr(10);
2990 $link .= $this->lng->txt(
'grp_mail_permanent_link');
2991 $link .= chr(13).chr(10).chr(13).chr(10);
2992 include_once
'Services/Link/classes/class.ilLink.php';
2994 return rawurlencode(base64_encode($link));
3001 $lg = parent::initHeaderAction($a_sub_type, $a_sub_id);
3003 include_once(
'./Modules/Group/classes/class.ilGroupParticipants.php');
3006 include_once
"Services/Membership/classes/class.ilMembershipNotifications.php";
3010 if(!$noti->isCurrentUserActive())
3012 $lg->addHeaderIcon(
"not_icon",
3014 $this->lng->txt(
"grp_notification_deactivated"));
3016 $this->ctrl->setParameter($this,
"grp_ntf", 1);
3017 $caption =
"grp_activate_notification";
3021 $lg->addHeaderIcon(
"not_icon",
3023 $this->lng->txt(
"grp_notification_activated"));
3025 $this->ctrl->setParameter($this,
"grp_ntf", 0);
3026 $caption =
"grp_deactivate_notification";
3029 if($noti->canCurrentUserEdit())
3031 $lg->addCustomCommand($this->ctrl->getLinkTarget($this,
"saveNotification"),
3035 $this->ctrl->setParameter($this,
"grp_ntf",
"");
3048 $ilTabs->clearTargets();
3049 $ilTabs->setBackTarget($this->lng->txt(
'back'),
3050 $this->ctrl->getLinkTarget($this,
'members'));
3053 $form = $list->initForm(
'printMembersOutput');
3054 $this->tpl->setContent($form->getHTML());
3064 include_once(
'./Modules/Group/classes/class.ilGroupParticipants.php');
3067 include_once(
'./Modules/Group/classes/class.ilGroupWaitingList.php');
3070 include_once
'Services/Membership/classes/class.ilAttendanceList.php';
3072 $list->setId(
'grpmemlst');
3074 $list->setTitle($this->lng->txt(
'grp_members_print_title'),
3075 $this->lng->txt(
'obj_grp').
': '.$this->
object->getTitle());
3077 include_once
'./Services/Tracking/classes/class.ilObjUserTracking.php';
3080 if($this->show_tracking)
3082 include_once(
'./Services/Object/classes/class.ilObjectLP.php');
3084 $this->show_tracking = $olp->isActive();
3086 if($this->show_tracking)
3088 $this->lng->loadLanguageModule(
'trac');
3089 $list->addPreset(
'progress', $this->lng->txt(
'learning_progress'),
true);
3092 include_once(
'./Services/PrivacySecurity/classes/class.ilPrivacySettings.php');
3094 if($privacy->enabledGroupAccessTimes())
3096 $list->addPreset(
'access', $this->lng->txt(
'last_access'),
true);
3104 $data = $this->members_data[$a_user_id];
3106 $data[
'progress'] = $this->lng->txt(
$data[
'progress']);
3114 $list->initFromForm();
3115 $list->setCallback(array($this,
'getAttendanceListUserData'));
3118 $this->members_data = $this->
readMemberData($part->getParticipants());
3119 $list->getNonMemberUserData($this->members_data);
3121 echo $list->getFullscreenHTML();
3131 $local_roles = $this->
object->getLocalGroupRoles(
false);
3132 $grp_member = $this->
object->getDefaultMemberRole();
3133 $grp_roles = array();
3136 if(in_array($grp_member, $local_roles))
3139 unset($local_roles[$grp_roles[$grp_member]]);
3142 foreach($local_roles as $title => $role_id)
3159 global $ilAccess,
$ilUser, $rbacsystem;
3160 include_once
'Services/Mail/classes/class.ilMail.php';
3161 $mail =
new ilMail($ilUser->getId());
3164 ($ilAccess->checkAccess(
'write',
'',$this->object->getRefId()) or
3166 $rbacsystem->checkAccess(
'internal_mail',$mail->getMailObjectReferenceId()))
3171 $ilToolbar->addSeparator();
3176 $this->ctrl->setParameter($this,
"back_cmd", $back_cmd);
3179 $ilToolbar->addButton($this->lng->txt(
"mail_members"),
3180 $this->ctrl->getLinkTargetByClass(
'ilMailMemberSearchGUI',
'')
3190 $this->ctrl->redirectByClass(
'ilUsersGalleryGUI');
3195 if(!is_array(
$_POST[
"subscribers"]))
3203 $this->lng->loadLanguageModule(
'mmbr');
3207 $this->tabs_gui->setTabActive(
'members');
3208 $this->tabs_gui->setSubTabActive(
'grp_edit_members');
3210 include_once(
"Services/Utilities/classes/class.ilConfirmationGUI.php");
3214 $c_gui->setFormAction($this->ctrl->getFormAction($this,
"refuseSubscribers"));
3215 $c_gui->setHeaderText($this->lng->txt(
"info_refuse_sure"));
3216 $c_gui->setCancel($this->lng->txt(
"cancel"),
"members");
3217 $c_gui->setConfirm($this->lng->txt(
"confirm"),
"refuseSubscribers");
3219 foreach(
$_POST[
"subscribers"] as $subscribers)
3223 $c_gui->addItem(
'subscribers[]',
3225 $name[
'lastname'].
', '.$name[
'firstname'].
' ['.$name[
'login'].
']',
3229 $this->tpl->setContent($c_gui->getHTML());
3234 if(!is_array(
$_POST[
"subscribers"]))
3243 $this->tabs_gui->setTabActive(
'members');
3244 $this->tabs_gui->setSubTabActive(
'grp_edit_members');
3246 include_once(
"Services/Utilities/classes/class.ilConfirmationGUI.php");
3250 $c_gui->setFormAction($this->ctrl->getFormAction($this,
"assignSubscribers"));
3251 $c_gui->setHeaderText($this->lng->txt(
"info_assign_sure"));
3252 $c_gui->setCancel($this->lng->txt(
"cancel"),
"members");
3253 $c_gui->setConfirm($this->lng->txt(
"confirm"),
"assignSubscribers");
3255 foreach(
$_POST[
"subscribers"] as $subscribers)
3259 $c_gui->addItem(
'subscribers[]',
3261 $name[
'lastname'].
', '.$name[
'firstname'].
' ['.$name[
'login'].
']',
3265 $this->tpl->setContent($c_gui->getHTML());
3271 if(!is_array(
$_POST[
"waiting"]))
3279 $this->lng->loadLanguageModule(
'mmbr');
3283 $this->tabs_gui->setTabActive(
'members');
3284 $this->tabs_gui->setSubTabActive(
'grp_edit_members');
3286 include_once(
"Services/Utilities/classes/class.ilConfirmationGUI.php");
3290 $c_gui->setFormAction($this->ctrl->getFormAction($this,
"refuseFromList"));
3291 $c_gui->setHeaderText($this->lng->txt(
"info_refuse_sure"));
3292 $c_gui->setCancel($this->lng->txt(
"cancel"),
"members");
3293 $c_gui->setConfirm($this->lng->txt(
"confirm"),
"refuseFromList");
3295 foreach(
$_POST[
"waiting"] as $waiting)
3299 $c_gui->addItem(
'waiting[]',
3301 $name[
'lastname'].
', '.$name[
'firstname'].
' ['.$name[
'login'].
']',
3305 $this->tpl->setContent($c_gui->getHTML());
3311 if(!is_array(
$_POST[
"waiting"]))
3320 $this->tabs_gui->setTabActive(
'members');
3321 $this->tabs_gui->setSubTabActive(
'grp_edit_members');
3323 include_once(
"Services/Utilities/classes/class.ilConfirmationGUI.php");
3327 $c_gui->setFormAction($this->ctrl->getFormAction($this,
"assignFromWaitingList"));
3328 $c_gui->setHeaderText($this->lng->txt(
"info_assign_sure"));
3329 $c_gui->setCancel($this->lng->txt(
"cancel"),
"members");
3330 $c_gui->setConfirm($this->lng->txt(
"confirm"),
"assignFromWaitingList");
3332 foreach(
$_POST[
"waiting"] as $waiting)
3336 $c_gui->addItem(
'waiting[]',
3338 $name[
'lastname'].
', '.$name[
'firstname'].
' ['.$name[
'login'].
']',
3342 $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 _lookupLogin($a_user_id)
lookup login
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.
static isActive()
Is feature active?
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.
setObjParticipants($objParticipants)
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
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
static _getInstanceByObjId($a_obj_id)
Get singleton instance.
setValue($a_value)
Set Value.
static _gotoRepositoryRoot($a_raise_error=false)
Goto repository root.
ilUsersGalleryGUI: ilPublicUserProfileGUI ilUsersGalleryGUI: ilObjCourseGUI, ilObjGroupGUI ...
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.
Class ilMailMemberSearchGUI.
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
updateGroupTypeObject()
change group type
const GRP_REGISTRATION_REQUEST
static _hasAccepted($a_usr_id, $a_obj_id)
Check if user has accepted agreement.
Class ilMailMemberCourseRoles.
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)
setSize($a_size)
Set Size.
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.
jump2UsersGalleryObject()
& forwardToPageObject()
forward command to page object
redirection script todo: (a better solution should control the processing via a xml file) ...
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.
Class ilUsersGalleryParticipants.
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
load(ilPropertyFormGUI $a_form)
load settings
checkAgreement()
Check agreement and redirect if it is not accepted.
static generateCode()
Generate new registration key.
refuseSubscribersObject()
refuse subscribers
initHeaderAction($a_sub_type=null, $a_sub_id=null)
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
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
static fillAutoCompleteToolbar($parent_object, ilToolbarGUI $toolbar=null, $a_options=array(), $a_sticky=false)
fill toolbar with
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.
$GLOBALS['PHPCAS_CLIENT']
This global variable is used by the interface class phpCAS.
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
Membership notification settings.
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
editObject(ilPropertyFormGUI $a_form=null)
Edit object.
membersObject()
edit members
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)