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