5include_once 
"./Services/Container/classes/class.ilContainerGUI.php";
 
    6include_once(
'./Modules/Group/classes/class.ilObjGroup.php');
 
   35    public function __construct($a_data, $a_id, $a_call_by_reference, $a_prepare_output = 
false)
 
   40        parent::__construct($a_data, $a_id, $a_call_by_reference, $a_prepare_output);
 
   42        $this->lng->loadLanguageModule(
'grp');
 
   51        $next_class = $this->ctrl->getNextClass($this);
 
   52        $cmd = $this->ctrl->getCmd();
 
   59            $ilAccess->checkAccess(
"read", 
"", 
$_GET[
"ref_id"])) {
 
   60            include_once(
"./Services/Link/classes/class.ilLink.php");
 
   61            $ilNavigationHistory->addItem(
 
   69        if ($next_class == 
"" && $cmd == 
"" && $this->object->isNewsTimelineLandingPageEffective()
 
   70            && $ilAccess->checkAccess(
"read", 
"", 
$_GET[
"ref_id"])) {
 
   71            $this->ctrl->redirectbyclass(
"ilnewstimelinegui");
 
   74        switch ($next_class) {
 
   75            case 'illtiproviderobjectsettinggui':
 
   77                $this->tabs_gui->activateTab(
'settings');
 
   78                $this->tabs_gui->activateSubTab(
'lti_provider');
 
   80                $lti_gui->setCustomRolesForSelection(
$GLOBALS[
'DIC']->rbac()->review()->
getLocalRoles($this->object->getRefId()));
 
   81                $lti_gui->offerLTIRolesForSelection(
false);
 
   82                $this->ctrl->forwardCommand($lti_gui);
 
   86            case 'ilgroupmembershipgui':
 
   88                $this->tabs_gui->activateTab(
'members');
 
   90                include_once 
'./Modules/Group/classes/class.ilGroupMembershipGUI.php';
 
   92                $this->ctrl->forwardCommand($mem_gui);
 
   96            case 'ilgroupregistrationgui':
 
   97                $this->ctrl->setReturn($this, 
'');
 
   98                $this->tabs_gui->setTabActive(
'join');
 
   99                include_once(
'./Modules/Group/classes/class.ilGroupRegistrationGUI.php');
 
  101                $this->ctrl->forwardCommand($registration);
 
  104            case 'ilpermissiongui':
 
  105                $this->tabs_gui->setTabActive(
'perm_settings');
 
  106                include_once(
"Services/AccessControl/classes/class.ilPermissionGUI.php");
 
  108                $ret =&$this->ctrl->forwardCommand($perm_gui);
 
  111            case "ilinfoscreengui":
 
  115            case "illearningprogressgui":
 
  116                include_once 
'./Services/Tracking/classes/class.ilLearningProgressGUI.php';
 
  120                    $this->object->getRefId(),
 
  123                $this->ctrl->forwardCommand($new_gui);
 
  124                $this->tabs_gui->setTabActive(
'learning_progress');
 
  127            case 'ilobjcoursegroupinggui':
 
  130                include_once 
'./Modules/Course/classes/class.ilObjCourseGroupingGUI.php';
 
  131                $this->ctrl->setReturn($this, 
'edit');
 
  133                $this->ctrl->forwardCommand($crs_grp_gui);
 
  135                $this->tabs_gui->setTabActive(
'settings');
 
  136                $this->tabs_gui->setSubTabActive(
'groupings');
 
  139            case 'ilcoursecontentgui':
 
  141                include_once 
'./Modules/Course/classes/class.ilCourseContentGUI.php';
 
  143                $this->ctrl->forwardCommand($course_content_obj);
 
  146            case 'ilpublicuserprofilegui':
 
  147                require_once 
'./Services/User/classes/class.ilPublicUserProfileGUI.php';
 
  149                $this->tabs_gui->setTabActive(
'group_members');
 
  150                $this->tabs_gui->setSubTabActive(
'grp_members_gallery');
 
  152                if (
$_GET[
"back_url"] == 
"") {
 
  153                    $profile_gui->setBackUrl($this->ctrl->getLinkTargetByClass([
"ilGroupMembershipGUI", 
"ilUsersGalleryGUI"], 
'view'));
 
  155                $html = $this->ctrl->forwardCommand($profile_gui);
 
  156                $this->tpl->setVariable(
"ADM_CONTENT", 
$html);
 
  160                $this->tabs_gui->setTabActive(
'none');
 
  162                include_once(
"./Services/Style/Content/classes/class.ilObjStyleSheet.php");
 
  163                $this->tpl->setVariable(
 
  164                    "LOCATION_CONTENT_STYLESHEET",
 
  171            case "ilcontainerpagegui":
 
  174                    $this->tpl->setContent(
$ret);
 
  178            case 'ilobjectcopygui':
 
  179                include_once 
'./Services/Object/classes/class.ilObjectCopyGUI.php';
 
  182                $this->ctrl->forwardCommand($cp);
 
  185            case "ilobjstylesheetgui":
 
  189            case 'ilobjectcustomuserfieldsgui':
 
  190                include_once 
'./Services/Membership/classes/class.ilObjectCustomUserFieldsGUI.php';
 
  193                $this->tabs_gui->setTabActive(
'settings');
 
  194                $this->ctrl->forwardCommand($cdf_gui);
 
  197            case 'ilmemberagreementgui':
 
  198                include_once(
'Services/Membership/classes/class.ilMemberAgreementGUI.php');
 
  199                $this->ctrl->setReturn($this, 
'');
 
  200                $this->tabs_gui->setTabActive(
'view_content');
 
  202                $this->ctrl->forwardCommand($agreement);
 
  206                $this->tabs_gui->setTabActive(
'export');
 
  207                include_once 
'./Services/Export/classes/class.ilExportGUI.php';
 
  209                $exp->addFormat(
'xml');
 
  210                $this->ctrl->forwardCommand($exp);
 
  213            case "ilcommonactiondispatchergui":
 
  214                include_once(
"Services/Object/classes/class.ilCommonActionDispatcherGUI.php");
 
  216                $this->ctrl->forwardCommand($gui);
 
  219            case 'ilobjectservicesettingsgui':
 
  220                $this->ctrl->setReturn($this, 
'edit');
 
  222                $this->tabs_gui->activateTab(
'settings');
 
  223                $this->tabs_gui->activateSubTab(
'tool_settings');
 
  225                include_once 
'./Services/Object/classes/class.ilObjectServiceSettingsGUI.php';
 
  228                    $this->object->getId(),
 
  233                $this->ctrl->forwardCommand(
$service);
 
  236            case 'ilmailmembersearchgui':
 
  237                include_once 
'Services/Mail/classes/class.ilMail.php';
 
  240                if (!($ilAccess->checkAccess(
'manage_members', 
'', $this->object->getRefId()) ||
 
  242                    $rbacsystem->checkAccess(
'internal_mail', $mail->getMailObjectReferenceId())) {
 
  243                    $ilErr->raiseError($this->lng->txt(
"msg_no_perm_read"), 
$ilErr->MESSAGE);
 
  246                $this->tabs_gui->setTabActive(
'members');
 
  248                include_once 
'./Services/Contact/classes/class.ilMailMemberSearchGUI.php';
 
  249                include_once 
'./Services/Contact/classes/class.ilMailMemberGroupRoles.php';
 
  253                $this->ctrl->forwardCommand($mail_search);
 
  256            case 'ilbadgemanagementgui':
 
  257                $this->tabs_gui->setTabActive(
'obj_tool_setting_badges');
 
  258                include_once 
'Services/Badge/classes/class.ilBadgeManagementGUI.php';
 
  260                $this->ctrl->forwardCommand($bgui);
 
  263            case "ilcontainernewssettingsgui":
 
  265                $this->tabs_gui->setTabActive(
'settings');
 
  266                include_once(
"./Services/Container/classes/class.ilContainerNewsSettingsGUI.php");
 
  268                $this->ctrl->forwardCommand($news_set_gui);
 
  271            case "ilnewstimelinegui":
 
  273                $this->tabs_gui->setTabActive(
'news_timeline');
 
  274                include_once(
"./Services/News/classes/class.ilNewsTimelineGUI.php");
 
  276                $t->setUserEditAll($ilAccess->checkAccess(
'write', 
'', $this->object->getRefId(), 
'grp'));
 
  278                $this->ctrl->forwardCommand(
$t);
 
  279                include_once 
'Services/Tracking/classes/class.ilLearningProgress.php';
 
  282                    $this->object->getId(),
 
  283                    $this->object->getRefId(),
 
  288            case "ilcontainerskillgui":
 
  289                $this->tabs_gui->activateTab(
'obj_tool_setting_skills');
 
  290                include_once(
"./Services/Container/Skills/classes/class.ilContainerSkillGUI.php");
 
  292                $this->ctrl->forwardCommand($gui);
 
  295            case 'ilcalendarpresentationgui':
 
  296                include_once(
'./Services/Calendar/classes/class.ilCalendarPresentationGUI.php');
 
  298                $ret = $this->ctrl->forwardCommand($cal);
 
  305                        !$ilAccess->checkAccess(
'visible', 
'', $this->object->getRefId(), 
'grp') and
 
  306                        !$ilAccess->checkAccess(
'read', 
'', $this->object->getRefId(), 
'grp')) {
 
  307                    $ilErr->raiseError($this->lng->txt(
"msg_no_perm_read"), 
$ilErr->MESSAGE);
 
  311                if ($cmd == 
'infoScreenGoto') {
 
  312                    if ($this->object->isRegistrationEnabled()) {
 
  321                    && !$rbacsystem->checkAccess(
'read', $this->object->getRefId()) && $cmd != 
'infoScreen')
 
  324                    if (!
$rbacsystem->checkAccess(
'join', $this->object->getRefId())) {
 
  325                        $this->ctrl->redirect($this, 
"infoScreen");
 
  327                        include_once(
'./Modules/Group/classes/class.ilGroupRegistrationGUI.php');
 
  328                        $this->ctrl->redirectByClass(
"ilGroupRegistrationGUI", 
"show");
 
  346        include_once 
'Services/Tracking/classes/class.ilLearningProgress.php';
 
  349            $this->object->getId(),
 
  350            $this->object->getRefId(),
 
  354        if (strtolower(
$_GET[
"baseClass"]) == 
"iladministrationgui") {
 
  355            parent::viewObject();
 
  360            include_once(
'Services/Membership/classes/class.ilMemberAgreementGUI.php');
 
  361            $this->tabs_gui->setTabActive(
'view_content');
 
  362            $this->ctrl->setReturn($this, 
'view');
 
  364            $this->ctrl->setCmdClass(get_class($agreement));
 
  365            $this->ctrl->forwardCommand($agreement);
 
  369        $this->tabs_gui->setTabActive(
'view_content');
 
  380        $ilTabs->activateTab(
"view_content");
 
  381        $ret =  parent::renderObject();
 
  397        if ($course_ref_id = 
$tree->checkForParentType($this->object->getRefId(), 
'crs')) {
 
  398            include_once(
"./Modules/Course/classes/class.ilObjCourse.php");
 
  399            include_once(
"./Modules/Course/classes/class.ilObjCourseGUI.php");
 
  403                'ilcoursecontentgui',
 
  409                $this->object->getRefId()
 
  428                $GLOBALS[
'tree']->checkForParentType($new_object->
getRefId(), 
'crs', 
true) ||
 
  435        include_once 
'./Services/Container/classes/class.ilContainerSortingSettings.php';
 
  437        $sort->setSortMode($sort_mode);
 
  442        include_once 
'./Modules/Group/classes/class.ilGroupParticipants.php';
 
  445        $members_obj->updateNotification(
$ilUser->getId(), 
$ilSetting->get(
'mail_grp_admin_notification', 
true));
 
  449            $this->ctrl->setParameter($this, 
"ref_id", $new_object->
getRefId());
 
  450            $this->ctrl->redirect($this, 
'edit');
 
  466        $this->tabs_gui->setTabActive(
'settings');
 
  467        $this->tabs_gui->setSubTabActive(
'grp_settings');
 
  473        $this->tpl->setVariable(
'ADM_CONTENT', $a_form->getHTML());
 
  485        include_once 
'./Services/DidacticTemplate/classes/class.ilDidacticTemplateUtils.php';
 
  487            $this->object->getRefId(),
 
  488            (
int) $_REQUEST[
'grp_type']
 
  492        $this->ctrl->redirect($this, 
'edit');
 
  508        if (
$form->checkInput()) {
 
  510            include_once 
'./Services/DidacticTemplate/classes/class.ilDidacticTemplateObjSettings.php';
 
  514            $new_type_info = 
$form->getInput(
'didactic_type');
 
  515            if ($new_type_info) {
 
  516                $new_type = explode(
'_', 
$form->getInput(
'didactic_type'));
 
  517                $new_type = $new_type[1];
 
  519                $modified = ($new_type != $old_type);
 
  523            $old_autofill = $this->
object->hasWaitingListAutoFill();
 
  530            $this->
object->enableUnlimitedRegistration((
bool) !
$form->getInput(
'reg_limit_time'));
 
  531            $this->
object->enableMembershipLimitation((
bool) 
$form->getInput(
'registration_membership_limited'));
 
  532            $this->
object->setMinMembers((
int) 
$form->getInput(
'registration_min_members'));
 
  533            $this->
object->setMaxMembers((
int) 
$form->getInput(
'registration_max_members'));
 
  534            $this->
object->enableRegistrationAccessCode((
bool) 
$form->getInput(
'reg_code_enabled'));
 
  535            $this->
object->setRegistrationAccessCode(
$form->getInput(
'reg_code'));
 
  536            $this->
object->setViewMode(
$form->getInput(
'view_mode'));
 
  537            $this->
object->setMailToMembersType((
int) 
$form->getInput(
'mail_type'));
 
  538            $this->
object->setShowMembers((
int) 
$form->getInput(
'show_members'));
 
  541            $period = 
$form->getItemByPostVar(
'period');
 
  542            $this->
object->setStart($period->getStart());
 
  543            $this->
object->setEnd($period->getEnd());
 
  545            $reg = 
$form->getItemByPostVar(
"reg");
 
  547                $this->
object->enableUnlimitedRegistration(
false);
 
  549                $this->
object->enableUnlimitedRegistration(
true);
 
  552            $this->
object->setRegistrationStart($reg->getStart());
 
  553            $this->
object->setRegistrationEnd($reg->getEnd());
 
  555            $cancel_end = 
$form->getItemByPostVar(
"cancel_end");
 
  556            $this->
object->setCancellationEnd($cancel_end->getDate());
 
  558            switch ((
int) 
$_POST[
'waiting_list']) {
 
  560                    $this->
object->enableWaitingList(
true);
 
  561                    $this->
object->setWaitingListAutoFill(
true);
 
  565                    $this->
object->enableWaitingList(
true);
 
  566                    $this->
object->setWaitingListAutoFill(
false);
 
  570                    $this->
object->enableWaitingList(
false);
 
  571                    $this->
object->setWaitingListAutoFill(
false);
 
  576            $this->
object->update();
 
  579            include_once 
'./Services/Object/classes/class.ilObjectServiceSettingsGUI.php';
 
  581                $this->object->getId(),
 
  599                $this->object->hasWaitingListAutoFill()) {
 
  600                $this->
object->handleAutoFill();
 
  604            require_once(
'Services/Tracking/classes/class.ilChangeEvent.php');
 
  607                $this->object->getId(),
 
  614            include_once 
'Modules/Group/classes/class.ilECSGroupSettings.php';
 
  616            $ecs->handleSettingsUpdate();
 
  620            $form->setValuesByPost();
 
  627            if ($new_type == 0) {
 
  628                $new_type_txt = 
$GLOBALS[
'lng']->txt(
'il_grp_status_open');
 
  630                include_once 
'./Services/DidacticTemplate/classes/class.ilDidacticTemplateSetting.php';
 
  632                $new_type_txt = $dtpl->getPresentationTitle(
$GLOBALS[
'lng']->getLangKey());
 
  636            include_once 
'./Services/Utilities/classes/class.ilConfirmationGUI.php';
 
  639            $confirm->setFormAction($this->ctrl->getFormAction($this));
 
  643                $this->lng->txt(
'grp_info_new_grp_type') . 
': ' . $new_type_txt
 
  645            $confirm->addButton($this->lng->txt(
'grp_change_type'), 
'updateGroupType');
 
  646            $confirm->setCancel($this->lng->txt(
'cancel'), 
'edit');
 
  648            $this->tpl->setContent($confirm->getHTML());
 
  652            $this->ctrl->redirect($this, 
'edit');
 
  667        $this->tabs_gui->setTabActive(
'settings');
 
  668        $this->tabs_gui->setSubTabActive(
'grp_icon_settings');
 
  674        $tpl->setContent($a_form->getHTML());
 
  679        include_once 
"Services/Form/classes/class.ilPropertyFormGUI.php";
 
  681        $form->setFormAction($this->ctrl->getFormAction($this));
 
  686        $form->addCommandButton(
'updateGroupIcons', $this->lng->txt(
'save'));
 
  704        if (
$form->checkInput()) {
 
  706            if ($ilSetting->get(
"custom_icons")) {
 
  707                if (
$_POST[
"cont_icon_delete"]) {
 
  708                    $this->
object->removeCustomIcon();
 
  710                $this->
object->saveIcons($_FILES[
"cont_icon"][
'tmp_name']);
 
  713            $this->ctrl->redirect($this, 
"editGroupIcons");
 
  716        $form->setValuesByPost();
 
  728        $this->tabs_gui->setTabActive(
'settings');
 
  729        $this->tabs_gui->setSubTabActive(
'grp_map_settings');
 
  731        include_once(
'./Services/Maps/classes/class.ilMapUtil.php');
 
  733            !$ilAccess->checkAccess(
"write", 
"", $this->object->getRefId())) {
 
  737        $latitude = $this->
object->getLatitude();
 
  738        $longitude = $this->
object->getLongitude();
 
  739        $zoom = $this->
object->getLocationZoom();
 
  742        if ($latitude == 0 && $longitude == 0 && $zoom == 0) {
 
  744            $latitude = 
$def[
"latitude"];
 
  745            $longitude = 
$def[
"longitude"];
 
  746            $zoom =  
$def[
"zoom"];
 
  750        include_once(
"./Services/Form/classes/class.ilPropertyFormGUI.php");
 
  754        $form->setTitle($this->lng->txt(
"grp_map_settings"));
 
  758            $this->lng->txt(
"grp_enable_map"),
 
  761        $public->setValue(
"1");
 
  762        $public->setChecked($this->object->getEnableGroupMap());
 
  763        $form->addItem($public);
 
  767            $this->lng->txt(
"grp_map_location"),
 
  770        $loc_prop->setLatitude($latitude);
 
  771        $loc_prop->setLongitude($longitude);
 
  772        $loc_prop->setZoom($zoom);
 
  773        $form->addItem($loc_prop);
 
  775        $form->addCommandButton(
"saveMapSettings", $this->lng->txt(
"save"));
 
  777        $this->tpl->setVariable(
"ADM_CONTENT", 
$form->getHTML());
 
  788        $this->
object->update();
 
  790        $ilCtrl->redirect($this, 
"editMapSettings");
 
  807        $this->tabs_gui->setTabActive(
'settings');
 
  808        $this->tabs_gui->setSubTabActive(
'grp_info_settings');
 
  811        $this->tpl->setContent(
$form->getHTML());
 
  822        include_once(
"./Services/Form/classes/class.ilPropertyFormGUI.php");
 
  824        $form->setFormAction($this->ctrl->getFormAction($this, 
'updateInfo'));
 
  825        $form->setTitle($this->lng->txt(
'grp_general_informations'));
 
  826        $form->addCommandButton(
'updateInfo', $this->lng->txt(
'save'));
 
  827        $form->addCommandButton(
'cancel', $this->lng->txt(
'cancel'));
 
  830        $area->setInfo($this->lng->txt(
'grp_information_info'));
 
  831        $area->setValue($this->object->getInformation());
 
  834        $form->addItem($area);
 
  850        $this->
object->update();
 
  860        include_once(
'./Services/PrivacySecurity/classes/class.ilPrivacySettings.php');
 
  863        include_once 
'./Services/Tracking/classes/class.ilObjUserTracking.php';
 
  864        $this->show_tracking =
 
  869        if ($this->show_tracking) {
 
  870            include_once(
'./Services/Object/classes/class.ilObjectLP.php');
 
  872            $this->show_tracking = $olp->isActive();
 
  875        if ($this->show_tracking) {
 
  876            include_once 
'Services/Tracking/classes/class.ilLPStatusWrapper.php';
 
  882        if ($privacy->enabledGroupAccessTimes()) {
 
  883            include_once(
'./Services/Tracking/classes/class.ilLearningProgress.php');
 
  887        $do_prtf = (is_array($selected_columns) &&
 
  888            in_array(
'prtf', $selected_columns) &&
 
  891            include_once 
"Modules/Portfolio/classes/class.ilObjPortfolio.php";
 
  894                $this->ctrl->getLinkTarget($this, 
"members")
 
  899        foreach ($ids as $usr_id) {
 
  901            $tmp_data[
'firstname'] = 
$name[
'firstname'];
 
  902            $tmp_data[
'lastname'] = 
$name[
'lastname'];
 
  904            $tmp_data[
'notification'] = $this->
object->members_obj->isNotificationEnabled($usr_id) ? 1 : 0;
 
  905            $tmp_data[
'usr_id'] = $usr_id;
 
  908            foreach ((array) $profile_data[$usr_id] as $field => $value) {
 
  909                $tmp_data[$field] = $value;
 
  912            if ($this->show_tracking) {
 
  913                if (in_array($usr_id, $completed)) {
 
  915                } elseif (in_array($usr_id, $in_progress)) {
 
  917                } elseif (in_array($usr_id, 
$failed)) {
 
  924            if ($privacy->enabledGroupAccessTimes()) {
 
  925                if (isset($progress[$usr_id][
'ts']) and $progress[$usr_id][
'ts']) {
 
  929                    $tmp_data[
'access_time_unix'] = $tmp_date->get(
IL_CAL_UNIX);
 
  931                    $tmp_data[
'access_time'] = $this->lng->txt(
'no_date');
 
  932                    $tmp_data[
'access_time_unix'] = 0;
 
  937                $tmp_data[
'prtf'] = $all_prtf[$usr_id];
 
  940            $members[$usr_id] = $tmp_data;
 
  942        return $members ? $members : array();
 
  956        if ($part->isLastAdmin(
$ilUser->getId())) {
 
  962        $this->tabs_gui->setTabActive(
'grp_btn_unsubscribe');
 
  964        include_once 
"Services/Utilities/classes/class.ilConfirmationGUI.php";
 
  966        $cgui->setHeaderText($this->lng->txt(
'grp_dismiss_myself'));
 
  967        $cgui->setFormAction($this->ctrl->getFormAction($this));
 
  968        $cgui->setCancel($this->lng->txt(
"cancel"), 
"cancel");
 
  969        $cgui->setConfirm($this->lng->txt(
"grp_btn_unsubscribe"), 
"unsubscribe");
 
  970        $this->tpl->setContent($cgui->getHTML());
 
  985        $this->
object->members_obj->delete($ilUser->getId());
 
  987        include_once 
'./Modules/Group/classes/class.ilGroupMembershipMailNotification.php';
 
  988        $this->
object->members_obj->sendNotification(
 
  992        $this->
object->members_obj->sendNotification(
 
 1001            $tree->getParentId($this->object->getRefId())
 
 1003        $ilCtrl->redirectByClass(
"ilrepositorygui", 
"");
 
 1014        $this->tabs_gui->addTab(
 
 1016            $this->lng->txt(
"content"),
 
 1017            $this->ctrl->getLinkTarget($this, 
"view")
 
 1027        $ilHelp->setScreenIdComponent(
"grp");
 
 1029        if ($ilAccess->checkAccess(
'read', 
'', $this->ref_id)) {
 
 1030            if ($this->object->isNewsTimelineEffective()) {
 
 1031                if (!$this->object->isNewsTimelineLandingPageEffective()) {
 
 1034                $this->tabs_gui->addTab(
 
 1036                    $lng->txt(
"cont_news_timeline_tab"),
 
 1037                    $this->ctrl->getLinkTargetByClass(
"ilnewstimelinegui", 
"show")
 
 1039                if ($this->object->isNewsTimelineLandingPageEffective()) {
 
 1047            $ilAccess->checkAccess(
'visible', 
'', $this->ref_id) ||
 
 1048            $ilAccess->checkAccess(
'join', 
'', $this->ref_id) ||
 
 1049            $ilAccess->checkAccess(
'read', 
'', $this->ref_id)
 
 1051            $this->tabs_gui->addTarget(
 
 1053                $this->ctrl->getLinkTargetByClass(
 
 1054                                     array(
"ilobjgroupgui", 
"ilinfoscreengui"),
 
 1065        if ($ilAccess->checkAccess(
'write', 
'', $this->object->getRefId())) {
 
 1066            $this->tabs_gui->addTarget(
 
 1068                $this->ctrl->getLinkTarget($this, 
"edit"),
 
 1069                array(
"edit", 
"editMapSettings"),
 
 1075        include_once 
'./Modules/Group/classes/class.ilGroupParticipants.php';
 
 1079        include_once 
'./Modules/Group/classes/class.ilGroupMembershipGUI.php';
 
 1081        $membership_gui->addMemberTab($this->tabs_gui, $is_participant);
 
 1085        if ($ilAccess->checkAccess(
'write', 
'', $this->ref_id)) {
 
 1086            include_once 
'Services/Badge/classes/class.ilBadgeHandler.php';
 
 1088                $this->tabs_gui->addTarget(
 
 1089                    "obj_tool_setting_badges",
 
 1090                    $this->ctrl->getLinkTargetByClass(
"ilbadgemanagementgui", 
""),
 
 1092                    "ilbadgemanagementgui" 
 1098        include_once(
"./Services/Object/classes/class.ilObjectServiceSettingsGUI.php");
 
 1100            $this->object->getId(),
 
 1104            $this->tabs_gui->addTarget(
 
 1105                "obj_tool_setting_skills",
 
 1106                $this->ctrl->getLinkTargetByClass(array(
"ilcontainerskillgui", 
"ilcontskillpresentationgui"), 
""),
 
 1108                array(
"ilcontainerskillgui", 
"ilcontskillpresentationgui", 
"ilcontskilladmingui")
 
 1113        include_once 
'./Services/Tracking/classes/class.ilLearningProgressAccess.php';
 
 1115            $this->tabs_gui->addTarget(
 
 1116                'learning_progress',
 
 1117                $this->ctrl->getLinkTargetByClass(array(
'ilobjgroupgui',
'illearningprogressgui'), 
''),
 
 1119                array(
'illplistofobjectsgui',
'illplistofsettingsgui',
'illearningprogressgui',
'illplistofprogressgui')
 
 1124        if ($ilAccess->checkAccess(
'write', 
'', $this->object->getRefId())) {
 
 1125            $this->tabs_gui->addTarget(
 
 1127                $this->ctrl->getLinkTargetByClass(
'ilexportgui', 
''),
 
 1136        if ($ilAccess->checkAccess(
'join', 
'', $this->object->getRefId()) and
 
 1137            !$this->object->members_obj->isAssigned(
$ilUser->getId())) {
 
 1138            include_once 
'./Modules/Group/classes/class.ilGroupWaitingList.php';
 
 1140                $this->tabs_gui->addTab(
 
 1142                    $this->lng->txt(
'membership_leave'),
 
 1143                    $this->ctrl->getLinkTargetByClass(
'ilgroupregistrationgui', 
'show', 
'')
 
 1146                $this->tabs_gui->addTarget(
 
 1148                    $this->ctrl->getLinkTargetByClass(
'ilgroupregistrationgui', 
"show"),
 
 1154        if ($ilAccess->checkAccess(
'leave', 
'', $this->object->getRefId()) and
 
 1155            $this->object->members_obj->isMember(
$ilUser->getId())) {
 
 1156            $this->tabs_gui->addTarget(
 
 1157                "grp_btn_unsubscribe",
 
 1158                $this->ctrl->getLinkTarget($this, 
"leave"),
 
 1172        $this->ctrl->setCmd(
"showSummary");
 
 1173        $this->ctrl->setCmdClass(
"ilinfoscreengui");
 
 1184        $this->tabs_gui->setTabActive(
'info_short');
 
 1190        include_once(
"./Services/InfoScreen/classes/class.ilInfoScreenGUI.php");
 
 1193        if (strlen($this->object->getInformation())) {
 
 1194            $info->addSection($this->lng->txt(
'grp_general_informations'));
 
 1195            $info->addProperty($this->lng->txt(
'grp_information'), nl2br(
 
 1200        $info->enablePrivateNotes();
 
 1201        $info->enableLearningProgress(
true);
 
 1203        $info->addSection($this->lng->txt(
'group_registration'));
 
 1204        $info->showLDAPRoleGroupMappingInfo();
 
 1206        if (!$this->object->isRegistrationEnabled()) {
 
 1208                $this->lng->txt(
'group_registration_mode'),
 
 1209                $this->lng->txt(
'grp_reg_deac_info_screen')
 
 1212            switch ($this->object->getRegistrationType()) {
 
 1215                        $this->lng->txt(
'group_registration_mode'),
 
 1216                        $this->lng->txt(
'grp_reg_direct_info_screen')
 
 1222                        $this->lng->txt(
'group_registration_mode'),
 
 1223                        $this->lng->txt(
'grp_reg_req_info_screen')
 
 1229                        $this->lng->txt(
'group_registration_mode'),
 
 1230                        $this->lng->txt(
'grp_reg_passwd_info_screen')
 
 1241            if ($this->object->isRegistrationUnlimited()) {
 
 1243                    $this->lng->txt(
'group_registration_time'),
 
 1244                    $this->lng->txt(
'grp_registration_unlimited')
 
 1246            } elseif ($this->object->getRegistrationStart()->getUnixTime() < time()) {
 
 1248                    $this->lng->txt(
"group_registration_time"),
 
 1249                    $this->lng->txt(
'cal_until') . 
' ' .
 
 1252            } elseif ($this->object->getRegistrationStart()->getUnixTime() >= time()) {
 
 1254                    $this->lng->txt(
"group_registration_time"),
 
 1255                    $this->lng->txt(
'cal_from') . 
' ' .
 
 1259            if ($this->object->isMembershipLimited()) {
 
 1260                if ($this->object->getMinMembers()) {
 
 1262                        $this->lng->txt(
"mem_min_users"),
 
 1263                        $this->object->getMinMembers()
 
 1266                if ($this->object->getMaxMembers()) {
 
 1267                    include_once 
'./Modules/Group/classes/class.ilObjGroupAccess.php';
 
 1271                         $this->lng->txt(
'mem_free_places'),
 
 1272                         $reg_info[
'reg_info_free_places']
 
 1277            if ($this->object->getCancellationEnd()) {
 
 1279                    $this->lng->txt(
'grp_cancellation_end'),
 
 1285        if ($this->object->getStart()) {
 
 1287                $this->lng->txt(
'grp_period'),
 
 1289                    $this->object->getStart(),
 
 1290                    $this->object->getEnd()
 
 1297        include_once(
'Services/PrivacySecurity/classes/class.ilPrivacySettings.php');
 
 1300        include_once(
'Modules/Course/classes/Export/class.ilCourseDefinedFieldDefinition.php');
 
 1302            include_once(
'Services/PrivacySecurity/classes/class.ilExportFieldsInfo.php');
 
 1306            $this->lng->loadLanguageModule(
'ps');
 
 1307            $info->addSection($this->lng->txt(
'grp_user_agreement_info'));
 
 1308            $info->addProperty($this->lng->txt(
'ps_export_data'), $field_info->exportableFieldsToInfoString());
 
 1311                $info->addProperty($this->lng->txt(
'ps_grp_user_fields'), $fields);
 
 1317        $this->ctrl->forwardCommand(
$info);
 
 1325        include_once 
"Services/Membership/classes/class.ilMembershipNotifications.php";
 
 1327        if ($noti->canCurrentUserEdit()) {
 
 1328            if ((
bool) $_REQUEST[
"grp_ntf"]) {
 
 1329                $noti->activateUser();
 
 1331                $noti->deactivateUser();
 
 1335        $this->ctrl->redirect($this, 
"infoScreen");
 
 1343        $GLOBALS[
'ilCtrl']->redirectByClass(
'ilgroupmembershipgui');
 
 1350    public static function _goto($a_target, $a_add = 
"")
 
 1354        include_once 
'./Services/Membership/classes/class.ilMembershipRegistrationCodeUtils.php';
 
 1355        if (substr($a_add, 0, 5) == 
'rcode') {
 
 1356            if (
$ilUser->getId() == ANONYMOUS_USER_ID) {
 
 1359                    "login.php?target=" . 
$_GET[
"target"] . 
"&cmd=force_login&lang=" .
 
 1372        if ($a_add == 
"mem" && $ilAccess->checkAccess(
"manage_members", 
"", $a_target)) {
 
 1376        if ($ilAccess->checkAccess(
"read", 
"", $a_target)) {
 
 1380            if ($ilAccess->checkAccess(
"visible", 
"", $a_target)) {
 
 1383                if ($ilAccess->checkAccess(
"read", 
"", ROOT_FOLDER_ID)) {
 
 1385                        $lng->txt(
"msg_no_perm_read_item"),
 
 1403    public function initForm($a_mode = 
'edit', $a_omit_form_action = 
false)
 
 1407        include_once(
"./Services/Form/classes/class.ilPropertyFormGUI.php");
 
 1411        if (!$a_omit_form_action) {
 
 1414                    $form->setFormAction($this->ctrl->getFormAction($this, 
'update'));
 
 1418                    $form->setTableWidth(
'600px');
 
 1419                    $form->setFormAction($this->ctrl->getFormAction($this, 
'save'));
 
 1426        $title->setSubmitFormOnEnter(
true);
 
 1427        if ($a_mode == 
"edit") {
 
 1428            $title->setValue($this->object->getTitle());
 
 1432        $title->setRequired(
true);
 
 1437        if ($a_mode == 
"edit") {
 
 1438            $desc->setValue($this->object->getLongDescription());
 
 1442        $form->addItem($desc);
 
 1446        if ($a_mode == 
'edit') {
 
 1448            include_once 
'Services/Form/classes/class.ilDateDurationInputGUI.php';
 
 1450            $group_duration->setInfo($this->lng->txt(
'grp_period_info'));
 
 1451            if ($this->object->getStart()) {
 
 1452                $group_duration->setStart($this->object->getStart());
 
 1454            if ($this->object->getEnd()) {
 
 1455                $group_duration->setEnd($this->object->getEnd());
 
 1457            $form->addItem($group_duration);
 
 1461            $pres->setTitle($this->lng->txt(
'grp_setting_header_registration'));
 
 1462            $form->addItem($pres);
 
 1465            $reg_type = 
new ilRadioGroupInputGUI($this->lng->txt(
'group_registration_mode'), 
'registration_type');
 
 1466            $reg_type->setValue($this->object->getRegistrationType());
 
 1469            $reg_type->addOption($opt_dir);
 
 1473            $pass->setRequired(
true);
 
 1474            $pass->setInfo($this->lng->txt(
'grp_reg_password_info'));
 
 1475            $pass->setValue($this->object->getPassword());
 
 1477            $pass->setMaxLength(32);
 
 1478            $opt_pass->addSubItem(
$pass);
 
 1479            $reg_type->addOption($opt_pass);
 
 1482            $reg_type->addOption($opt_req);
 
 1485            $reg_type->addOption($opt_deact);
 
 1488            $reg_code = 
new ilCheckboxInputGUI($this->lng->txt(
'grp_reg_code'), 
'reg_code_enabled');
 
 1489            $reg_code->setChecked($this->object->isRegistrationAccessCodeEnabled());
 
 1490            $reg_code->setValue(1);
 
 1491            $reg_code->setInfo($this->lng->txt(
'grp_reg_code_enabled_info'));
 
 1492            $form->addItem($reg_type);
 
 1495            if (!$this->object->getRegistrationAccessCode()) {
 
 1496                include_once 
'./Services/Membership/classes/class.ilMembershipRegistrationCodeUtils.php';
 
 1500            $reg_link->setValue($this->object->getRegistrationAccessCode());
 
 1501            $form->addItem($reg_link);
 
 1504            include_once 
'./Services/Link/classes/class.ilLink.php';
 
 1505            $val = 
ilLink::_getLink($this->object->getRefId(), $this->object->getType(), array(), 
'_rcode' . $this->object->getRegistrationAccessCode());
 
 1506            $link->setHTML(
'<font class="small">' . $val . 
'</font>');
 
 1507            $reg_code->addSubItem($link);
 
 1508            $form->addItem($reg_code);
 
 1511            $this->lng->loadLanguageModule(
'dateplaner');
 
 1512            include_once 
'./Services/Form/classes/class.ilDateDurationInputGUI.php';
 
 1514            $dur->setShowTime(
true);
 
 1515            $dur->setStart($this->object->getRegistrationStart());
 
 1516            $dur->setEnd($this->object->getRegistrationEnd());
 
 1517            $form->addItem($dur);
 
 1520            $cancel = 
new ilDateTimeInputGUI($this->lng->txt(
'grp_cancellation_end'), 
'cancel_end');
 
 1521            $cancel->setInfo($this->lng->txt(
'grp_cancellation_end_info'));
 
 1522            $cancel->setDate($this->object->getCancellationEnd());
 
 1523            $form->addItem($cancel);
 
 1526            $lim = 
new ilCheckboxInputGUI($this->lng->txt(
'reg_grp_max_members_short'), 
'registration_membership_limited');
 
 1529            $lim->setChecked($this->object->isMembershipLimited());
 
 1531            $min = 
new ilTextInputGUI($this->lng->txt(
'reg_grp_min_members'), 
'registration_min_members');
 
 1533            $min->setMaxLength(4);
 
 1534            $min->setValue($this->object->getMinMembers() ? $this->object->getMinMembers() : 
'');
 
 1535            $min->setInfo($this->lng->txt(
'grp_subscription_min_members_info'));
 
 1536            $lim->addSubItem($min);
 
 1538            $max = 
new ilTextInputGUI($this->lng->txt(
'reg_grp_max_members'), 
'registration_max_members');
 
 1539            $max->setValue($this->object->getMaxMembers() ? $this->object->getMaxMembers() : 
'');
 
 1542            $max->setMaxLength(4);
 
 1543            $max->setInfo($this->lng->txt(
'grp_reg_max_members_info'));
 
 1544            $lim->addSubItem($max);
 
 1559            $wait->addOption($option);
 
 1561            $option = 
new ilRadioOption($this->lng->txt(
'grp_waiting_list_no_autofill'), 1);
 
 1562            $option->setInfo($this->lng->txt(
'grp_waiting_list_info'));
 
 1563            $wait->addOption($option);
 
 1565            $option = 
new ilRadioOption($this->lng->txt(
'grp_waiting_list_autofill'), 2);
 
 1566            $option->setInfo($this->lng->txt(
'grp_waiting_list_autofill_info'));
 
 1567            $wait->addOption($option);
 
 1569            if ($this->object->hasWaitingListAutoFill()) {
 
 1571            } elseif ($this->object->isWaitingListEnabled()) {
 
 1575            $lim->addSubItem($wait);
 
 1577            $form->addItem($lim);
 
 1581            $hasParentMembership =
 
 1583                    $tree->checkForParentType($this->object->getRefId(), 
'crs', 
true) ||
 
 1584                    $tree->checkForParentType($this->object->getRefId(), 
'grp', 
true)
 
 1588            $pres->setTitle($this->lng->txt(
'grp_setting_header_presentation'));
 
 1589            $form->addItem($pres);
 
 1593            if ($hasParentMembership) {
 
 1594                switch ($this->object->getViewMode()) {
 
 1596                        $course_view_mode = 
': ' . $this->lng->txt(
'cntr_view_sessions');
 
 1600                        $course_view_mode = 
': ' . $this->lng->txt(
'cntr_view_simple');
 
 1604                        $course_view_mode = 
': ' . $this->lng->txt(
'cntr_view_by_type');
 
 1609                $opt->setInfo($this->lng->txt(
'grp_view_inherit_info'));
 
 1610                $view_type->addOption($opt);
 
 1613            if ($hasParentMembership &&
 
 1617                $view_type->setValue(
 
 1619                        $this->object->getId(),
 
 1620                        $this->object->getViewMode(),
 
 1621                        $this->object->getRefId()
 
 1627            $opt->setInfo($this->lng->txt(
'grp_view_info_simple'));
 
 1628            $view_type->addOption($opt);
 
 1631            $opt->setInfo($this->lng->txt(
'grp_view_info_by_type'));
 
 1632            $view_type->addOption($opt);
 
 1633            $form->addItem($view_type);
 
 1637            $sorting_settings = array();
 
 1638            if ($hasParentMembership) {
 
 1648            $feat->setTitle($this->lng->txt(
'obj_features'));
 
 1649            $form->addItem($feat);
 
 1651            include_once 
'./Services/Object/classes/class.ilObjectServiceSettingsGUI.php';
 
 1653                $this->object->getId(),
 
 1672            $mem->setChecked($this->object->getShowMembers());
 
 1673            $mem->setInfo($this->lng->txt(
'grp_show_members_info'));
 
 1674            $form->addItem($mem);
 
 1678            $mail_type->setValue($this->object->getMailToMembersType());
 
 1681                $this->lng->txt(
'grp_mail_tutors_only'),
 
 1683                $this->lng->txt(
'grp_mail_tutors_only_info')
 
 1685            $mail_type->addOption($mail_tutors);
 
 1688                $this->lng->txt(
'grp_mail_all'),
 
 1690                $this->lng->txt(
'grp_mail_all_info')
 
 1692            $mail_type->addOption($mail_all);
 
 1693            $form->addItem($mail_type);
 
 1698                $form->setTitle($this->lng->txt(
'grp_new'));
 
 1701                $form->addCommandButton(
'save', $this->lng->txt(
'grp_new'));
 
 1702                $form->addCommandButton(
'cancel', $this->lng->txt(
'cancel'));
 
 1706                $form->setTitle($this->lng->txt(
'grp_edit'));
 
 1710                include_once 
'Modules/Group/classes/class.ilECSGroupSettings.php';
 
 1712                $ecs->addSettingsToForm(
$form, 
'grp');
 
 1714                $form->addCommandButton(
'update', $this->lng->txt(
'save'));
 
 1715                $form->addCommandButton(
'cancel', $this->lng->txt(
'cancel'));
 
 1735                $this->tabs_gui->addSubTabTarget(
 
 1737                    $this->ctrl->getLinkTarget($this, 
'edit'),
 
 1742                $this->tabs_gui->addSubTabTarget(
 
 1743                    "grp_info_settings",
 
 1744                    $this->ctrl->getLinkTarget($this, 
'editInfo'),
 
 1750                if ($this->
ilias->getSetting(
"custom_icons")) {
 
 1751                    $this->tabs_gui->addSubTabTarget(
 
 1752                        "grp_icon_settings",
 
 1753                        $this->ctrl->getLinkTarget($this, 
'editGroupIcons'),
 
 1759                include_once(
"./Services/Maps/classes/class.ilMapUtil.php");
 
 1761                    $this->tabs_gui->addSubTabTarget(
 
 1763                        $this->ctrl->getLinkTarget($this, 
'editMapSettings'),
 
 1769                $this->tabs_gui->addSubTabTarget(
 
 1771                    $this->ctrl->getLinkTargetByClass(
'ilobjcoursegroupinggui', 
'listGroupings'),
 
 1776                include_once(
'Services/PrivacySecurity/classes/class.ilPrivacySettings.php');
 
 1777                include_once(
'Modules/Course/classes/Export/class.ilCourseDefinedFieldDefinition.php');
 
 1780                    $this->tabs_gui->addSubTabTarget(
 
 1781                        'grp_custom_user_fields',
 
 1782                        $this->ctrl->getLinkTargetByClass(
'ilobjectcustomuserfieldsgui'),
 
 1784                        'ilobjectcustomuserfieldsgui' 
 1789                if ($this->object->getUseNews()) {
 
 1790                    $this->tabs_gui->addSubTab(
 
 1791                        'obj_news_settings',
 
 1792                        $this->lng->txt(
"cont_news_settings"),
 
 1793                        $this->ctrl->getLinkTargetByClass(
'ilcontainernewssettingsgui')
 
 1798                if ($lti_settings->hasSettingsAccess()) {
 
 1799                    $this->tabs_gui->addSubTabTarget(
 
 1801                        $this->ctrl->getLinkTargetByClass(ilLTIProviderObjectSettingGUI::class)
 
 1822        if ($ilAccess->checkAccess(
'write', 
'', $this->object->getRefId())) {
 
 1827        if (!$this->object->members_obj->isAssigned(
$ilUser->getId())) {
 
 1831        include_once 
'./Services/Container/classes/class.ilMemberViewSettings.php';
 
 1836        include_once(
'Services/PrivacySecurity/classes/class.ilPrivacySettings.php');
 
 1837        include_once(
'Services/Membership/classes/class.ilMemberAgreement.php');
 
 1846        include_once(
'Modules/Course/classes/Export/class.ilCourseUserData.php');
 
 1872        parent::prepareOutput($a_show_subobjects);
 
 1881        $link = chr(13) . chr(10) . chr(13) . chr(10);
 
 1882        $link .= $this->lng->txt(
'grp_mail_permanent_link');
 
 1883        $link .= chr(13) . chr(10) . chr(13) . chr(10);
 
 1884        include_once 
'Services/Link/classes/class.ilLink.php';
 
 1886        return rawurlencode(base64_encode($link));
 
 1893        $lg = parent::initHeaderAction($a_sub_type, $a_sub_id);
 
 1895        include_once(
'./Modules/Group/classes/class.ilGroupParticipants.php');
 
 1897            include_once 
"Services/Membership/classes/class.ilMembershipNotifications.php";
 
 1900                if (!$noti->isCurrentUserActive()) {
 
 1904                        $this->lng->txt(
"grp_notification_deactivated")
 
 1907                    $this->ctrl->setParameter($this, 
"grp_ntf", 1);
 
 1908                    $caption = 
"grp_activate_notification";
 
 1913                        $this->lng->txt(
"grp_notification_activated")
 
 1916                    $this->ctrl->setParameter($this, 
"grp_ntf", 0);
 
 1917                    $caption = 
"grp_deactivate_notification";
 
 1920                if ($noti->canCurrentUserEdit()) {
 
 1921                    $lg->addCustomCommand(
 
 1922                        $this->ctrl->getLinkTarget($this, 
"saveNotification"),
 
 1927                $this->ctrl->setParameter($this, 
"grp_ntf", 
"");
 
 1942        include_once(
'Modules/Course/classes/Export/class.ilCourseUserData.php');
 
 1945        $res_data = array();
 
 1946        foreach ($a_data as $usr_id => $user_data) {
 
 1947            $res_data[$usr_id] = $user_data;
 
 1950            include_once 
'./Services/User/classes/class.ilUserDefinedData.php';
 
 1952            foreach ($udf_data->getAll() as $field => $value) {
 
 1953                list($f, $field_id) = explode(
'_', $field);
 
 1954                $res_data[$usr_id][
'udf_' . $field_id] = (string) $value;
 
 1957            foreach ((array) $odfs[$usr_id] as $cdf_field => $cdf_value) {
 
 1958                $res_data[$usr_id][
'cdf_' . $cdf_field] = (string) $cdf_value;
 
 1971        $local_roles = $this->
object->getLocalGroupRoles(
false);
 
 1972        $grp_member = $this->
object->getDefaultMemberRole();
 
 1973        $grp_roles = array();
 
 1976        if (in_array($grp_member, $local_roles)) {
 
 1978            unset($local_roles[$grp_roles[$grp_member]]);
 
 1981        foreach ($local_roles as 
$title => $role_id) {
 
 1992        $this->ctrl->redirectByClass(
'ilUsersGalleryGUI');
 
 2000        $this->ctrl->setReturn($this, 
"view");
 
sprintf('%.4f', $callTime)
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.
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(&$tpl)
show permanent link
forwardToStyleSheet()
Forward to style object.
showCustomIconsEditing($a_input_colspan=1, ilPropertyFormGUI $a_form=null, $a_as_section=true)
show edit section of custom icons for container
saveSortingSettings(ilPropertyFormGUI $form)
Save sorting settings.
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)
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.
Class ilMailMemberCourseRoles.
Class ilMailMemberSearchGUI.
This class handles base functions for mail handling.
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.
static getInstance()
Get instance.
Membership notification settings.
static isActive()
Is feature active?
static handleCode($a_ref_id, $a_type, $a_code)
Handle target parameter.
static generateCode()
Generate new registration key.
static getInstance($a_ref_id, $a_include_auto_entries)
Get instance.
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.
editGroupIconsObject($a_form=null)
edit container icons
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
updateGroupIconsObject()
update group icons
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()
list childs of current object
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
const MAIL_ALLOWED_TUTORS
static translateViewMode($a_obj_id, $a_view_mode, $a_ref_id=null)
translate view mode
static getAvailablePortfolioLinksForUserIds(array $a_owner_ids, $a_back_url=null)
static _getTranslation($a_role_title)
static getContentStylePath($a_style_id, $add_random=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.
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
Class ilObject Basic functions for all objects.
static _lookupObjId($a_id)
const TITLE_LENGTH
max length of object title
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
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 sendSuccess($a_info="", $a_keep=false)
Send Success Message 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.
$GLOBALS['loaded']
Global hash that tracks already loaded includes.
redirection script todo: (a better solution should control the processing via a xml file)
if(isset($_POST['submit'])) $form