5include_once
"./Services/Container/classes/class.ilContainerGUI.php";
6include_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(),
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';
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';
465 $sort->setSortMode($sort_mode);
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();
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())
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"));
746 $public->setValue(
"1");
747 $public->setChecked($this->object->getEnableGroupMap());
748 $form->addItem($public);
753 $loc_prop->setLatitude($latitude);
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'),
1007 'user_type' => $this->getLocalRoles(),
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);
1112 $table_gui->addHeaderCommand($this->ctrl->getLinkTarget($this,
'members'),
1113 $this->lng->txt(
'show'));
1114 $this->ctrl->clearParameters($this);
1119 $this->ctrl->setParameter($this,
'member_hide',1);
1120 $table_gui->addHeaderCommand($this->ctrl->getLinkTarget($this,
'members'),
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(
1281 $waiting_list->removeFromList($user_id);
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)
1324 $waiting_list->removeFromList($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');
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'],
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]))
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=".
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))
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'));
2418 $title->setSubmitFormOnEnter(
true);
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);
2444 $grp_type->setValue($type);
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);
2479 $opt_pass->addSubItem(
$pass);
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');
2522 $dur->setStartText($this->lng->txt(
'cal_start'));
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';
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());
const GRP_REGISTRATION_DIRECT
const GRP_REGISTRATION_PASSWORD
const GRP_REGISTRATION_DEACTIVATED
const GRP_REGISTRATION_REQUEST
Base class for attendance lists.
_recordWriteEvent($obj_id, $usr_id, $action, $parent_obj_id=null)
Records a write event.
_catchupWriteEvents($obj_id, $usr_id, $timestamp=null)
Catches up with all write events which occured before the specified timestamp.
static getInstanceFromAjaxCall()
(Re-)Build instance from ajax call
Confirmation screen class.
& forwardToPageObject()
forward command to page object
initSortingForm(ilPropertyFormGUI $form, array $a_sorting_settings)
Append sorting settings to property form.
ilContainerGUI($a_data, $a_id, $a_call_by_reference=true, $a_prepare_output=true)
Constructor @access public.
forwardToStyleSheet()
Forward to style object.
showCustomIconsEditing($a_input_colspan=1, ilPropertyFormGUI $a_form=null, $a_as_section=true)
show edit section of custom icons for container
saveSortingSettings(ilPropertyFormGUI $form)
Save sorting settings.
Class ilCourseContentGUI.
static _getFields($a_container_id, $a_sort=IL_CDF_SORT_NAME)
Get all fields of a container.
static _hasFields($a_container_id)
Check if there are any define fields.
static _fieldsToInfoString($a_obj_id)
Fields to info string.
static _getInstanceByObjId($a_obj_id)
Get singleton instance.
static _checkRequired($a_usr_id, $a_obj_id)
Check required fields.
static formatDate(ilDateTime $date)
Format a date @access public.
@classDescription Date and time handling
Class ilECSGroupSettings.
Class ilExcelWriterAdapter.
static _getInstanceByType($a_type)
Get Singleton Instance.
Export User Interface Class.
const TYPE_ACCEPTED_SUBSCRIPTION_MEMBER
const TYPE_UNSUBSCRIBE_MEMBER
const TYPE_NOTIFICATION_UNSUBSCRIBE
const TYPE_ADMISSION_MEMBER
const TYPE_REFUSED_SUBSCRIPTION_MEMBER
const TYPE_DISMISS_MEMBER
const TYPE_STATUS_CHANGED
static getMemberRoles($a_ref_id)
Get member roles (not auto generated)
static _getInstanceByObjId($a_obj_id)
Get singleton instance.
static _isParticipant($a_ref_id, $a_usr_id)
Static function to check if a user is a participant of the container object.
GUI class for group registrations.
static _lookupCompletedForObject($a_obj_id, $a_user_ids=null)
Get completed users for object.
static _lookupFailedForObject($a_obj_id, $a_user_ids=null)
Get failed users for object.
static _lookupInProgressForObject($a_obj_id, $a_user_ids=null)
Get in progress users for object.
const LP_STATUS_COMPLETED
const LP_STATUS_NOT_ATTEMPTED
const LP_STATUS_IN_PROGRESS
static checkAccess($a_ref_id, $a_allow_only_read=true)
check access to learning progress
const LP_CONTEXT_REPOSITORY
Class ilObjUserTrackingGUI.
static _tracProgress($a_user_id, $a_obj_id, $a_ref_id, $a_obj_type='')
static _lookupProgressByObjId($a_obj_id)
lookup progress for a specific object
static _getLink($a_ref_id, $a_type='', $a_params=array(), $append="")
Class ilMailMemberCourseRoles.
Class ilMailMemberSearchGUI.
Class Mail this class handles base functions for mail handling.
static isActivated()
Checks whether Map feature is activated.
static getMapGUI()
Get an instance of the GUI class.
static getDefaultSettings()
Get default longitude, latitude and zoom.
static _hasAccepted($a_usr_id, $a_obj_id)
Check if user has accepted agreement.
static getInstance()
Get instance.
Membership notification settings.
static isActive()
Is feature active?
static handleCode($a_ref_id, $a_type, $a_code)
Handle target parameter.
static generateCode()
Generate new registration key.
static _modifyItemGUI($a_item_list_gui, $a_cmd_class, $a_item_data, $a_show_path, $a_abo_status, $a_course_ref_id, $a_course_obj_id, $a_parent_ref_id=0)
We need a static version of this, e.g.
Class ilObjCourseGroupingGUI.
static lookupRegistrationInfo($a_obj_id)
Lookup registration info @global ilDB $ilDB @global ilObjUser $ilUser @global ilLanguage $lng.
addUserObject($user_ids, $a_type)
displays confirmation formular with users that shall be assigned to group @access public
saveNotificationObject()
:TEMP: Save notification setting (from infoscreen)
initInfoEditor()
init info editor
membersMapObject()
Members map.
refuseSubscribersObject()
refuse subscribers
confirmAssignFromWaitingListObject()
assignSubscribersObject()
assign subscribers
exportMembersObject()
Exports group members to Microsoft Excel file.
readMemberData($ids, $role='admin', $selected_columns=null)
setShowHidePrefs()
set preferences (show/hide tabel content)
membersObject()
edit members
load(ilPropertyFormGUI $a_form)
load settings
confirmDeleteMembersObject()
delete selected members
exportObject()
Creates the output form for group member export.
jump2UsersGalleryObject()
refuseApplicantsObject()
adds applicant to group as member @access public
updateStatusObject()
update status
confirmAssignSubscribersObject()
editMembersObject()
edit member(s)
assignFromWaitingListObject()
add from waiting list
refuseFromListObject()
refuse from waiting list
cleanString($str)
Clean output string from german umlauts.
renderObject()
Render group.
infoScreen()
show information screen
updateObject()
update GroupObject
initAttendanceList()
Init attendance list object.
checkAgreement()
Check agreement and redirect if it is not accepted.
editInfoObject()
edit info
updateMembersObject()
update members
canceledObject()
canceledObject is called when operation is canceled, method links back @access public
editMemberObject()
edit one member
getAttendanceListUserData($a_user_id)
__construct($a_data, $a_id, $a_call_by_reference, $a_prepare_output=false)
Constructor @access public.
editGroupIconsObject($a_form=null)
edit container icons
infoScreenObject()
set sub tabs
editMapSettingsObject()
Edit Map Settings.
sendMailToSelectedUsersObject()
show send mail
modifyItemGUI($a_item_list_gui, $a_item_data, $a_show_path)
Modify Item ListGUI for presentation in container.
assignMemberObject()
displays confirmation formular with users that shall be assigned to group @access public
addMailToMemberButton($ilToolbar, $back_cmd=null, $a_separator=false)
add Mail to Member button to toolbar
createMailSignature()
Create a course mail signature.
printMembersOutputObject()
initCreateForm($a_new_type)
Init object creation form.
setSubTabs($a_tab)
set sub tabs
unsubscribeObject()
unsubscribe from group
confirmRefuseFromListObject()
updateGroupIconsObject()
update group icons
deleteMembersObject()
delete members
updateGroupTypeObject()
change group type
static _goto($a_target, $a_add="")
goto target group
editObject(ilPropertyFormGUI $a_form=null)
Edit object.
viewObject()
list childs of current object
prepareOutput()
Handle member view.
& executeCommand()
execute command note: this method is overwritten in all container objects
loadDate($a_field)
load date
getLocalRoles()
returns all local roles [role_id] => title
confirmRefuseSubscribersObject()
leaveObject()
leave Group @access public
initHeaderAction($a_sub_type=null, $a_sub_id=null)
Add file manager link.
initForm($a_mode='edit')
init create/edit form
updateInfoObject()
update info
getTabs(&$tabs_gui)
common tabs for all container objects (should be called at the end of child getTabs() method
const MAIL_ALLOWED_TUTORS
_importFromFile($file, $parent_id)
Static used for importing an group from xml zip file.
static getAvailablePortfolioLinksForUserIds(array $a_owner_ids, $a_back_url=null)
_getTranslation($a_role_title)
getContentStylePath($a_style_id)
get content style path
static _enabledLearningProgress()
check wether learing progress is enabled or not
static _enabledUserRelatedData()
check wether user related tracking is enabled or not
static _lookupLogin($a_user_id)
lookup login
static _lookupName($a_user_id)
lookup user name
GUI class for the workflow of copying objects.
getInstanceByObjId($a_obj_id, $stop_on_error=true)
get an instance of an Ilias object by object id
checkPermission($a_perm, $a_cmd="", $a_type="", $a_ref_id=null)
Check permission and redirect on error.
putObjectInTree(ilObject $a_obj, $a_parent_node_id=null)
Add object to tree at given position.
getFormAction($a_cmd, $a_formaction="")
get form action for command (command is method name without "Object", e.g.
static _gotoRepositoryNode($a_ref_id, $a_cmd="frameset")
Goto repository root.
static _gotoRepositoryRoot($a_raise_error=false)
Goto repository root.
getCreationMode()
get creation mode
checkPermissionBool($a_perm, $a_cmd="", $a_type="", $a_ref_id=null)
Check permission.
addHeaderAction()
Add header action menu.
createObject()
create new object form
static getInstance($a_obj_id)
GUI class for service settings (calendar, notes, comments)
const AUTO_RATING_NEW_OBJECTS
static initServiceSettingsForm($a_obj_id, ilPropertyFormGUI $form, $services)
Init service settings form.
static updateServiceSettingsForm($a_obj_id, ilPropertyFormGUI $form, $services)
Update service settings.
const CALENDAR_VISIBILITY
static _lookupObjId($a_id)
const TITLE_LENGTH
max length of object title
static _lookupTitle($a_id)
lookup object title
static _lookupType($a_id, $a_reference=false)
lookup object type
New PermissionGUI (extends from old ilPermission2GUI) RBAC related output.
static _getInstance()
Get instance of ilPrivacySettings.
GUI class for public user profile presentation.
This class represents an option in a radio group.
static fillAutoCompleteToolbar($parent_object, ilToolbarGUI $toolbar=null, $a_options=array(), $a_sticky=false)
fill toolbar with
GUI class for course/group subscriptions.
This class represents a text area property in a property form.
This class represents a text property in a property form.
@ilCtrl_Calls ilUsersGalleryGUI: ilPublicUserProfileGUI @ilCtrl_isCalledBy ilUsersGalleryGUI: ilObjCo...
Class ilUsersGalleryParticipants.
static sendQuestion($a_info="", $a_keep=false)
Send Question to Screen.
static sendSuccess($a_info="", $a_keep=false)
Send Success Message to Screen.
static redirect($a_script)
http redirect to other script
static sendFailure($a_info="", $a_keep=false)
Send Failure Message to Screen.
static makeClickable($a_text, $detectGotoLinks=false)
makeClickable In Texten enthaltene URLs und Mail-Adressen klickbar machen
static stripSlashes($a_str, $a_strip_html=true, $a_allow="")
strip slashes if magic qoutes is enabled
static sendInfo($a_info="", $a_keep=false)
Send Info Message to Screen.
static getImagePath($img, $module_path="", $mode="output", $offline=false)
get image path (for images located in a template directory)
GUI class for course/group waiting list.
static _isOnList($a_usr_id, $a_obj_id)
Check if a user on the waiting list.
$GLOBALS['PHPCAS_CLIENT']
This global variable is used by the interface class phpCAS.
redirection script todo: (a better solution should control the processing via a xml file)
if($_REQUEST['ilias_path']) define('ILIAS_HTTP_PATH' $_REQUEST['ilias_path']