5include_once
"./Services/Container/classes/class.ilContainerGUI.php";
6include_once(
'./Modules/Group/classes/class.ilObjGroup.php');
36 public function __construct($a_data, $a_id, $a_call_by_reference, $a_prepare_output =
false)
45 $this->lng->loadLanguageModule(
'grp');
46 $this->lng->loadLanguageModule(
'obj');
57 $ilAccess =
$DIC[
'ilAccess'];
58 $ilNavigationHistory =
$DIC[
'ilNavigationHistory'];
60 $ilToolbar =
$DIC[
'ilToolbar'];
62 $next_class = $this->ctrl->getNextClass($this);
63 $cmd = $this->ctrl->getCmd();
68 $ilAccess->checkAccess(
"read",
"",
$_GET[
"ref_id"])) {
69 include_once(
"./Services/Link/classes/class.ilLink.php");
70 $ilNavigationHistory->addItem(
78 if ($next_class ==
"" && $cmd ==
"" && $this->object->isNewsTimelineLandingPageEffective()
79 && $ilAccess->checkAccess(
"read",
"",
$_GET[
"ref_id"])) {
80 $this->ctrl->redirectbyclass(
"ilnewstimelinegui");
83 switch ($next_class) {
85 $ru = new \ilRepUtilGUI($this);
86 $this->ctrl->setReturn($this,
'trash');
87 $this->ctrl->forwardCommand($ru);
90 case 'illtiproviderobjectsettinggui':
92 $this->tabs_gui->activateTab(
'settings');
93 $this->tabs_gui->activateSubTab(
'lti_provider');
95 $lti_gui->setCustomRolesForSelection(
$GLOBALS[
'DIC']->rbac()->review()->
getLocalRoles($this->object->getRefId()));
96 $lti_gui->offerLTIRolesForSelection(
false);
97 $this->ctrl->forwardCommand($lti_gui);
101 case 'ilgroupmembershipgui':
103 $this->tabs_gui->activateTab(
'members');
105 include_once
'./Modules/Group/classes/class.ilGroupMembershipGUI.php';
107 $this->ctrl->forwardCommand($mem_gui);
111 case 'ilgroupregistrationgui':
112 $this->ctrl->setReturn($this,
'');
113 $this->tabs_gui->setTabActive(
'join');
114 include_once(
'./Modules/Group/classes/class.ilGroupRegistrationGUI.php');
116 $this->ctrl->forwardCommand($registration);
119 case 'ilpermissiongui':
120 $this->tabs_gui->activateTab(
'perm_settings');
121 include_once(
"Services/AccessControl/classes/class.ilPermissionGUI.php");
123 $ret = &$this->ctrl->forwardCommand($perm_gui);
126 case "ilinfoscreengui":
130 case "illearningprogressgui":
131 include_once
'./Services/Tracking/classes/class.ilLearningProgressGUI.php';
135 $this->object->getRefId(),
138 $this->ctrl->forwardCommand($new_gui);
139 $this->tabs_gui->setTabActive(
'learning_progress');
142 case 'ilobjcoursegroupinggui':
145 include_once
'./Modules/Course/classes/class.ilObjCourseGroupingGUI.php';
146 $this->ctrl->setReturn($this,
'edit');
148 $this->ctrl->forwardCommand($crs_grp_gui);
150 $this->tabs_gui->setTabActive(
'settings');
151 $this->tabs_gui->setSubTabActive(
'groupings');
154 case 'ilcoursecontentgui':
156 include_once
'./Modules/Course/classes/class.ilCourseContentGUI.php';
158 $this->ctrl->forwardCommand($course_content_obj);
161 case 'ilpublicuserprofilegui':
162 require_once
'./Services/User/classes/class.ilPublicUserProfileGUI.php';
164 $this->tabs_gui->setTabActive(
'group_members');
165 $this->tabs_gui->setSubTabActive(
'grp_members_gallery');
167 if (
$_GET[
"back_url"] ==
"") {
168 $profile_gui->setBackUrl($this->ctrl->getLinkTargetByClass([
"ilGroupMembershipGUI",
"ilUsersGalleryGUI"],
'view'));
170 $html = $this->ctrl->forwardCommand($profile_gui);
171 $this->tpl->setVariable(
"ADM_CONTENT", $html);
175 $this->tabs_gui->setTabActive(
'none');
177 include_once(
"./Services/Style/Content/classes/class.ilObjStyleSheet.php");
178 $this->tpl->setVariable(
179 "LOCATION_CONTENT_STYLESHEET",
186 case "ilcontainerpagegui":
189 $this->tpl->setContent(
$ret);
193 case 'ilobjectcopygui':
194 include_once
'./Services/Object/classes/class.ilObjectCopyGUI.php';
197 $this->ctrl->forwardCommand($cp);
200 case "ilobjstylesheetgui":
204 case 'ilobjectcustomuserfieldsgui':
205 include_once
'./Services/Membership/classes/class.ilObjectCustomUserFieldsGUI.php';
208 $this->tabs_gui->setTabActive(
'settings');
209 $this->tabs_gui->activateSubTab(
'grp_custom_user_fields');
210 $this->ctrl->forwardCommand($cdf_gui);
213 case 'ilmemberagreementgui':
214 include_once(
'Services/Membership/classes/class.ilMemberAgreementGUI.php');
215 $this->ctrl->setReturn($this,
'');
216 $this->tabs_gui->setTabActive(
'view_content');
218 $this->ctrl->forwardCommand($agreement);
222 $this->tabs_gui->setTabActive(
'export');
223 include_once
'./Services/Export/classes/class.ilExportGUI.php';
225 $exp->addFormat(
'xml');
226 $this->ctrl->forwardCommand($exp);
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(),
249 $this->ctrl->forwardCommand(
$service);
252 case 'ilmailmembersearchgui':
253 include_once
'Services/Mail/classes/class.ilMail.php';
256 if (!($ilAccess->checkAccess(
'manage_members',
'', $this->object->getRefId()) ||
258 $rbacsystem->checkAccess(
'internal_mail', $mail->getMailObjectReferenceId())) {
259 $ilErr->raiseError($this->lng->txt(
"msg_no_perm_read"),
$ilErr->MESSAGE);
262 $this->tabs_gui->setTabActive(
'members');
264 include_once
'./Services/Contact/classes/class.ilMailMemberSearchGUI.php';
265 include_once
'./Services/Contact/classes/class.ilMailMemberGroupRoles.php';
269 $this->ctrl->forwardCommand($mail_search);
272 case 'ilbadgemanagementgui':
273 $this->tabs_gui->setTabActive(
'obj_tool_setting_badges');
274 include_once
'Services/Badge/classes/class.ilBadgeManagementGUI.php';
276 $this->ctrl->forwardCommand($bgui);
279 case "ilcontainernewssettingsgui":
281 $this->tabs_gui->setTabActive(
'settings');
282 $this->tabs_gui->activateSubTab(
'obj_news_settings');
283 include_once(
"./Services/Container/classes/class.ilContainerNewsSettingsGUI.php");
285 $news_set_gui->setTimeline(
true);
286 $news_set_gui->setCronNotifications(
true);
287 $news_set_gui->setHideByDate(
true);
288 $this->ctrl->forwardCommand($news_set_gui);
291 case "ilnewstimelinegui":
293 $this->tabs_gui->setTabActive(
'news_timeline');
294 include_once(
"./Services/News/classes/class.ilNewsTimelineGUI.php");
296 $t->setUserEditAll($ilAccess->checkAccess(
'write',
'', $this->object->getRefId(),
'grp'));
298 $this->ctrl->forwardCommand($t);
299 include_once
'Services/Tracking/classes/class.ilLearningProgress.php';
302 $this->object->getId(),
303 $this->object->getRefId(),
308 case "ilcontainerskillgui":
309 $this->tabs_gui->activateTab(
'obj_tool_setting_skills');
310 include_once(
"./Services/Container/Skills/classes/class.ilContainerSkillGUI.php");
312 $this->ctrl->forwardCommand($gui);
315 case 'ilcalendarpresentationgui':
316 include_once(
'./Services/Calendar/classes/class.ilCalendarPresentationGUI.php');
318 $ret = $this->ctrl->forwardCommand($cal);
321 case 'ilobjectmetadatagui':
322 if (!$ilAccess->checkAccess(
'write',
'', $this->object->getRefId())) {
323 $ilErr->raiseError($this->lng->txt(
'permission_denied'),
$ilErr->WARNING);
325 $this->tabs_gui->activateTab(
'meta_data');
330 case 'ilobjecttranslationgui':
333 $this->tabs->activateTab(
"settings");
334 include_once(
"./Services/Object/classes/class.ilObjectTranslationGUI.php");
336 $this->ctrl->forwardCommand($transgui);
343 !$ilAccess->checkAccess(
'visible',
'', $this->object->getRefId(),
'grp') and
344 !$ilAccess->checkAccess(
'read',
'', $this->object->getRefId(),
'grp')) {
345 $ilErr->raiseError($this->lng->txt(
"msg_no_perm_read"),
$ilErr->MESSAGE);
349 if ($cmd ==
'infoScreenGoto') {
350 if ($this->object->isRegistrationEnabled()) {
359 && !
$rbacsystem->checkAccess(
'read', $this->object->getRefId()) && $cmd !=
'infoScreen')
362 if (!
$rbacsystem->checkAccess(
'join', $this->object->getRefId())) {
363 $this->ctrl->redirect($this,
"infoScreen");
365 include_once(
'./Modules/Group/classes/class.ilGroupRegistrationGUI.php');
366 $this->ctrl->redirectByClass(
"ilGroupRegistrationGUI",
"show");
388 include_once
'Services/Tracking/classes/class.ilLearningProgress.php';
391 $this->object->getId(),
392 $this->object->getRefId(),
397 $this->object->getId(),
398 $this->object->getId(),
403 if (strtolower(
$_GET[
"baseClass"]) ==
"iladministrationgui") {
404 parent::viewObject();
409 include_once(
'Services/Membership/classes/class.ilMemberAgreementGUI.php');
410 $this->tabs_gui->setTabActive(
'view_content');
411 $this->ctrl->setReturn($this,
'view');
413 $this->ctrl->setCmdClass(get_class($agreement));
414 $this->ctrl->forwardCommand($agreement);
418 $this->tabs_gui->setTabActive(
'view_content');
429 $ilTabs =
$DIC[
'ilTabs'];
431 $ilTabs->activateTab(
"view_content");
432 $ret = parent::renderObject();
450 if ($course_ref_id =
$tree->checkForParentType($this->object->getRefId(),
'crs')) {
451 include_once(
"./Modules/Course/classes/class.ilObjCourse.php");
452 include_once(
"./Modules/Course/classes/class.ilObjCourseGUI.php");
456 'ilcoursecontentgui',
462 $this->object->getRefId()
484 $GLOBALS[
'DIC'][
'tree']->checkForParentType($new_object->
getRefId(),
'crs',
true) ||
485 $GLOBALS[
'DIC'][
'tree']->checkForParentType($new_object->
getRefId(),
'grp',
true)
491 include_once
'./Services/Container/classes/class.ilContainerSortingSettings.php';
493 $sort->setSortMode($sort_mode);
498 include_once
'./Modules/Group/classes/class.ilGroupParticipants.php';
501 $members_obj->updateNotification(
$ilUser->getId(),
$ilSetting->get(
'mail_grp_admin_notification',
true));
502 $members_obj->updateContact(
$ilUser->getId(),
true);
504 ilUtil::sendSuccess($this->lng->txt(
"object_added"),
true);
506 $this->ctrl->setParameter($this,
"ref_id", $new_object->
getRefId());
507 $this->ctrl->redirect($this,
'edit');
523 $this->tabs_gui->setTabActive(
'settings');
524 $this->tabs_gui->setSubTabActive(
'grp_settings');
530 $this->tpl->setVariable(
'ADM_CONTENT', $a_form->getHTML());
542 include_once
'./Services/DidacticTemplate/classes/class.ilDidacticTemplateUtils.php';
544 $this->object->getRefId(),
545 (
int) $_REQUEST[
'grp_type']
548 ilUtil::sendSuccess($this->lng->txt(
'settings_saved'),
true);
549 $this->ctrl->redirect($this,
'edit');
565 if ($form->checkInput()) {
567 include_once
'./Services/DidacticTemplate/classes/class.ilDidacticTemplateObjSettings.php';
571 $new_type_info = $form->getInput(
'didactic_type');
572 if ($new_type_info) {
573 $new_type = explode(
'_', $form->getInput(
'didactic_type'));
574 $new_type = $new_type[1];
576 $modified = ($new_type != $old_type);
580 $old_autofill = $this->
object->hasWaitingListAutoFill();
587 $this->
object->enableUnlimitedRegistration((
bool) !$form->getInput(
'reg_limit_time'));
588 $this->
object->enableMembershipLimitation((
bool) $form->getInput(
'registration_membership_limited'));
589 $this->
object->setMinMembers((
int) $form->getInput(
'registration_min_members'));
590 $this->
object->setMaxMembers((
int) $form->getInput(
'registration_max_members'));
591 $this->
object->enableRegistrationAccessCode((
bool) $form->getInput(
'reg_code_enabled'));
592 $this->
object->setRegistrationAccessCode($form->getInput(
'reg_code'));
593 $this->
object->setViewMode($form->getInput(
'view_mode'));
594 $this->
object->setMailToMembersType((
int) $form->getInput(
'mail_type'));
595 $this->
object->setShowMembers((
int) $form->getInput(
'show_members'));
596 $this->
object->setAutoNotification((
bool) $form->getInput(
'auto_notification'));
599 $grp_period = $form->getItemByPostVar(
"period");
602 $this->
object->setPeriod(
603 $grp_period->getStart(),
604 $grp_period->getEnd()
607 $reg = $form->getItemByPostVar(
"reg");
609 $this->
object->enableUnlimitedRegistration(
false);
611 $this->
object->enableUnlimitedRegistration(
true);
614 $this->
object->setRegistrationStart($reg->getStart());
615 $this->
object->setRegistrationEnd($reg->getEnd());
617 $cancel_end = $form->getItemByPostVar(
"cancel_end");
618 $this->
object->setCancellationEnd($cancel_end->getDate());
620 switch ((
int)
$_POST[
'waiting_list']) {
622 $this->
object->enableWaitingList(
true);
623 $this->
object->setWaitingListAutoFill(
true);
627 $this->
object->enableWaitingList(
true);
628 $this->
object->setWaitingListAutoFill(
false);
632 $this->
object->enableWaitingList(
false);
633 $this->
object->setWaitingListAutoFill(
false);
638 $obj_service->commonSettings()->legacyForm($form, $this->
object)->saveTitleIconVisibility();
641 $obj_service->commonSettings()->legacyForm($form, $this->
object)->saveTopActionsVisibility();
644 $obj_service->commonSettings()->legacyForm($form, $this->
object)->saveIcon();
647 $obj_service->commonSettings()->legacyForm($form, $this->
object)->saveTileImage();
653 $this->
object->update();
656 include_once
'./Services/Object/classes/class.ilObjectServiceSettingsGUI.php';
658 $this->object->getId(),
677 $this->object->hasWaitingListAutoFill()) {
678 $this->
object->handleAutoFill();
682 require_once(
'Services/Tracking/classes/class.ilChangeEvent.php');
687 $this->object->getId(),
694 include_once
'Modules/Group/classes/class.ilECSGroupSettings.php';
696 $ecs->handleSettingsUpdate();
700 $form->setValuesByPost();
707 if ($new_type == 0) {
708 $new_type_txt =
$GLOBALS[
'DIC'][
'lng']->txt(
'il_grp_status_open');
710 include_once
'./Services/DidacticTemplate/classes/class.ilDidacticTemplateSetting.php';
712 $new_type_txt = $dtpl->getPresentationTitle(
$GLOBALS[
'DIC'][
'lng']->getLangKey());
716 include_once
'./Services/Utilities/classes/class.ilConfirmationGUI.php';
719 $confirm->setFormAction($this->ctrl->getFormAction($this));
723 $this->lng->txt(
'grp_info_new_grp_type') .
': ' . $new_type_txt
725 $confirm->addButton($this->lng->txt(
'grp_change_type'),
'updateGroupType');
726 $confirm->setCancel($this->lng->txt(
'cancel'),
'edit');
728 $this->tpl->setContent($confirm->getHTML());
731 ilUtil::sendSuccess($this->lng->txt(
"msg_obj_modified"),
true);
732 $this->ctrl->redirect($this,
'edit');
747 $ilAccess =
$DIC[
'ilAccess'];
750 $this->tabs_gui->setTabActive(
'settings');
751 $this->tabs_gui->setSubTabActive(
'grp_map_settings');
753 include_once(
'./Services/Maps/classes/class.ilMapUtil.php');
755 !$ilAccess->checkAccess(
"write",
"", $this->object->getRefId())) {
759 $latitude = $this->
object->getLatitude();
760 $longitude = $this->
object->getLongitude();
761 $zoom = $this->
object->getLocationZoom();
764 if ($latitude == 0 && $longitude == 0 && $zoom == 0) {
766 $latitude = $def[
"latitude"];
767 $longitude = $def[
"longitude"];
768 $zoom = $def[
"zoom"];
772 include_once(
"./Services/Form/classes/class.ilPropertyFormGUI.php");
774 $form->setFormAction(
$ilCtrl->getFormAction($this));
776 $form->setTitle($this->lng->txt(
"grp_map_settings"));
780 $this->lng->txt(
"grp_enable_map"),
783 $public->setValue(
"1");
784 $public->setChecked($this->object->getEnableGroupMap());
785 $form->addItem($public);
789 $this->lng->txt(
"grp_map_location"),
792 $loc_prop->setLatitude($latitude);
793 $loc_prop->setLongitude($longitude);
794 $loc_prop->setZoom($zoom);
795 $form->addItem($loc_prop);
797 $form->addCommandButton(
"saveMapSettings", $this->lng->txt(
"save"));
799 $this->tpl->setVariable(
"ADM_CONTENT", $form->getHTML());
813 $this->
object->update();
815 $ilCtrl->redirect($this,
"editMapSettings");
830 $ilAccess =
$DIC[
'ilAccess'];
835 $this->tabs_gui->setTabActive(
'settings');
836 $this->tabs_gui->setSubTabActive(
'grp_info_settings');
839 $this->tpl->setContent($form->getHTML());
850 include_once(
"./Services/Form/classes/class.ilPropertyFormGUI.php");
852 $form->setFormAction($this->ctrl->getFormAction($this,
'updateInfo'));
853 $form->setTitle($this->lng->txt(
'grp_general_informations'));
854 $form->addCommandButton(
'updateInfo', $this->lng->txt(
'save'));
855 $form->addCommandButton(
'cancel', $this->lng->txt(
'cancel'));
858 $area->setInfo($this->lng->txt(
'grp_information_info'));
859 $area->setValue($this->object->getInformation());
862 $form->addItem($area);
878 $this->
object->update();
880 ilUtil::sendSuccess($this->lng->txt(
"settings_saved"));
888 include_once(
'./Services/PrivacySecurity/classes/class.ilPrivacySettings.php');
891 include_once
'./Services/Tracking/classes/class.ilObjUserTracking.php';
892 $this->show_tracking =
897 if ($this->show_tracking) {
898 include_once(
'./Services/Object/classes/class.ilObjectLP.php');
900 $this->show_tracking = $olp->isActive();
903 if ($this->show_tracking) {
904 include_once
'Services/Tracking/classes/class.ilLPStatusWrapper.php';
910 if ($privacy->enabledGroupAccessTimes()) {
911 include_once(
'./Services/Tracking/classes/class.ilLearningProgress.php');
915 $do_prtf = (is_array($selected_columns) &&
916 in_array(
'prtf', $selected_columns) &&
919 include_once
"Modules/Portfolio/classes/class.ilObjPortfolio.php";
922 $this->ctrl->getLinkTarget($this,
"members")
927 foreach ($ids as $usr_id) {
929 $tmp_data[
'firstname'] =
$name[
'firstname'];
930 $tmp_data[
'lastname'] =
$name[
'lastname'];
932 $tmp_data[
'notification'] = $this->
object->members_obj->isNotificationEnabled($usr_id) ? 1 : 0;
933 $tmp_data[
'contact'] = $this->
object->members_obj->isContact($usr_id) ? 1 : 0;
934 $tmp_data[
'usr_id'] = $usr_id;
937 foreach ((array) $profile_data[$usr_id] as $field => $value) {
938 $tmp_data[$field] = $value;
941 if ($this->show_tracking) {
942 if (in_array($usr_id, $completed)) {
944 } elseif (in_array($usr_id, $in_progress)) {
946 } elseif (in_array($usr_id,
$failed)) {
953 if ($privacy->enabledGroupAccessTimes()) {
954 if (isset($progress[$usr_id][
'ts']) and $progress[$usr_id][
'ts']) {
958 $tmp_data[
'access_time_unix'] = $tmp_date->get(
IL_CAL_UNIX);
960 $tmp_data[
'access_time'] = $this->lng->txt(
'no_date');
961 $tmp_data[
'access_time_unix'] = 0;
966 $tmp_data[
'prtf'] = $all_prtf[$usr_id];
969 $members[$usr_id] = $tmp_data;
971 return $members ? $members : array();
987 if ($part->isLastAdmin(
$ilUser->getId())) {
993 $this->tabs_gui->setTabActive(
'grp_btn_unsubscribe');
995 include_once
"Services/Utilities/classes/class.ilConfirmationGUI.php";
997 $cgui->setHeaderText($this->lng->txt(
'grp_dismiss_myself'));
998 $cgui->setFormAction($this->ctrl->getFormAction($this));
999 $cgui->setCancel($this->lng->txt(
"cancel"),
"cancel");
1000 $cgui->setConfirm($this->lng->txt(
"grp_btn_unsubscribe"),
"unsubscribe");
1001 $this->tpl->setContent($cgui->getHTML());
1020 $this->
object->members_obj->delete(
$ilUser->getId());
1022 include_once
'./Modules/Group/classes/class.ilGroupMembershipMailNotification.php';
1023 $this->
object->members_obj->sendNotification(
1027 $this->
object->members_obj->sendNotification(
1032 ilUtil::sendSuccess($this->lng->txt(
'grp_msg_membership_annulled'),
true);
1036 $tree->getParentId($this->object->getRefId())
1038 $ilCtrl->redirectByClass(
"ilrepositorygui",
"");
1049 $this->tabs_gui->addTab(
1051 $this->lng->txt(
"content"),
1052 $this->ctrl->getLinkTarget($this,
"view")
1064 $ilAccess =
$DIC[
'ilAccess'];
1066 $ilHelp =
$DIC[
'ilHelp'];
1068 $ilHelp->setScreenIdComponent(
"grp");
1070 if ($ilAccess->checkAccess(
'read',
'', $this->ref_id)) {
1071 if ($this->object->isNewsTimelineEffective()) {
1072 if (!$this->object->isNewsTimelineLandingPageEffective()) {
1075 $this->tabs_gui->addTab(
1077 $lng->txt(
"cont_news_timeline_tab"),
1078 $this->ctrl->getLinkTargetByClass(
"ilnewstimelinegui",
"show")
1080 if ($this->object->isNewsTimelineLandingPageEffective()) {
1088 $ilAccess->checkAccess(
'visible',
'', $this->ref_id) ||
1089 $ilAccess->checkAccess(
'join',
'', $this->ref_id) ||
1090 $ilAccess->checkAccess(
'read',
'', $this->ref_id)
1092 $this->tabs_gui->addTarget(
1094 $this->ctrl->getLinkTargetByClass(
1095 array(
"ilobjgroupgui",
"ilinfoscreengui"),
1106 if ($ilAccess->checkAccess(
'write',
'', $this->object->getRefId())) {
1107 $this->tabs_gui->addTarget(
1109 $this->ctrl->getLinkTarget($this,
"edit"),
1110 array(
"edit",
"editMapSettings"),
1116 include_once
'./Modules/Group/classes/class.ilGroupParticipants.php';
1120 include_once
'./Modules/Group/classes/class.ilGroupMembershipGUI.php';
1122 $membership_gui->addMemberTab($this->tabs_gui, $is_participant);
1126 if ($ilAccess->checkAccess(
'write',
'', $this->ref_id)) {
1127 include_once
'Services/Badge/classes/class.ilBadgeHandler.php';
1129 $this->tabs_gui->addTarget(
1130 "obj_tool_setting_badges",
1131 $this->ctrl->getLinkTargetByClass(
"ilbadgemanagementgui",
""),
1133 "ilbadgemanagementgui"
1139 include_once(
"./Services/Object/classes/class.ilObjectServiceSettingsGUI.php");
1141 $this->object->getId(),
1145 $this->tabs_gui->addTarget(
1146 "obj_tool_setting_skills",
1147 $this->ctrl->getLinkTargetByClass(array(
"ilcontainerskillgui",
"ilcontskillpresentationgui"),
""),
1149 array(
"ilcontainerskillgui",
"ilcontskillpresentationgui",
"ilcontskilladmingui")
1154 include_once
'./Services/Tracking/classes/class.ilLearningProgressAccess.php';
1156 $this->tabs_gui->addTarget(
1157 'learning_progress',
1158 $this->ctrl->getLinkTargetByClass(array(
'ilobjgroupgui',
'illearningprogressgui'),
''),
1160 array(
'illplistofobjectsgui',
'illplistofsettingsgui',
'illearningprogressgui',
'illplistofprogressgui')
1165 if ($ilAccess->checkAccess(
'write',
'', $this->ref_id)) {
1167 $tab_link = $md_gui->getTab();
1168 if ($tab_link !==
null) {
1169 $this->tabs_gui->addTab(
1171 $this->lng->txt(
'meta_data'),
1174 'ilObjectMetaDataGUI'
1180 if ($ilAccess->checkAccess(
'write',
'', $this->object->getRefId())) {
1181 $this->tabs_gui->addTarget(
1183 $this->ctrl->getLinkTargetByClass(
'ilexportgui',
''),
1192 if ($ilAccess->checkAccess(
'join',
'', $this->object->getRefId()) and
1193 !$this->object->members_obj->isAssigned(
$ilUser->getId())) {
1194 include_once
'./Modules/Group/classes/class.ilGroupWaitingList.php';
1196 $this->tabs_gui->addTab(
1198 $this->lng->txt(
'membership_leave'),
1199 $this->ctrl->getLinkTargetByClass(
'ilgroupregistrationgui',
'show',
'')
1202 $this->tabs_gui->addTarget(
1204 $this->ctrl->getLinkTargetByClass(
'ilgroupregistrationgui',
"show"),
1210 if ($ilAccess->checkAccess(
'leave',
'', $this->object->getRefId()) and
1211 $this->object->members_obj->isMember(
$ilUser->getId())) {
1212 $this->tabs_gui->addTarget(
1213 "grp_btn_unsubscribe",
1214 $this->ctrl->getLinkTarget($this,
"leave"),
1228 $this->ctrl->setCmd(
"showSummary");
1229 $this->ctrl->setCmdClass(
"ilinfoscreengui");
1244 $this->tabs_gui->setTabActive(
'info_short');
1251 $this->object->getId(),
1252 $this->object->getId(),
1256 include_once(
"./Services/InfoScreen/classes/class.ilInfoScreenGUI.php");
1259 if (strlen($this->object->getInformation())) {
1260 $info->addSection($this->lng->txt(
'grp_general_informations'));
1261 $info->addProperty($this->lng->txt(
'grp_information'), nl2br(
1266 $info->enablePrivateNotes();
1267 $info->enableLearningProgress(
true);
1270 $record_gui->setInfoObject($info);
1271 $record_gui->parse();
1274 $info->addMetaDataSections($this->object->getId(), 0, $this->object->getType());
1279 $contacts = $parts->getContacts();
1280 if (count($contacts) > 0) {
1281 $info->addSection($this->lng->txt(
"grp_mem_contacts"));
1282 foreach ($contacts as
$c) {
1284 $pgui->setBackUrl($this->ctrl->getLinkTargetByClass(
"ilinfoscreengui"));
1285 $pgui->setEmbedded(
true);
1286 $info->addProperty(
"", $pgui->getHTML());
1291 $info->addSection($this->lng->txt(
'group_registration'));
1292 $info->showLDAPRoleGroupMappingInfo();
1294 if (!$this->object->isRegistrationEnabled()) {
1296 $this->lng->txt(
'group_registration_mode'),
1297 $this->lng->txt(
'grp_reg_deac_info_screen')
1300 switch ($this->object->getRegistrationType()) {
1303 $this->lng->txt(
'group_registration_mode'),
1304 $this->lng->txt(
'grp_reg_direct_info_screen')
1310 $this->lng->txt(
'group_registration_mode'),
1311 $this->lng->txt(
'grp_reg_req_info_screen')
1317 $this->lng->txt(
'group_registration_mode'),
1318 $this->lng->txt(
'grp_reg_passwd_info_screen')
1329 if ($this->object->isRegistrationUnlimited()) {
1331 $this->lng->txt(
'group_registration_time'),
1332 $this->lng->txt(
'grp_registration_unlimited')
1334 } elseif ($this->object->getRegistrationStart()->getUnixTime() < time()) {
1336 $this->lng->txt(
"group_registration_time"),
1337 $this->lng->txt(
'cal_until') .
' ' .
1340 } elseif ($this->object->getRegistrationStart()->getUnixTime() >= time()) {
1342 $this->lng->txt(
"group_registration_time"),
1343 $this->lng->txt(
'cal_from') .
' ' .
1347 if ($this->object->isMembershipLimited()) {
1348 if ($this->object->getMinMembers()) {
1350 $this->lng->txt(
"mem_min_users"),
1351 $this->object->getMinMembers()
1354 if ($this->object->getMaxMembers()) {
1355 include_once
'./Modules/Group/classes/class.ilObjGroupAccess.php';
1359 $this->lng->txt(
'mem_free_places'),
1360 $reg_info[
'reg_info_free_places']
1365 if ($this->object->getCancellationEnd()) {
1367 $this->lng->txt(
'grp_cancellation_end'),
1373 if ($this->object->getStart()) {
1375 $this->lng->txt(
'grp_period'),
1377 $this->object->getStart(),
1378 $this->object->getEnd()
1385 include_once(
'Services/PrivacySecurity/classes/class.ilPrivacySettings.php');
1388 include_once(
'Modules/Course/classes/Export/class.ilCourseDefinedFieldDefinition.php');
1390 include_once(
'Services/PrivacySecurity/classes/class.ilExportFieldsInfo.php');
1394 $this->lng->loadLanguageModule(
'ps');
1395 $info->addSection($this->lng->txt(
'grp_user_agreement_info'));
1396 $info->addProperty($this->lng->txt(
'ps_export_data'), $field_info->exportableFieldsToInfoString());
1399 $info->addProperty($this->lng->txt(
'ps_grp_user_fields'), $fields);
1405 $this->ctrl->forwardCommand($info);
1413 include_once
"Services/Membership/classes/class.ilMembershipNotifications.php";
1415 if ($noti->canCurrentUserEdit()) {
1416 if ((
bool) $_REQUEST[
"grp_ntf"]) {
1417 $noti->activateUser();
1419 $noti->deactivateUser();
1422 ilUtil::sendSuccess($this->lng->txt(
"settings_saved"),
true);
1423 $this->ctrl->redirect($this,
"");
1431 $GLOBALS[
'DIC'][
'ilCtrl']->redirectByClass(
'ilgroupmembershipgui');
1438 public static function _goto($a_target, $a_add =
"")
1442 $ilAccess =
$DIC[
'ilAccess'];
1447 include_once
'./Services/Membership/classes/class.ilMembershipRegistrationCodeUtils.php';
1448 if (substr($a_add, 0, 5) ==
'rcode') {
1449 if (
$ilUser->getId() == ANONYMOUS_USER_ID) {
1452 "login.php?target=" .
$_GET[
"target"] .
"&cmd=force_login&lang=" .
1465 if ($a_add ==
"mem" && $ilAccess->checkAccess(
"manage_members",
"", $a_target)) {
1469 if ($ilAccess->checkAccess(
"read",
"", $a_target)) {
1473 if ($ilAccess->checkAccess(
"visible",
"", $a_target)) {
1476 if ($ilAccess->checkAccess(
"read",
"", ROOT_FOLDER_ID)) {
1478 $lng->txt(
"msg_no_perm_read_item"),
1496 public function initForm($a_mode =
'edit', $a_omit_form_action =
false)
1502 $tree = $DIC[
'tree'];
1504 include_once(
"./Services/Form/classes/class.ilPropertyFormGUI.php");
1508 if (!$a_omit_form_action) {
1511 $form->setFormAction($this->ctrl->getFormAction($this,
'update'));
1515 $form->setTableWidth(
'600px');
1516 $form->setFormAction($this->ctrl->getFormAction($this,
'save'));
1522 $this->initFormTitleDescription($form);
1526 if ($a_mode ==
'edit') {
1529 $this->lng->loadLanguageModule(
'mem');
1530 $cdur->enableToggleFullTime(
1531 $this->lng->txt(
'mem_period_without_time'),
1532 !$this->object->getStartTimeIndication()
1534 $cdur->setShowTime(
true);
1535 $cdur->setInfo($this->lng->txt(
'grp_period_info'));
1536 $cdur->setStart($this->object->getStart());
1537 $cdur->setEnd($this->object->getEnd());
1538 $form->addItem($cdur);
1542 $pres->setTitle($this->lng->txt(
'grp_setting_header_registration'));
1543 $form->addItem($pres);
1546 $reg_type =
new ilRadioGroupInputGUI($this->lng->txt(
'group_registration_mode'),
'registration_type');
1547 $reg_type->setValue($this->object->getRegistrationType());
1550 $reg_type->addOption($opt_dir);
1554 $pass->setRequired(
true);
1555 $pass->setInfo($this->lng->txt(
'grp_reg_password_info'));
1556 $pass->setValue($this->object->getPassword());
1558 $pass->setMaxLength(32);
1559 $opt_pass->addSubItem(
$pass);
1560 $reg_type->addOption($opt_pass);
1563 $reg_type->addOption($opt_req);
1566 $reg_type->addOption($opt_deact);
1569 $reg_code =
new ilCheckboxInputGUI($this->lng->txt(
'grp_reg_code'),
'reg_code_enabled');
1570 $reg_code->setChecked($this->object->isRegistrationAccessCodeEnabled());
1571 $reg_code->setValue(1);
1572 $reg_code->setInfo($this->lng->txt(
'grp_reg_code_enabled_info'));
1573 $form->addItem($reg_type);
1576 if (!$this->object->getRegistrationAccessCode()) {
1577 include_once
'./Services/Membership/classes/class.ilMembershipRegistrationCodeUtils.php';
1581 $reg_link->setValue($this->object->getRegistrationAccessCode());
1582 $form->addItem($reg_link);
1585 include_once
'./Services/Link/classes/class.ilLink.php';
1586 $val =
ilLink::_getLink($this->object->getRefId(), $this->object->getType(), array(),
'_rcode' . $this->object->getRegistrationAccessCode());
1587 $link->setHTML(
'<span class="small">' . $val .
'</span>');
1588 $reg_code->addSubItem($link);
1589 $form->addItem($reg_code);
1592 $this->lng->loadLanguageModule(
'dateplaner');
1593 include_once
'./Services/Form/classes/class.ilDateDurationInputGUI.php';
1595 $dur->setShowTime(
true);
1596 $dur->setStart($this->object->getRegistrationStart());
1597 $dur->setEnd($this->object->getRegistrationEnd());
1598 $form->addItem($dur);
1601 $cancel =
new ilDateTimeInputGUI($this->lng->txt(
'grp_cancellation_end'),
'cancel_end');
1602 $cancel->setInfo($this->lng->txt(
'grp_cancellation_end_info'));
1603 $cancel->setDate($this->object->getCancellationEnd());
1604 $form->addItem($cancel);
1607 $lim =
new ilCheckboxInputGUI($this->lng->txt(
'reg_grp_max_members_short'),
'registration_membership_limited');
1610 $lim->setChecked($this->object->isMembershipLimited());
1612 $min =
new ilTextInputGUI($this->lng->txt(
'reg_grp_min_members'),
'registration_min_members');
1614 $min->setMaxLength(4);
1615 $min->setValue($this->object->getMinMembers() ? $this->object->getMinMembers() :
'');
1616 $min->setInfo($this->lng->txt(
'grp_subscription_min_members_info'));
1617 $lim->addSubItem($min);
1619 $max =
new ilTextInputGUI($this->lng->txt(
'reg_grp_max_members'),
'registration_max_members');
1620 $max->setValue($this->object->getMaxMembers() ? $this->object->getMaxMembers() :
'');
1623 $max->setMaxLength(4);
1624 $max->setInfo($this->lng->txt(
'grp_reg_max_members_info'));
1625 $lim->addSubItem($max);
1640 $wait->addOption($option);
1642 $option =
new ilRadioOption($this->lng->txt(
'grp_waiting_list_no_autofill'), 1);
1643 $option->setInfo($this->lng->txt(
'grp_waiting_list_info'));
1644 $wait->addOption($option);
1646 $option =
new ilRadioOption($this->lng->txt(
'grp_waiting_list_autofill'), 2);
1647 $option->setInfo($this->lng->txt(
'grp_waiting_list_autofill_info'));
1648 $wait->addOption($option);
1650 if ($this->object->hasWaitingListAutoFill()) {
1652 } elseif ($this->object->isWaitingListEnabled()) {
1656 $lim->addSubItem($wait);
1658 $form->addItem($lim);
1662 $parent_membership_ref_id = 0;
1663 $hasParentMembership =
1665 $parent_membership_ref_id =
$tree->checkForParentType($this->object->getRefId(),
'crs',
true)
1669 $pres->setTitle($this->lng->txt(
'grp_setting_header_presentation'));
1670 $form->addItem($pres);
1673 $form = $obj_service->commonSettings()->legacyForm($form, $this->
object)->addTitleIconVisibility();
1676 $form = $obj_service->commonSettings()->legacyForm($form, $this->
object)->addTopActionsVisibility();
1679 $form = $obj_service->commonSettings()->legacyForm($form, $this->
object)->addIcon();
1682 $form = $obj_service->commonSettings()->legacyForm($form, $this->
object)->addTileImage();
1690 if ($hasParentMembership) {
1692 $course_view_mode =
'';
1693 switch ($parent_view_mode) {
1695 $course_view_mode =
': ' . $this->lng->txt(
'cntr_view_sessions');
1699 $course_view_mode =
': ' . $this->lng->txt(
'cntr_view_simple');
1703 $course_view_mode =
': ' . $this->lng->txt(
'cntr_view_by_type');
1706 if ($course_view_mode) {
1708 $opt->setInfo($this->lng->txt(
'grp_view_inherit_info'));
1709 $view_type->addOption($opt);
1720 $opt->setInfo($this->lng->txt(
'cntr_view_info_sessions'));
1721 $view_type->addOption($opt);
1724 $opt->setInfo($this->lng->txt(
'grp_view_info_simple'));
1725 $view_type->addOption($opt);
1728 $opt->setInfo($this->lng->txt(
'grp_view_info_by_type'));
1729 $view_type->addOption($opt);
1730 $form->addItem($view_type);
1734 $sorting_settings = array();
1735 if ($hasParentMembership) {
1745 $feat->setTitle($this->lng->txt(
'obj_features'));
1746 $form->addItem($feat);
1748 include_once
'./Services/Object/classes/class.ilObjectServiceSettingsGUI.php';
1750 $this->object->getId(),
1766 $mem->setChecked($this->object->getShowMembers());
1767 $mem->setInfo($this->lng->txt(
'grp_show_members_info'));
1768 $form->addItem($mem);
1772 $mail_type->setValue($this->object->getMailToMembersType());
1775 $this->lng->txt(
'grp_mail_tutors_only'),
1777 $this->lng->txt(
'grp_mail_tutors_only_info')
1779 $mail_type->addOption($mail_tutors);
1782 $this->lng->txt(
'grp_mail_all'),
1784 $this->lng->txt(
'grp_mail_all_info')
1786 $mail_type->addOption($mail_all);
1787 $form->addItem($mail_type);
1790 $not =
new ilCheckboxInputGUI($this->lng->txt(
'grp_auto_notification'),
'auto_notification');
1792 $not->setInfo($this->lng->txt(
'grp_auto_notification_info'));
1793 $not->setChecked($this->object->getAutoNotification());
1794 $form->addItem($not);
1799 $form->setTitle($this->lng->txt(
'grp_new'));
1802 $form->addCommandButton(
'save', $this->lng->txt(
'grp_new'));
1803 $form->addCommandButton(
'cancel', $this->lng->txt(
'cancel'));
1807 $form->setTitle($this->lng->txt(
'grp_edit'));
1811 include_once
'Modules/Group/classes/class.ilECSGroupSettings.php';
1813 $ecs->addSettingsToForm($form,
'grp');
1815 $form->addCommandButton(
'update', $this->lng->txt(
'save'));
1816 $form->addCommandButton(
'cancel', $this->lng->txt(
'cancel'));
1835 $ilAccess =
$DIC[
'ilAccess'];
1840 $this->tabs_gui->addSubTabTarget(
1842 $this->ctrl->getLinkTarget($this,
'edit'),
1847 $this->tabs_gui->addSubTabTarget(
1848 "grp_info_settings",
1849 $this->ctrl->getLinkTarget($this,
'editInfo'),
1854 include_once(
"./Services/Maps/classes/class.ilMapUtil.php");
1856 $this->tabs_gui->addSubTabTarget(
1858 $this->ctrl->getLinkTarget($this,
'editMapSettings'),
1864 $this->tabs_gui->addSubTabTarget(
1866 $this->ctrl->getLinkTargetByClass(
'ilobjcoursegroupinggui',
'listGroupings'),
1871 include_once(
'Services/PrivacySecurity/classes/class.ilPrivacySettings.php');
1872 include_once(
'Modules/Course/classes/Export/class.ilCourseDefinedFieldDefinition.php');
1875 $this->tabs_gui->addSubTabTarget(
1876 'grp_custom_user_fields',
1877 $this->ctrl->getLinkTargetByClass(
'ilobjectcustomuserfieldsgui'),
1879 'ilobjectcustomuserfieldsgui'
1884 if ($this->object->getUseNews()) {
1885 $this->tabs_gui->addSubTab(
1886 'obj_news_settings',
1887 $this->lng->txt(
"cont_news_settings"),
1888 $this->ctrl->getLinkTargetByClass(
'ilcontainernewssettingsgui')
1893 if ($lti_settings->hasSettingsAccess()) {
1894 $this->tabs_gui->addSubTabTarget(
1896 $this->ctrl->getLinkTargetByClass(ilLTIProviderObjectSettingGUI::class)
1900 $this->tabs_gui->addSubTabTarget(
1901 "obj_multilinguality",
1902 $this->ctrl->getLinkTargetByClass(
"ilobjecttranslationgui",
""),
1904 "ilobjecttranslationgui"
1925 $ilAccess =
$DIC[
'ilAccess'];
1927 if ($ilAccess->checkAccess(
'write',
'', $this->object->getRefId())) {
1932 if (!$this->object->members_obj->isAssigned(
$ilUser->getId())) {
1936 include_once
'./Services/Container/classes/class.ilMemberViewSettings.php';
1941 include_once(
'Services/PrivacySecurity/classes/class.ilPrivacySettings.php');
1942 include_once(
'Services/Membership/classes/class.ilMemberAgreement.php');
1951 include_once(
'Modules/Course/classes/Export/class.ilCourseUserData.php');
1979 parent::prepareOutput($a_show_subobjects);
1988 $link = chr(13) . chr(10) . chr(13) . chr(10);
1989 $link .= $this->lng->txt(
'grp_mail_permanent_link');
1990 $link .= chr(13) . chr(10) . chr(13) . chr(10);
1991 include_once
'Services/Link/classes/class.ilLink.php';
1993 return rawurlencode(base64_encode($link));
2003 $lg = parent::initHeaderAction($a_sub_type, $a_sub_id);
2005 include_once(
'./Modules/Group/classes/class.ilGroupParticipants.php');
2007 include_once
"Services/Membership/classes/class.ilMembershipNotifications.php";
2010 if (!$noti->isCurrentUserActive()) {
2014 $this->lng->txt(
"grp_notification_deactivated")
2017 $this->ctrl->setParameter($this,
"grp_ntf", 1);
2018 $caption =
"grp_activate_notification";
2023 $this->lng->txt(
"grp_notification_activated")
2026 $this->ctrl->setParameter($this,
"grp_ntf", 0);
2027 $caption =
"grp_deactivate_notification";
2030 if ($noti->canCurrentUserEdit()) {
2031 $lg->addCustomCommand(
2032 $this->ctrl->getLinkTarget($this,
"saveNotification"),
2037 $this->ctrl->setParameter($this,
"grp_ntf",
"");
2052 include_once(
'Modules/Course/classes/Export/class.ilCourseUserData.php');
2055 $res_data = array();
2056 foreach ($a_data as $usr_id => $user_data) {
2057 $res_data[$usr_id] = $user_data;
2060 include_once
'./Services/User/classes/class.ilUserDefinedData.php';
2062 foreach ($udf_data->getAll() as $field => $value) {
2063 list(
$f, $field_id) = explode(
'_', $field);
2064 $res_data[$usr_id][
'udf_' . $field_id] = (string) $value;
2067 foreach ((array) $odfs[$usr_id] as $cdf_field => $cdf_value) {
2068 $res_data[$usr_id][
'cdf_' . $cdf_field] = (string) $cdf_value;
2081 $local_roles = $this->
object->getLocalGroupRoles(
false);
2082 $grp_member = $this->
object->getDefaultMemberRole();
2083 $grp_roles = array();
2086 if (in_array($grp_member, $local_roles)) {
2088 unset($local_roles[$grp_roles[$grp_member]]);
2091 foreach ($local_roles as $title => $role_id) {
2102 $this->ctrl->redirectByClass(
'ilUsersGalleryGUI');
2110 $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.
& 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
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 _lookupLogin($a_user_id)
lookup login
static _lookupName($a_user_id)
lookup user name
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 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.
const CALENDAR_VISIBILITY
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