5include_once
"./Services/Container/classes/class.ilContainerGUI.php";
6include_once(
'./Modules/Group/classes/class.ilObjGroup.php');
41 public function __construct($a_data, $a_id, $a_call_by_reference, $a_prepare_output =
false)
50 $this->lng->loadLanguageModule(
'grp');
51 $this->lng->loadLanguageModule(
'obj');
54 $this->news =
$DIC->news();
63 $ilAccess =
$DIC[
'ilAccess'];
64 $ilNavigationHistory =
$DIC[
'ilNavigationHistory'];
66 $ilToolbar =
$DIC[
'ilToolbar'];
68 $next_class = $this->ctrl->getNextClass($this);
69 $cmd = $this->ctrl->getCmd();
74 $ilAccess->checkAccess(
"read",
"",
$_GET[
"ref_id"])) {
75 include_once(
"./Services/Link/classes/class.ilLink.php");
76 $ilNavigationHistory->addItem(
84 if ($next_class ==
"" && $cmd ==
"" && $this->object->isNewsTimelineLandingPageEffective()
85 && $ilAccess->checkAccess(
"read",
"",
$_GET[
"ref_id"])) {
86 $this->ctrl->redirectbyclass(
"ilnewstimelinegui");
89 $header_action =
true;
90 switch ($next_class) {
92 $ru = new \ilRepUtilGUI($this);
93 $this->ctrl->setReturn($this,
'trash');
94 $this->ctrl->forwardCommand($ru);
97 case 'illtiproviderobjectsettinggui':
99 $this->tabs_gui->activateTab(
'settings');
100 $this->tabs_gui->activateSubTab(
'lti_provider');
102 $lti_gui->setCustomRolesForSelection(
$GLOBALS[
'DIC']->rbac()->review()->
getLocalRoles($this->object->getRefId()));
103 $lti_gui->offerLTIRolesForSelection(
false);
104 $this->ctrl->forwardCommand($lti_gui);
108 case 'ilgroupmembershipgui':
110 $this->tabs_gui->activateTab(
'members');
112 include_once
'./Modules/Group/classes/class.ilGroupMembershipGUI.php';
114 $this->ctrl->forwardCommand($mem_gui);
118 case 'ilgroupregistrationgui':
119 $this->ctrl->setReturn($this,
'');
120 $this->tabs_gui->setTabActive(
'join');
121 include_once(
'./Modules/Group/classes/class.ilGroupRegistrationGUI.php');
123 $this->ctrl->forwardCommand($registration);
126 case 'ilpermissiongui':
127 $this->tabs_gui->activateTab(
'perm_settings');
128 include_once(
"Services/AccessControl/classes/class.ilPermissionGUI.php");
130 $ret = &$this->ctrl->forwardCommand($perm_gui);
133 case "ilinfoscreengui":
137 case "illearningprogressgui":
138 include_once
'./Services/Tracking/classes/class.ilLearningProgressGUI.php';
142 $this->object->getRefId(),
145 $this->ctrl->forwardCommand($new_gui);
146 $this->tabs_gui->setTabActive(
'learning_progress');
149 case 'ilobjcoursegroupinggui':
152 include_once
'./Modules/Course/classes/class.ilObjCourseGroupingGUI.php';
153 $this->ctrl->setReturn($this,
'edit');
155 $this->ctrl->forwardCommand($crs_grp_gui);
157 $this->tabs_gui->setTabActive(
'settings');
158 $this->tabs_gui->setSubTabActive(
'groupings');
161 case 'ilcoursecontentgui':
163 include_once
'./Modules/Course/classes/class.ilCourseContentGUI.php';
165 $this->ctrl->forwardCommand($course_content_obj);
168 case 'ilpublicuserprofilegui':
169 require_once
'./Services/User/classes/class.ilPublicUserProfileGUI.php';
171 $this->tabs_gui->setTabActive(
'group_members');
172 $this->tabs_gui->setSubTabActive(
'grp_members_gallery');
174 if (
$_GET[
"back_url"] ==
"") {
175 $profile_gui->setBackUrl($this->ctrl->getLinkTargetByClass([
"ilGroupMembershipGUI",
"ilUsersGalleryGUI"],
'view'));
177 $html = $this->ctrl->forwardCommand($profile_gui);
178 $this->tpl->setVariable(
"ADM_CONTENT", $html);
182 $this->tabs_gui->setTabActive(
'none');
184 include_once(
"./Services/Style/Content/classes/class.ilObjStyleSheet.php");
185 $this->tpl->setVariable(
186 "LOCATION_CONTENT_STYLESHEET",
193 case "ilcontainerpagegui":
196 $this->tpl->setContent(
$ret);
198 $header_action =
false;
201 case 'ilobjectcopygui':
202 include_once
'./Services/Object/classes/class.ilObjectCopyGUI.php';
205 $this->ctrl->forwardCommand($cp);
208 case "ilobjstylesheetgui":
212 case 'ilobjectcustomuserfieldsgui':
213 include_once
'./Services/Membership/classes/class.ilObjectCustomUserFieldsGUI.php';
216 $this->tabs_gui->setTabActive(
'settings');
217 $this->tabs_gui->activateSubTab(
'grp_custom_user_fields');
218 $this->ctrl->forwardCommand($cdf_gui);
221 case 'ilmemberagreementgui':
222 include_once(
'Services/Membership/classes/class.ilMemberAgreementGUI.php');
223 $this->ctrl->setReturn($this,
'');
224 $this->tabs_gui->setTabActive(
'view_content');
226 $this->ctrl->forwardCommand($agreement);
230 $this->tabs_gui->setTabActive(
'export');
231 include_once
'./Services/Export/classes/class.ilExportGUI.php';
233 $exp->addFormat(
'xml');
234 $this->ctrl->forwardCommand($exp);
237 case "ilcommonactiondispatchergui":
238 include_once(
"Services/Object/classes/class.ilCommonActionDispatcherGUI.php");
240 $this->ctrl->forwardCommand($gui);
243 case 'ilobjectservicesettingsgui':
244 $this->ctrl->setReturn($this,
'edit');
246 $this->tabs_gui->activateTab(
'settings');
247 $this->tabs_gui->activateSubTab(
'tool_settings');
249 include_once
'./Services/Object/classes/class.ilObjectServiceSettingsGUI.php';
252 $this->object->getId(),
257 $this->ctrl->forwardCommand(
$service);
260 case 'ilmailmembersearchgui':
261 include_once
'Services/Mail/classes/class.ilMail.php';
264 if (!($ilAccess->checkAccess(
'manage_members',
'', $this->object->getRefId()) ||
266 $rbacsystem->checkAccess(
'internal_mail', $mail->getMailObjectReferenceId())) {
267 $ilErr->raiseError($this->lng->txt(
"msg_no_perm_read"),
$ilErr->MESSAGE);
270 $this->tabs_gui->setTabActive(
'members');
272 include_once
'./Services/Contact/classes/class.ilMailMemberSearchGUI.php';
273 include_once
'./Services/Contact/classes/class.ilMailMemberGroupRoles.php';
277 $this->ctrl->forwardCommand($mail_search);
280 case 'ilbadgemanagementgui':
281 $this->tabs_gui->setTabActive(
'obj_tool_setting_badges');
282 include_once
'Services/Badge/classes/class.ilBadgeManagementGUI.php';
284 $this->ctrl->forwardCommand($bgui);
287 case "ilcontainernewssettingsgui":
289 $this->tabs_gui->setTabActive(
'settings');
290 $this->tabs_gui->activateSubTab(
'obj_news_settings');
291 include_once(
"./Services/Container/classes/class.ilContainerNewsSettingsGUI.php");
293 $news_set_gui->setTimeline(
true);
294 $news_set_gui->setCronNotifications(
true);
295 $news_set_gui->setHideByDate(
true);
296 $this->ctrl->forwardCommand($news_set_gui);
299 case "ilnewstimelinegui":
301 $this->tabs_gui->setTabActive(
'news_timeline');
302 include_once(
"./Services/News/classes/class.ilNewsTimelineGUI.php");
304 $t->setUserEditAll($ilAccess->checkAccess(
'write',
'', $this->object->getRefId(),
'grp'));
306 $this->ctrl->forwardCommand($t);
307 include_once
'Services/Tracking/classes/class.ilLearningProgress.php';
310 $this->object->getId(),
311 $this->object->getRefId(),
316 case "ilcontainerskillgui":
317 $this->tabs_gui->activateTab(
'obj_tool_setting_skills');
318 include_once(
"./Services/Container/Skills/classes/class.ilContainerSkillGUI.php");
320 $this->ctrl->forwardCommand($gui);
323 case 'ilcalendarpresentationgui':
324 include_once(
'./Services/Calendar/classes/class.ilCalendarPresentationGUI.php');
326 $ret = $this->ctrl->forwardCommand($cal);
329 case 'ilobjectmetadatagui':
330 if (!$ilAccess->checkAccess(
'write',
'', $this->object->getRefId())) {
331 $ilErr->raiseError($this->lng->txt(
'permission_denied'),
$ilErr->WARNING);
333 $this->tabs_gui->activateTab(
'meta_data');
338 case 'ilobjecttranslationgui':
341 $this->tabs->activateTab(
"settings");
342 include_once(
"./Services/Object/classes/class.ilObjectTranslationGUI.php");
344 $this->ctrl->forwardCommand($transgui);
351 !$ilAccess->checkAccess(
'visible',
'', $this->object->getRefId(),
'grp') and
352 !$ilAccess->checkAccess(
'read',
'', $this->object->getRefId(),
'grp')) {
353 $ilErr->raiseError($this->lng->txt(
"msg_no_perm_read"),
$ilErr->MESSAGE);
357 if ($cmd ==
'infoScreenGoto') {
358 if ($this->object->isRegistrationEnabled()) {
367 && !
$rbacsystem->checkAccess(
'read', $this->object->getRefId()) && $cmd !=
'infoScreen')
370 if (!
$rbacsystem->checkAccess(
'join', $this->object->getRefId())) {
371 $this->ctrl->redirect($this,
"infoScreen");
373 include_once(
'./Modules/Group/classes/class.ilGroupRegistrationGUI.php');
374 $this->ctrl->redirectByClass(
"ilGroupRegistrationGUI",
"show");
385 if ($header_action) {
398 include_once
'Services/Tracking/classes/class.ilLearningProgress.php';
401 $this->object->getId(),
402 $this->object->getRefId(),
407 $this->object->getId(),
408 $this->object->getId(),
413 if (strtolower(
$_GET[
"baseClass"]) ==
"iladministrationgui") {
414 parent::viewObject();
419 include_once(
'Services/Membership/classes/class.ilMemberAgreementGUI.php');
420 $this->tabs_gui->setTabActive(
'view_content');
421 $this->ctrl->setReturn($this,
'view');
423 $this->ctrl->setCmdClass(get_class($agreement));
424 $this->ctrl->forwardCommand($agreement);
428 $this->tabs_gui->setTabActive(
'view_content');
439 $ilTabs =
$DIC[
'ilTabs'];
441 $ilTabs->activateTab(
"view_content");
442 $ret = parent::renderObject();
460 if ($course_ref_id =
$tree->checkForParentType($this->object->getRefId(),
'crs')) {
461 include_once(
"./Modules/Course/classes/class.ilObjCourse.php");
462 include_once(
"./Modules/Course/classes/class.ilObjCourseGUI.php");
466 'ilcoursecontentgui',
472 $this->object->getRefId()
494 $GLOBALS[
'DIC'][
'tree']->checkForParentType($new_object->
getRefId(),
'crs',
true) ||
495 $GLOBALS[
'DIC'][
'tree']->checkForParentType($new_object->
getRefId(),
'grp',
true)
501 include_once
'./Services/Container/classes/class.ilContainerSortingSettings.php';
503 $sort->setSortMode($sort_mode);
508 include_once
'./Modules/Group/classes/class.ilGroupParticipants.php';
511 $members_obj->updateNotification(
$ilUser->getId(),
$ilSetting->get(
'mail_grp_admin_notification',
true));
512 $members_obj->updateContact(
$ilUser->getId(),
true);
514 ilUtil::sendSuccess($this->lng->txt(
"object_added"),
true);
516 $this->ctrl->setParameter($this,
"ref_id", $new_object->
getRefId());
517 $this->ctrl->redirect($this,
'edit');
533 $this->tabs_gui->setTabActive(
'settings');
534 $this->tabs_gui->setSubTabActive(
'grp_settings');
540 $this->tpl->setVariable(
'ADM_CONTENT', $a_form->getHTML());
552 include_once
'./Services/DidacticTemplate/classes/class.ilDidacticTemplateUtils.php';
554 $this->object->getRefId(),
555 (
int) $_REQUEST[
'grp_type']
558 ilUtil::sendSuccess($this->lng->txt(
'settings_saved'),
true);
559 $this->ctrl->redirect($this,
'edit');
575 if ($form->checkInput()) {
577 include_once
'./Services/DidacticTemplate/classes/class.ilDidacticTemplateObjSettings.php';
581 $new_type_info = $form->getInput(
'didactic_type');
582 if ($new_type_info) {
583 $new_type = explode(
'_', $form->getInput(
'didactic_type'));
584 $new_type = $new_type[1];
586 $modified = ($new_type != $old_type);
592 $form->getInput(
'sl') ==
"1" &&
593 $form->getInput(
'list_presentation') ==
"tile") {
594 $form->setValuesByPost();
599 $old_autofill = $this->
object->hasWaitingListAutoFill();
606 $this->
object->enableUnlimitedRegistration((
bool) !$form->getInput(
'reg_limit_time'));
607 $this->
object->enableMembershipLimitation((
bool) $form->getInput(
'registration_membership_limited'));
608 $this->
object->setMinMembers((
int) $form->getInput(
'registration_min_members'));
609 $this->
object->setMaxMembers((
int) $form->getInput(
'registration_max_members'));
610 $this->
object->enableRegistrationAccessCode((
bool) $form->getInput(
'reg_code_enabled'));
611 $this->
object->setRegistrationAccessCode($form->getInput(
'reg_code'));
612 $this->
object->setViewMode($form->getInput(
'view_mode'));
613 $this->
object->setMailToMembersType((
int) $form->getInput(
'mail_type'));
614 $this->
object->setShowMembers((
int) $form->getInput(
'show_members'));
615 $this->
object->setAutoNotification((
bool) $form->getInput(
'auto_notification'));
618 $this->
object->enableSessionLimit((
int) $form->getInput(
'sl'));
619 $session_sp = $form->getInput(
'sp');
620 $this->
object->setNumberOfPreviousSessions(is_numeric($session_sp) ? (
int) $session_sp : -1);
621 $session_sn = $form->getInput(
'sn');
622 $this->
object->setNumberOfnextSessions(is_numeric($session_sn) ? (
int) $session_sn : -1);
625 $grp_period = $form->getItemByPostVar(
"period");
628 $this->
object->setPeriod(
629 $grp_period->getStart(),
630 $grp_period->getEnd()
633 $reg = $form->getItemByPostVar(
"reg");
635 $this->
object->enableUnlimitedRegistration(
false);
637 $this->
object->enableUnlimitedRegistration(
true);
640 $this->
object->setRegistrationStart($reg->getStart());
641 $this->
object->setRegistrationEnd($reg->getEnd());
643 $cancel_end = $form->getItemByPostVar(
"cancel_end");
644 $this->
object->setCancellationEnd($cancel_end->getDate());
646 switch ((
int)
$_POST[
'waiting_list']) {
648 $this->
object->enableWaitingList(
true);
649 $this->
object->setWaitingListAutoFill(
true);
653 $this->
object->enableWaitingList(
true);
654 $this->
object->setWaitingListAutoFill(
false);
658 $this->
object->enableWaitingList(
false);
659 $this->
object->setWaitingListAutoFill(
false);
664 $obj_service->commonSettings()->legacyForm($form, $this->
object)->saveTitleIconVisibility();
667 $obj_service->commonSettings()->legacyForm($form, $this->
object)->saveTopActionsVisibility();
670 $obj_service->commonSettings()->legacyForm($form, $this->
object)->saveIcon();
673 $obj_service->commonSettings()->legacyForm($form, $this->
object)->saveTileImage();
679 $this->
object->update();
682 include_once
'./Services/Object/classes/class.ilObjectServiceSettingsGUI.php';
684 $this->object->getId(),
686 $this->getSubServices()
694 $this->object->hasWaitingListAutoFill()) {
695 $this->
object->handleAutoFill();
699 require_once(
'Services/Tracking/classes/class.ilChangeEvent.php');
704 $this->object->getId(),
711 include_once
'Modules/Group/classes/class.ilECSGroupSettings.php';
713 $ecs->handleSettingsUpdate();
717 $form->setValuesByPost();
724 if ($new_type == 0) {
725 $new_type_txt =
$GLOBALS[
'DIC'][
'lng']->txt(
'il_grp_status_open');
727 include_once
'./Services/DidacticTemplate/classes/class.ilDidacticTemplateSetting.php';
729 $new_type_txt = $dtpl->getPresentationTitle(
$GLOBALS[
'DIC'][
'lng']->getLangKey());
733 include_once
'./Services/Utilities/classes/class.ilConfirmationGUI.php';
736 $confirm->setFormAction($this->ctrl->getFormAction($this));
740 $this->lng->txt(
'grp_info_new_grp_type') .
': ' . $new_type_txt
742 $confirm->addButton($this->lng->txt(
'grp_change_type'),
'updateGroupType');
743 $confirm->setCancel($this->lng->txt(
'cancel'),
'edit');
745 $this->tpl->setContent($confirm->getHTML());
748 ilUtil::sendSuccess($this->lng->txt(
"msg_obj_modified"),
true);
749 $this->ctrl->redirect($this,
'edit');
766 if ($this->news->isGloballyActivated()) {
781 $ilCtrl =
$DIC[
'ilCtrl'];
783 $ilAccess =
$DIC[
'ilAccess'];
786 $this->tabs_gui->setTabActive(
'settings');
787 $this->tabs_gui->setSubTabActive(
'grp_map_settings');
789 include_once(
'./Services/Maps/classes/class.ilMapUtil.php');
791 !$ilAccess->checkAccess(
"write",
"", $this->object->getRefId())) {
795 $latitude = $this->
object->getLatitude();
796 $longitude = $this->
object->getLongitude();
797 $zoom = $this->
object->getLocationZoom();
800 if ($latitude == 0 && $longitude == 0 && $zoom == 0) {
802 $latitude = $def[
"latitude"];
803 $longitude = $def[
"longitude"];
804 $zoom = $def[
"zoom"];
808 include_once(
"./Services/Form/classes/class.ilPropertyFormGUI.php");
810 $form->setFormAction($ilCtrl->getFormAction($this));
812 $form->setTitle($this->lng->txt(
"grp_map_settings"));
816 $this->lng->txt(
"grp_enable_map"),
819 $public->setValue(
"1");
820 $public->setChecked($this->object->getEnableGroupMap());
821 $form->addItem($public);
825 $this->lng->txt(
"grp_map_location"),
828 $loc_prop->setLatitude($latitude);
829 $loc_prop->setLongitude($longitude);
830 $loc_prop->setZoom($zoom);
831 $form->addItem($loc_prop);
833 $form->addCommandButton(
"saveMapSettings", $this->lng->txt(
"save"));
835 $this->tpl->setVariable(
"ADM_CONTENT", $form->getHTML());
842 $ilCtrl =
$DIC[
'ilCtrl'];
849 $this->
object->update();
851 $ilCtrl->redirect($this,
"editMapSettings");
866 $ilAccess =
$DIC[
'ilAccess'];
871 $this->tabs_gui->setTabActive(
'settings');
872 $this->tabs_gui->setSubTabActive(
'grp_info_settings');
875 $this->tpl->setContent($form->getHTML());
886 include_once(
"./Services/Form/classes/class.ilPropertyFormGUI.php");
888 $form->setFormAction($this->ctrl->getFormAction($this,
'updateInfo'));
889 $form->setTitle($this->lng->txt(
'grp_general_informations'));
890 $form->addCommandButton(
'updateInfo', $this->lng->txt(
'save'));
891 $form->addCommandButton(
'cancel', $this->lng->txt(
'cancel'));
894 $area->setInfo($this->lng->txt(
'grp_information_info'));
895 $area->setValue($this->object->getInformation());
898 $form->addItem($area);
914 $this->
object->update();
916 ilUtil::sendSuccess($this->lng->txt(
"settings_saved"));
924 include_once(
'./Services/PrivacySecurity/classes/class.ilPrivacySettings.php');
927 include_once
'./Services/Tracking/classes/class.ilObjUserTracking.php';
928 $this->show_tracking =
933 if ($this->show_tracking) {
934 include_once(
'./Services/Object/classes/class.ilObjectLP.php');
936 $this->show_tracking = $olp->isActive();
939 if ($this->show_tracking) {
940 include_once
'Services/Tracking/classes/class.ilLPStatusWrapper.php';
946 if ($privacy->enabledGroupAccessTimes()) {
947 include_once(
'./Services/Tracking/classes/class.ilLearningProgress.php');
951 $do_prtf = (is_array($selected_columns) &&
952 in_array(
'prtf', $selected_columns) &&
955 include_once
"Modules/Portfolio/classes/class.ilObjPortfolio.php";
958 $this->ctrl->getLinkTarget($this,
"members")
968 foreach ($ids as $usr_id) {
969 $tmp_data[
'notification'] = $this->
object->members_obj->isNotificationEnabled($usr_id) ? 1 : 0;
970 $tmp_data[
'contact'] = $this->
object->members_obj->isContact($usr_id) ? 1 : 0;
972 foreach ((array) $profile_data[$usr_id] as $field => $value) {
973 $tmp_data[$field] = $value;
976 if ($this->show_tracking) {
977 if (in_array($usr_id, $completed)) {
979 } elseif (in_array($usr_id, $in_progress)) {
981 } elseif (in_array($usr_id,
$failed)) {
988 if ($privacy->enabledGroupAccessTimes()) {
989 if (isset($progress[$usr_id][
'ts']) and $progress[$usr_id][
'ts']) {
993 $tmp_data[
'access_time_unix'] = $tmp_date->get(
IL_CAL_UNIX);
995 $tmp_data[
'access_time'] = $this->lng->txt(
'no_date');
996 $tmp_data[
'access_time_unix'] = 0;
1001 $tmp_data[
'prtf'] = $all_prtf[$usr_id];
1004 $members[$usr_id] = $tmp_data;
1006 return $members ? $members : array();
1022 if ($part->isLastAdmin(
$ilUser->getId())) {
1028 $this->tabs_gui->setTabActive(
'grp_btn_unsubscribe');
1030 include_once
"Services/Utilities/classes/class.ilConfirmationGUI.php";
1032 $cgui->setHeaderText($this->lng->txt(
'grp_dismiss_myself'));
1033 $cgui->setFormAction($this->ctrl->getFormAction($this));
1034 $cgui->setCancel($this->lng->txt(
"cancel"),
"cancel");
1035 $cgui->setConfirm($this->lng->txt(
"grp_btn_unsubscribe"),
"unsubscribe");
1036 $this->tpl->setContent($cgui->getHTML());
1051 $ilCtrl =
$DIC[
'ilCtrl'];
1055 $this->
object->members_obj->delete(
$ilUser->getId());
1057 include_once
'./Modules/Group/classes/class.ilGroupMembershipMailNotification.php';
1058 $this->
object->members_obj->sendNotification(
1062 $this->
object->members_obj->sendNotification(
1067 ilUtil::sendSuccess($this->lng->txt(
'grp_msg_membership_annulled'),
true);
1068 $ilCtrl->setParameterByClass(
1071 $tree->getParentId($this->object->getRefId())
1073 $ilCtrl->redirectByClass(
"ilrepositorygui",
"");
1084 $this->tabs_gui->addTab(
1086 $this->lng->txt(
"content"),
1087 $this->ctrl->getLinkTarget($this,
"view")
1099 $ilAccess =
$DIC[
'ilAccess'];
1101 $ilHelp =
$DIC[
'ilHelp'];
1103 $ilHelp->setScreenIdComponent(
"grp");
1105 if ($ilAccess->checkAccess(
'read',
'', $this->ref_id)) {
1106 if ($this->object->isNewsTimelineEffective()) {
1107 if (!$this->object->isNewsTimelineLandingPageEffective()) {
1110 $this->tabs_gui->addTab(
1112 $lng->txt(
"cont_news_timeline_tab"),
1113 $this->ctrl->getLinkTargetByClass(
"ilnewstimelinegui",
"show")
1115 if ($this->object->isNewsTimelineLandingPageEffective()) {
1123 $ilAccess->checkAccess(
'visible',
'', $this->ref_id) ||
1124 $ilAccess->checkAccess(
'join',
'', $this->ref_id) ||
1125 $ilAccess->checkAccess(
'read',
'', $this->ref_id)
1127 $this->tabs_gui->addTarget(
1129 $this->ctrl->getLinkTargetByClass(
1130 array(
"ilobjgroupgui",
"ilinfoscreengui"),
1141 if ($ilAccess->checkAccess(
'write',
'', $this->object->getRefId())) {
1142 $this->tabs_gui->addTarget(
1144 $this->ctrl->getLinkTarget($this,
"edit"),
1145 array(
"edit",
"editMapSettings"),
1151 include_once
'./Modules/Group/classes/class.ilGroupParticipants.php';
1155 include_once
'./Modules/Group/classes/class.ilGroupMembershipGUI.php';
1157 $membership_gui->addMemberTab($this->tabs_gui, $is_participant);
1161 if ($ilAccess->checkAccess(
'write',
'', $this->ref_id)) {
1162 include_once
'Services/Badge/classes/class.ilBadgeHandler.php';
1164 $this->tabs_gui->addTarget(
1165 "obj_tool_setting_badges",
1166 $this->ctrl->getLinkTargetByClass(
"ilbadgemanagementgui",
""),
1168 "ilbadgemanagementgui"
1174 include_once(
"./Services/Object/classes/class.ilObjectServiceSettingsGUI.php");
1176 $this->object->getId(),
1180 $this->tabs_gui->addTarget(
1181 "obj_tool_setting_skills",
1182 $this->ctrl->getLinkTargetByClass(array(
"ilcontainerskillgui",
"ilcontskillpresentationgui"),
""),
1184 array(
"ilcontainerskillgui",
"ilcontskillpresentationgui",
"ilcontskilladmingui")
1189 include_once
'./Services/Tracking/classes/class.ilLearningProgressAccess.php';
1191 $this->tabs_gui->addTarget(
1192 'learning_progress',
1193 $this->ctrl->getLinkTargetByClass(array(
'ilobjgroupgui',
'illearningprogressgui'),
''),
1195 array(
'illplistofobjectsgui',
'illplistofsettingsgui',
'illearningprogressgui',
'illplistofprogressgui')
1200 if ($ilAccess->checkAccess(
'write',
'', $this->ref_id)) {
1202 $tab_link = $md_gui->getTab();
1203 if ($tab_link !==
null) {
1204 $this->tabs_gui->addTab(
1206 $this->lng->txt(
'meta_data'),
1209 'ilObjectMetaDataGUI'
1215 if ($ilAccess->checkAccess(
'write',
'', $this->object->getRefId())) {
1216 $this->tabs_gui->addTarget(
1218 $this->ctrl->getLinkTargetByClass(
'ilexportgui',
''),
1227 if ($ilAccess->checkAccess(
'join',
'', $this->object->getRefId()) and
1228 !$this->object->members_obj->isAssigned(
$ilUser->getId())) {
1229 include_once
'./Modules/Group/classes/class.ilGroupWaitingList.php';
1231 $this->tabs_gui->addTab(
1233 $this->lng->txt(
'membership_leave'),
1234 $this->ctrl->getLinkTargetByClass(
'ilgroupregistrationgui',
'show',
'')
1237 $this->tabs_gui->addTarget(
1239 $this->ctrl->getLinkTargetByClass(
'ilgroupregistrationgui',
"show"),
1245 if ($ilAccess->checkAccess(
'leave',
'', $this->object->getRefId()) and
1246 $this->object->members_obj->isMember(
$ilUser->getId())) {
1247 $this->tabs_gui->addTarget(
1248 "grp_btn_unsubscribe",
1249 $this->ctrl->getLinkTarget($this,
"leave"),
1263 $this->ctrl->setCmd(
"showSummary");
1264 $this->ctrl->setCmdClass(
"ilinfoscreengui");
1279 $this->tabs_gui->setTabActive(
'info_short');
1286 $this->object->getId(),
1287 $this->object->getId(),
1291 include_once(
"./Services/InfoScreen/classes/class.ilInfoScreenGUI.php");
1294 if (strlen($this->object->getInformation())) {
1295 $info->addSection($this->lng->txt(
'grp_general_informations'));
1296 $info->addProperty($this->lng->txt(
'grp_information'), nl2br(
1301 $info->enablePrivateNotes();
1302 $info->enableLearningProgress(
true);
1305 $record_gui->setInfoObject($info);
1306 $record_gui->parse();
1309 $info->addMetaDataSections($this->object->getId(), 0, $this->object->getType());
1314 $contacts = $parts->getContacts();
1315 if (count($contacts) > 0) {
1316 $info->addSection($this->lng->txt(
"grp_mem_contacts"));
1317 foreach ($contacts as
$c) {
1319 $pgui->setBackUrl($this->ctrl->getLinkTargetByClass(
"ilinfoscreengui"));
1320 $pgui->setEmbedded(
true);
1321 $info->addProperty(
"", $pgui->getHTML());
1326 $info->addSection($this->lng->txt(
'group_registration'));
1327 $info->showLDAPRoleGroupMappingInfo();
1329 if (!$this->object->isRegistrationEnabled()) {
1331 $this->lng->txt(
'group_registration_mode'),
1332 $this->lng->txt(
'grp_reg_deac_info_screen')
1335 switch ($this->object->getRegistrationType()) {
1338 $this->lng->txt(
'group_registration_mode'),
1339 $this->lng->txt(
'grp_reg_direct_info_screen')
1345 $this->lng->txt(
'group_registration_mode'),
1346 $this->lng->txt(
'grp_reg_req_info_screen')
1352 $this->lng->txt(
'group_registration_mode'),
1353 $this->lng->txt(
'grp_reg_passwd_info_screen')
1364 if ($this->object->isRegistrationUnlimited()) {
1366 $this->lng->txt(
'group_registration_time'),
1367 $this->lng->txt(
'grp_registration_unlimited')
1369 } elseif ($this->object->getRegistrationStart()->getUnixTime() < time()) {
1371 $this->lng->txt(
"group_registration_time"),
1372 $this->lng->txt(
'cal_until') .
' ' .
1375 } elseif ($this->object->getRegistrationStart()->getUnixTime() >= time()) {
1377 $this->lng->txt(
"group_registration_time"),
1378 $this->lng->txt(
'cal_from') .
' ' .
1382 if ($this->object->isMembershipLimited()) {
1383 if ($this->object->getMinMembers()) {
1385 $this->lng->txt(
"mem_min_users"),
1386 $this->object->getMinMembers()
1389 if ($this->object->getMaxMembers()) {
1390 include_once
'./Modules/Group/classes/class.ilObjGroupAccess.php';
1394 $this->lng->txt(
'mem_free_places'),
1395 $reg_info[
'reg_info_free_places']
1400 if ($this->object->getCancellationEnd()) {
1402 $this->lng->txt(
'grp_cancellation_end'),
1408 if ($this->object->getStart() instanceof
ilDateTime &&
1409 !$this->object->getStart()->
isNull()
1412 $this->lng->txt(
'grp_period'),
1414 $this->object->getStart(),
1415 $this->object->getEnd()
1421 include_once(
'Services/PrivacySecurity/classes/class.ilPrivacySettings.php');
1424 include_once(
'Modules/Course/classes/Export/class.ilCourseDefinedFieldDefinition.php');
1426 include_once(
'Services/PrivacySecurity/classes/class.ilExportFieldsInfo.php');
1430 $this->lng->loadLanguageModule(
'ps');
1431 $info->addSection($this->lng->txt(
'grp_user_agreement_info'));
1432 $info->addProperty($this->lng->txt(
'ps_export_data'), $field_info->exportableFieldsToInfoString());
1435 $info->addProperty($this->lng->txt(
'ps_grp_user_fields'), $fields);
1441 $this->ctrl->forwardCommand($info);
1449 include_once
"Services/Membership/classes/class.ilMembershipNotifications.php";
1451 if ($noti->canCurrentUserEdit()) {
1452 if ((
bool) $_REQUEST[
"grp_ntf"]) {
1453 $noti->activateUser();
1455 $noti->deactivateUser();
1458 ilUtil::sendSuccess($this->lng->txt(
"settings_saved"),
true);
1459 $this->ctrl->redirect($this,
"");
1467 $GLOBALS[
'DIC'][
'ilCtrl']->redirectByClass(
'ilgroupmembershipgui');
1474 public static function _goto($a_target, $a_add =
"")
1478 $ilAccess =
$DIC[
'ilAccess'];
1483 include_once
'./Services/Membership/classes/class.ilMembershipRegistrationCodeUtils.php';
1484 if (substr($a_add, 0, 5) ==
'rcode') {
1488 "login.php?target=" .
$_GET[
"target"] .
"&cmd=force_login&lang=" .
1501 if ($a_add ==
"mem" && $ilAccess->checkAccess(
"manage_members",
"", $a_target)) {
1509 if ($ilAccess->checkAccess(
"read",
"", $a_target)) {
1513 if ($ilAccess->checkAccess(
"visible",
"", $a_target)) {
1518 $lng->txt(
"msg_no_perm_read_item"),
1536 public function initForm($a_mode =
'edit', $a_omit_form_action =
false)
1542 $tree = $DIC[
'tree'];
1544 include_once(
"./Services/Form/classes/class.ilPropertyFormGUI.php");
1548 if (!$a_omit_form_action) {
1551 $form->setFormAction($this->ctrl->getFormAction($this,
'update'));
1555 $form->setTableWidth(
'600px');
1556 $form->setFormAction($this->ctrl->getFormAction($this,
'save'));
1562 $this->initFormTitleDescription($form);
1566 if ($a_mode ==
'edit') {
1569 $this->lng->loadLanguageModule(
'mem');
1570 $cdur->enableToggleFullTime(
1571 $this->lng->txt(
'mem_period_without_time'),
1572 !$this->object->getStartTimeIndication()
1574 $cdur->setShowTime(
true);
1575 $cdur->setInfo($this->lng->txt(
'grp_period_info'));
1576 $cdur->setStart($this->object->getStart());
1577 $cdur->setEnd($this->object->getEnd());
1578 $form->addItem($cdur);
1582 $pres->setTitle($this->lng->txt(
'grp_setting_header_registration'));
1583 $form->addItem($pres);
1586 $reg_type =
new ilRadioGroupInputGUI($this->lng->txt(
'group_registration_mode'),
'registration_type');
1587 $reg_type->setValue($this->object->getRegistrationType());
1590 $reg_type->addOption($opt_dir);
1594 $pass->setRequired(
true);
1595 $pass->setInfo($this->lng->txt(
'grp_reg_password_info'));
1596 $pass->setValue($this->object->getPassword());
1598 $pass->setMaxLength(32);
1599 $opt_pass->addSubItem(
$pass);
1600 $reg_type->addOption($opt_pass);
1603 $reg_type->addOption($opt_req);
1606 $reg_type->addOption($opt_deact);
1609 $reg_code =
new ilCheckboxInputGUI($this->lng->txt(
'grp_reg_code'),
'reg_code_enabled');
1610 $reg_code->setChecked($this->object->isRegistrationAccessCodeEnabled());
1611 $reg_code->setValue(1);
1612 $reg_code->setInfo($this->lng->txt(
'grp_reg_code_enabled_info'));
1613 $form->addItem($reg_type);
1616 if (!$this->object->getRegistrationAccessCode()) {
1617 include_once
'./Services/Membership/classes/class.ilMembershipRegistrationCodeUtils.php';
1621 $reg_link->setValue($this->object->getRegistrationAccessCode());
1622 $form->addItem($reg_link);
1625 include_once
'./Services/Link/classes/class.ilLink.php';
1626 $val =
ilLink::_getLink($this->object->getRefId(), $this->object->getType(), array(),
'_rcode' . $this->object->getRegistrationAccessCode());
1627 $link->setHTML(
'<span class="small">' . $val .
'</span>');
1628 $reg_code->addSubItem($link);
1629 $form->addItem($reg_code);
1632 $this->lng->loadLanguageModule(
'dateplaner');
1633 include_once
'./Services/Form/classes/class.ilDateDurationInputGUI.php';
1635 $dur->setShowTime(
true);
1636 $dur->setStart($this->object->getRegistrationStart());
1637 $dur->setEnd($this->object->getRegistrationEnd());
1638 $form->addItem($dur);
1641 $cancel =
new ilDateTimeInputGUI($this->lng->txt(
'grp_cancellation_end'),
'cancel_end');
1642 $cancel->setInfo($this->lng->txt(
'grp_cancellation_end_info'));
1643 $cancel->setDate($this->object->getCancellationEnd());
1644 $form->addItem($cancel);
1647 $lim =
new ilCheckboxInputGUI($this->lng->txt(
'reg_grp_max_members_short'),
'registration_membership_limited');
1650 $lim->setChecked($this->object->isMembershipLimited());
1652 $min =
new ilTextInputGUI($this->lng->txt(
'reg_grp_min_members'),
'registration_min_members');
1654 $min->setMaxLength(4);
1655 $min->setValue($this->object->getMinMembers() ? $this->object->getMinMembers() :
'');
1656 $min->setInfo($this->lng->txt(
'grp_subscription_min_members_info'));
1657 $lim->addSubItem($min);
1659 $max =
new ilTextInputGUI($this->lng->txt(
'reg_grp_max_members'),
'registration_max_members');
1660 $max->setValue($this->object->getMaxMembers() ? $this->object->getMaxMembers() :
'');
1663 $max->setMaxLength(4);
1664 $max->setInfo($this->lng->txt(
'grp_reg_max_members_info'));
1665 $lim->addSubItem($max);
1680 $wait->addOption($option);
1682 $option =
new ilRadioOption($this->lng->txt(
'grp_waiting_list_no_autofill'), 1);
1683 $option->setInfo($this->lng->txt(
'grp_waiting_list_info'));
1684 $wait->addOption($option);
1686 $option =
new ilRadioOption($this->lng->txt(
'grp_waiting_list_autofill'), 2);
1687 $option->setInfo($this->lng->txt(
'grp_waiting_list_autofill_info'));
1688 $wait->addOption($option);
1690 if ($this->object->hasWaitingListAutoFill()) {
1692 } elseif ($this->object->isWaitingListEnabled()) {
1696 $lim->addSubItem($wait);
1698 $form->addItem($lim);
1702 $parent_membership_ref_id = 0;
1703 $hasParentMembership =
1705 $parent_membership_ref_id =
$tree->checkForParentType($this->object->getRefId(),
'crs',
true)
1709 $pres->setTitle($this->lng->txt(
'grp_setting_header_presentation'));
1710 $form->addItem($pres);
1713 $form = $obj_service->commonSettings()->legacyForm($form, $this->
object)->addTitleIconVisibility();
1716 $form = $obj_service->commonSettings()->legacyForm($form, $this->
object)->addTopActionsVisibility();
1719 $form = $obj_service->commonSettings()->legacyForm($form, $this->
object)->addIcon();
1722 $form = $obj_service->commonSettings()->legacyForm($form, $this->
object)->addTileImage();
1730 if ($hasParentMembership) {
1732 $course_view_mode =
'';
1733 switch ($parent_view_mode) {
1735 $course_view_mode =
': ' . $this->lng->txt(
'cntr_view_sessions');
1739 $course_view_mode =
': ' . $this->lng->txt(
'cntr_view_simple');
1743 $course_view_mode =
': ' . $this->lng->txt(
'cntr_view_by_type');
1746 if ($course_view_mode) {
1748 $opt->setInfo($this->lng->txt(
'grp_view_inherit_info'));
1749 $view_type->addOption($opt);
1760 $opt->setInfo($this->lng->txt(
'cntr_view_info_sessions'));
1761 $view_type->addOption($opt);
1764 $this->lng->loadLanguageModule(
'crs');
1767 $sess->setChecked($this->object->isSessionLimitEnabled());
1768 $sess->setInfo($this->lng->txt(
'sess_limit_info'));
1771 $prev->setMinValue(0);
1773 $this->object->getNumberOfPreviousSessions() == -1 ?
1775 $this->object->getNumberOfPreviousSessions()
1778 $prev->setMaxLength(3);
1779 $sess->addSubItem($prev);
1782 $next->setMinValue(0);
1784 $this->object->getNumberOfNextSessions() == -1 ?
1786 $this->object->getNumberOfNextSessions()
1789 $next->setMaxLength(3);
1790 $sess->addSubItem($next);
1791 $opt->addSubItem($sess);
1794 $opt->setInfo($this->lng->txt(
'grp_view_info_simple'));
1795 $view_type->addOption($opt);
1798 $opt->setInfo($this->lng->txt(
'grp_view_info_by_type'));
1799 $view_type->addOption($opt);
1800 $form->addItem($view_type);
1804 $sorting_settings = array();
1805 if ($hasParentMembership) {
1815 $feat->setTitle($this->lng->txt(
'obj_features'));
1816 $form->addItem($feat);
1818 include_once
'./Services/Object/classes/class.ilObjectServiceSettingsGUI.php';
1820 $this->object->getId(),
1822 $this->getSubServices()
1827 $mem->setChecked($this->object->getShowMembers());
1828 $mem->setInfo($this->lng->txt(
'grp_show_members_info'));
1829 $form->addItem($mem);
1833 $mail_type->setValue($this->object->getMailToMembersType());
1836 $this->lng->txt(
'grp_mail_tutors_only'),
1838 $this->lng->txt(
'grp_mail_tutors_only_info')
1840 $mail_type->addOption($mail_tutors);
1843 $this->lng->txt(
'grp_mail_all'),
1845 $this->lng->txt(
'grp_mail_all_info')
1847 $mail_type->addOption($mail_all);
1848 $form->addItem($mail_type);
1851 $not =
new ilCheckboxInputGUI($this->lng->txt(
'grp_auto_notification'),
'auto_notification');
1853 $not->setInfo($this->lng->txt(
'grp_auto_notification_info'));
1854 $not->setChecked($this->object->getAutoNotification());
1855 $form->addItem($not);
1860 $form->setTitle($this->lng->txt(
'grp_new'));
1863 $form->addCommandButton(
'save', $this->lng->txt(
'grp_new'));
1864 $form->addCommandButton(
'cancel', $this->lng->txt(
'cancel'));
1868 $form->setTitle($this->lng->txt(
'grp_edit'));
1872 include_once
'Modules/Group/classes/class.ilECSGroupSettings.php';
1874 $ecs->addSettingsToForm($form,
'grp');
1876 $form->addCommandButton(
'update', $this->lng->txt(
'save'));
1877 $form->addCommandButton(
'cancel', $this->lng->txt(
'cancel'));
1896 $ilAccess =
$DIC[
'ilAccess'];
1901 $this->tabs_gui->addSubTabTarget(
1903 $this->ctrl->getLinkTarget($this,
'edit'),
1908 $this->tabs_gui->addSubTabTarget(
1909 "grp_info_settings",
1910 $this->ctrl->getLinkTarget($this,
'editInfo'),
1915 include_once(
"./Services/Maps/classes/class.ilMapUtil.php");
1917 $this->tabs_gui->addSubTabTarget(
1919 $this->ctrl->getLinkTarget($this,
'editMapSettings'),
1925 $this->tabs_gui->addSubTabTarget(
1927 $this->ctrl->getLinkTargetByClass(
'ilobjcoursegroupinggui',
'listGroupings'),
1932 include_once(
'Services/PrivacySecurity/classes/class.ilPrivacySettings.php');
1933 include_once(
'Modules/Course/classes/Export/class.ilCourseDefinedFieldDefinition.php');
1936 $this->tabs_gui->addSubTabTarget(
1937 'grp_custom_user_fields',
1938 $this->ctrl->getLinkTargetByClass(
'ilobjectcustomuserfieldsgui'),
1940 'ilobjectcustomuserfieldsgui'
1945 if ($this->object->getUseNews()) {
1946 $this->tabs_gui->addSubTab(
1947 'obj_news_settings',
1948 $this->lng->txt(
"cont_news_settings"),
1949 $this->ctrl->getLinkTargetByClass(
'ilcontainernewssettingsgui')
1954 if ($lti_settings->hasSettingsAccess()) {
1955 $this->tabs_gui->addSubTabTarget(
1957 $this->ctrl->getLinkTargetByClass(ilLTIProviderObjectSettingGUI::class)
1961 $this->tabs_gui->addSubTabTarget(
1962 "obj_multilinguality",
1963 $this->ctrl->getLinkTargetByClass(
"ilobjecttranslationgui",
""),
1965 "ilobjecttranslationgui"
1986 $ilAccess =
$DIC[
'ilAccess'];
1988 if ($ilAccess->checkAccess(
'write',
'', $this->object->getRefId())) {
1993 if (!$this->object->members_obj->isAssigned(
$ilUser->getId())) {
1997 include_once
'./Services/Container/classes/class.ilMemberViewSettings.php';
2002 include_once(
'Services/PrivacySecurity/classes/class.ilPrivacySettings.php');
2003 include_once(
'Services/Membership/classes/class.ilMemberAgreement.php');
2012 include_once(
'Modules/Course/classes/Export/class.ilCourseUserData.php');
2040 parent::prepareOutput($a_show_subobjects);
2049 $link = chr(13) . chr(10) . chr(13) . chr(10);
2050 $link .= $this->lng->txt(
'grp_mail_permanent_link');
2051 $link .= chr(13) . chr(10) . chr(13) . chr(10);
2052 include_once
'Services/Link/classes/class.ilLink.php';
2054 return rawurlencode(base64_encode($link));
2064 $lg = parent::initHeaderAction($a_sub_type, $a_sub_id);
2066 include_once(
'./Modules/Group/classes/class.ilGroupParticipants.php');
2068 include_once
"Services/Membership/classes/class.ilMembershipNotifications.php";
2071 if (!$noti->isCurrentUserActive()) {
2075 $this->lng->txt(
"grp_notification_deactivated")
2078 $this->ctrl->setParameter($this,
"grp_ntf", 1);
2079 $caption =
"grp_activate_notification";
2084 $this->lng->txt(
"grp_notification_activated")
2087 $this->ctrl->setParameter($this,
"grp_ntf", 0);
2088 $caption =
"grp_deactivate_notification";
2091 if ($noti->canCurrentUserEdit()) {
2092 $lg->addCustomCommand(
2093 $this->ctrl->getLinkTarget($this,
"saveNotification"),
2098 $this->ctrl->setParameter($this,
"grp_ntf",
"");
2113 include_once(
'Modules/Course/classes/Export/class.ilCourseUserData.php');
2116 $res_data = array();
2117 foreach ($a_data as $usr_id => $user_data) {
2118 $res_data[$usr_id] = $user_data;
2121 include_once
'./Services/User/classes/class.ilUserDefinedData.php';
2123 foreach ($udf_data->getAll() as $field => $value) {
2124 list(
$f, $field_id) = explode(
'_', $field);
2125 $res_data[$usr_id][
'udf_' . $field_id] = (string) $value;
2128 foreach ((array) $odfs[$usr_id] as $cdf_field => $cdf_value) {
2129 $res_data[$usr_id][
'cdf_' . $cdf_field] = (string) $cdf_value;
2142 $local_roles = $this->
object->getLocalGroupRoles(
false);
2143 $grp_member = $this->
object->getDefaultMemberRole();
2144 $grp_roles = array();
2147 if (in_array($grp_member, $local_roles)) {
2149 unset($local_roles[$grp_roles[$grp_member]]);
2152 foreach ($local_roles as $title => $role_id) {
2163 $this->ctrl->redirectByClass(
'ilUsersGalleryGUI');
2171 $this->ctrl->setReturn($this,
"view");
if(!defined('PATH_SEPARATOR')) $GLOBALS['_PEAR_default_error_mode']
An exception for terminatinating execution or to throw for unit testing.
const GRP_REGISTRATION_DIRECT
const GRP_REGISTRATION_PASSWORD
const GRP_REGISTRATION_DEACTIVATED
const GRP_REGISTRATION_REQUEST
static getInstance()
Constructor.
Class ilBadgeManagementGUI.
static _catchupWriteEvents($obj_id, $usr_id, $timestamp=null)
Catches up with all write events which occured before the specified timestamp.
static _recordWriteEvent($obj_id, $usr_id, $action, $parent_obj_id=null)
Records a write event.
static getInstanceFromAjaxCall()
(Re-)Build instance from ajax call
Confirmation screen class.
static isAccessible($ref_id)
Is container skill presentation accessible.
& forwardToPageObject()
forward command to page object
initSortingForm(ilPropertyFormGUI $form, array $a_sorting_settings)
Append sorting settings to property form.
showPermanentLink()
show permanent link
saveListPresentation(ilPropertyFormGUI $form)
Save list presentation setting.
forwardToStyleSheet()
Forward to style object.
initListPresentationForm(ilPropertyFormGUI $form)
Add list presentation settings to form.
saveSortingSettings(ilPropertyFormGUI $form)
Save sorting settings.
News settings for containers.
Skills for container (course/group) (top gui class)
static _lookupContainerSetting($a_id, $a_keyword, $a_default_value=null)
Lookup a container setting.
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 _getValuesByObjId($a_obj_id)
Get values by obj_id (for all users)
static _checkRequired($a_usr_id, $a_obj_id)
Check required fields.
static formatDate(ilDateTime $date, $a_skip_day=false, $a_include_wd=false, $include_seconds=false)
Format a date @access public.
static formatPeriod(ilDateTime $start, ilDateTime $end, $a_skip_starting_day=false)
Format a period of two date Shows: 14.
@classDescription Date and time handling
isNull()
Check if a date is null (Datetime == '0000-00-00 00:00:00', unixtime == 0,...)
static lookupTemplateId($a_ref_id)
Lookup template id @global ilDB $ilDB.
static switchTemplate($a_ref_id, $a_new_tpl_id)
Class ilECSGroupSettings.
static _getInstanceByType($a_type)
Get Singleton Instance.
Export User Interface Class.
GUI class for membership features.
const TYPE_UNSUBSCRIBE_MEMBER
const TYPE_NOTIFICATION_UNSUBSCRIBE
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
GUI class for LTI provider object settings.
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="")
static getLogger($a_component_id)
Get component logger.
static _fillHTMLMetaTags($a_rbac_id, $a_obj_id, $a_type)
Fill html meta tags.
Class ilMailMemberCourseRoles.
Class ilMailMemberSearchGUI.
static isActivated()
Checks whether Map feature is activated.
static getDefaultSettings()
Get default longitude, latitude and zoom.
static _hasAccepted($a_usr_id, $a_obj_id)
Check if user has accepted agreement.
Membership notification settings.
static isActiveForRefId(int $ref_id)
static handleCode($a_ref_id, $a_type, $a_code)
Handle target parameter.
static generateCode()
Generate new registration key.
static getInstance($a_ref_id, $a_include_auto_entries)
Get instance.
static _lookupViewMode($a_id)
Lookup view mode.
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 _lookupAboStatus($a_id)
static lookupRegistrationInfo($a_obj_id)
Lookup registration info @global ilDB $ilDB @global ilObjUser $ilUser @global ilLanguage $lng.
saveNotificationObject()
:TEMP: Save notification setting (from infoscreen)
initInfoEditor()
init info editor
initForm($a_mode='edit', $a_omit_form_action=false)
init create/edit form
membersObject()
Called from goto?
jump2UsersGalleryObject()
prepareOutput($a_show_subobjects=true)
Handle member view.
renderObject()
Render group.
infoScreen()
show information screen
updateObject()
update group settings
getTabs()
common tabs for all container objects (should be called at the end of child getTabs() method
checkAgreement()
Check agreement and redirect if it is not accepted.
editInfoObject()
edit info
__construct($a_data, $a_id, $a_call_by_reference, $a_prepare_output=false)
Constructor @access public.
infoScreenObject()
this one is called from the info button in the repository not very nice to set cmdClass/Cmd manually,...
editMapSettingsObject()
Edit Map Settings.
modifyItemGUI($a_item_list_gui, $a_item_data, $a_show_path)
Modify Item ListGUI for presentation in container @global type $tree.
createMailSignature()
Create a course mail signature.
addContentTab()
Add content tab.
setSubTabs($a_tab)
set sub tabs
afterSave(\ilObject $new_object, $a_redirect=true)
After object creation.
unsubscribeObject()
unsubscribe from group
readMemberData($ids, $selected_columns=null)
updateGroupTypeObject()
change group type
static _goto($a_target, $a_add="")
goto target group
editObject(ilPropertyFormGUI $a_form=null)
Edit object.
viewObject()
viewObject container presentation for "administration -> repository, trash, permissions"
setSideColumnReturn()
Set return point for side column actions.
getLocalRoles()
returns all local roles [role_id] => title
leaveObject()
leave Group @access public
initHeaderAction($a_sub_type=null, $a_sub_id=null)
Add file manager link.
executeCommand()
execute command note: this method is overwritten in all container objects
updateInfoObject()
update info
static lookupViewMode($a_obj_id)
lookup view mode @global $ilDB
const MAIL_ALLOWED_TUTORS
static getAvailablePortfolioLinksForUserIds(array $a_owner_ids, $a_back_url=null)
static _getTranslation($a_role_title)
static getContentStylePath($a_style_id, $add_random=true, $add_token=true)
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 _readUsersProfileData($a_user_ids)
STATIC METHOD get user data of selected users.
GUI class for the workflow of copying objects.
checkPermission($a_perm, $a_cmd="", $a_type="", $a_ref_id=null)
Check permission and redirect on error.
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.
initDidacticTemplate(ilPropertyFormGUI $form)
Show didactic template types.
addHeaderAction()
Add header action menu.
getObjectService()
Get object service.
static getInstance($a_obj_id)
GUI class for service settings (calendar, notes, comments)
const AUTO_RATING_NEW_OBJECTS
const CALENDAR_CONFIGURATION
const EXTERNAL_MAIL_PREFIX
const ORGU_POSITION_ACCESS
static initServiceSettingsForm($a_obj_id, ilPropertyFormGUI $form, $services)
Init service settings form.
static updateServiceSettingsForm($a_obj_id, ilPropertyFormGUI $form, $services)
Update service settings.
GUI class for object translation handling.
Class ilObject Basic functions for all objects.
static _lookupObjId($a_id)
update()
update object in db
static _lookupTitle($a_id)
lookup object title
getRefId()
get reference id @access public
getId()
get object id @access public
static _lookupType($a_id, $a_reference=false)
lookup object type
static getInstance($a_ref_id)
Get instance by ref_id.
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.
This class represents a text area property in a property form.
This class represents a text property in a property form.
static sendQuestion($a_info="", $a_keep=false)
Send Question to Screen.
static redirect($a_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 getImagePath($img, $module_path="", $mode="output", $offline=false)
get image path (for images located in a template directory)
static _isOnList($a_usr_id, $a_obj_id)
Check if a user on the waiting list.
__construct(Container $dic, ilPlugin $plugin)
@inheritDoc