5include_once 
"./Services/Container/classes/class.ilContainerGUI.php";
 
    6include_once(
'./Modules/Group/classes/class.ilObjGroup.php');
 
   31        public function __construct($a_data,$a_id,$a_call_by_reference,$a_prepare_output = 
false)
 
   34                $this->
ilContainerGUI($a_data,$a_id,$a_call_by_reference,$a_prepare_output);
 
   36                $this->lng->loadLanguageModule(
'grp');
 
   43                $next_class = $this->ctrl->getNextClass($this);
 
   44                $cmd = $this->ctrl->getCmd();
 
   52                        $ilAccess->checkAccess(
"read", 
"", 
$_GET[
"ref_id"]))
 
   54                        include_once(
"./Services/Link/classes/class.ilLink.php");
 
   55                        $ilNavigationHistory->addItem(
$_GET[
"ref_id"],
 
   61                        case 'ilgroupregistrationgui':
 
   62                                $this->ctrl->setReturn($this,
'');
 
   63                                $this->tabs_gui->setTabActive(
'join');
 
   64                                include_once(
'./Modules/Group/classes/class.ilGroupRegistrationGUI.php');
 
   66                                $this->ctrl->forwardCommand($registration);
 
   69                        case 'ilpermissiongui':
 
   70                                $this->tabs_gui->setTabActive(
'perm_settings');
 
   71                                include_once(
"Services/AccessControl/classes/class.ilPermissionGUI.php");
 
   73                                $ret =& $this->ctrl->forwardCommand($perm_gui);
 
   76                        case 'ilrepositorysearchgui':
 
   82                                include_once(
'./Services/Search/classes/class.ilRepositorySearchGUI.php');
 
   84                                $rep_search->setCallback($this,
 
   90                                $this->tabs_gui->setTabActive(
'members');
 
   91                                $this->ctrl->setReturn($this,
'members');
 
   92                                $ret =& $this->ctrl->forwardCommand($rep_search);
 
   94                                $this->tabs_gui->setSubTabActive(
'members');
 
   97                        case "ilinfoscreengui":
 
  101                        case "illearningprogressgui":
 
  102                                include_once 
'./Services/Tracking/classes/class.ilLearningProgressGUI.php';
 
  105                                                                                                          $this->object->getRefId(),
 
  107                                $this->ctrl->forwardCommand($new_gui);
 
  108                                $this->tabs_gui->setTabActive(
'learning_progress');
 
  111                        case 'ilobjcoursegroupinggui':
 
  114                                include_once 
'./Modules/Course/classes/class.ilObjCourseGroupingGUI.php';
 
  115                                $this->ctrl->setReturn($this,
'edit');
 
  117                                $this->ctrl->forwardCommand($crs_grp_gui);
 
  119                                $this->tabs_gui->setTabActive(
'settings');
 
  120                                $this->tabs_gui->setSubTabActive(
'groupings');                          
 
  123                        case 'ilcoursecontentgui':
 
  125                                include_once 
'./Modules/Course/classes/class.ilCourseContentGUI.php';
 
  127                                $this->ctrl->forwardCommand($course_content_obj);
 
  130                        case 'ilpublicuserprofilegui':
 
  131                                require_once 
'./Services/User/classes/class.ilPublicUserProfileGUI.php';
 
  133                                $this->tabs_gui->setTabActive(
'group_members');
 
  134                                $this->tabs_gui->setSubTabActive(
'grp_members_gallery');
 
  136                                $profile_gui->setBackUrl(
$ilCtrl->getLinkTarget($this, 
"membersGallery"));
 
  137                                $html = $this->ctrl->forwardCommand($profile_gui);
 
  138                                $this->tpl->setVariable(
"ADM_CONTENT", $html);
 
  142                                $this->tabs_gui->setTabActive(
'none');
 
  144                                include_once(
"./Services/Style/classes/class.ilObjStyleSheet.php");
 
  145                                $this->tpl->setVariable(
"LOCATION_CONTENT_STYLESHEET",
 
  151                        case "ilcontainerpagegui":
 
  155                                        $this->tpl->setContent(
$ret);
 
  159                        case 'ilobjectcopygui':
 
  160                                include_once 
'./Services/Object/classes/class.ilObjectCopyGUI.php';
 
  163                                $this->ctrl->forwardCommand($cp);
 
  166                        case "ilobjstylesheetgui":
 
  170                        case 'ilobjectcustomuserfieldsgui':
 
  173                                        $this->ctrl->setReturn($this,
'members');
 
  175                                include_once 
'./Services/Membership/classes/class.ilObjectCustomUserFieldsGUI.php';
 
  178                                $this->tabs_gui->setTabActive(
'settings');
 
  179                                $this->ctrl->forwardCommand($cdf_gui);
 
  182                        case 'ilmemberagreementgui':
 
  183                                include_once(
'Services/Membership/classes/class.ilMemberAgreementGUI.php');
 
  184                                $this->ctrl->setReturn($this,
'');
 
  185                                $this->tabs_gui->setTabActive(
'view_content');
 
  187                                $this->ctrl->forwardCommand($agreement);
 
  191                                $this->tabs_gui->setTabActive(
'export');
 
  192                                include_once 
'./Services/Export/classes/class.ilExportGUI.php';
 
  194                                $exp->addFormat(
'xml');
 
  195                                $this->ctrl->forwardCommand($exp);
 
  198                        case 'ilmemberexportgui':
 
  199                                include_once(
'./Services/Membership/classes/Export/class.ilMemberExportGUI.php');
 
  202                                $this->tabs_gui->setTabActive(
'members');
 
  203                                $this->tabs_gui->setSubTabActive(
'export_members');
 
  205                                $this->ctrl->forwardCommand($export);
 
  208                        case "ilcommonactiondispatchergui":
 
  209                                include_once(
"Services/Object/classes/class.ilCommonActionDispatcherGUI.php");
 
  211                                $this->ctrl->forwardCommand($gui);
 
  214                        case 'ilobjectservicesettingsgui':
 
  215                                $this->ctrl->setReturn($this,
'edit');
 
  217                                $this->tabs_gui->activateTab(
'settings');
 
  218                                $this->tabs_gui->activateSubTab(
'tool_settings');
 
  220                                include_once 
'./Services/Object/classes/class.ilObjectServiceSettingsGUI.php';
 
  223                                                $this->object->getId(),
 
  227                                $this->ctrl->forwardCommand($service);
 
  230                        case 'ilsessionoverviewgui':                                                            
 
  232                                $this->tabs_gui->setTabActive(
'members');
 
  233                                $this->tabs_gui->setSubTabActive(
'events');
 
  235                                include_once 
'./Modules/Group/classes/class.ilGroupParticipants.php';
 
  238                                include_once(
'./Modules/Session/classes/class.ilSessionOverviewGUI.php');
 
  240                                $this->ctrl->forwardCommand($overview);                         
 
  247                                                !$ilAccess->checkAccess(
'visible',
'',$this->object->getRefId(),
'grp') and
 
  248                                                !$ilAccess->checkAccess(
'read',
'',$this->object->getRefId(),
'grp') )
 
  250                                        $ilErr->raiseError($this->lng->txt(
"msg_no_perm_read"),
$ilErr->MESSAGE);
 
  254                                if(
$cmd == 
'infoScreenGoto')
 
  256                                        if($this->object->isRegistrationEnabled())
 
  268                                        && !$rbacsystem->checkAccess(
'read',$this->object->getRefId()) && 
$cmd != 
'infoScreen')
 
  272                                        if (!$rbacsystem->checkAccess(
'join',$this->object->getRefId()))
 
  274                                                $this->ctrl->redirect($this, 
"infoScreen");
 
  278                                                include_once(
'./Modules/Group/classes/class.ilGroupRegistrationGUI.php');
 
  279                                                $this->ctrl->redirectByClass(
"ilGroupRegistrationGUI", 
"show");
 
  298                include_once 
'Services/Tracking/classes/class.ilLearningProgress.php';
 
  300                        $this->object->getRefId(),
'grp');
 
  302                if (strtolower(
$_GET[
"baseClass"]) == 
"iladministrationgui")
 
  304                        parent::viewObject();
 
  310                        include_once(
'Services/Membership/classes/class.ilMemberAgreementGUI.php');
 
  311                        $this->tabs_gui->setTabActive(
'view_content');
 
  312                        $this->ctrl->setReturn($this,
'view');
 
  314                        $this->ctrl->setCmdClass(get_class($agreement));
 
  315                        $this->ctrl->forwardCommand($agreement);
 
  319                $this->tabs_gui->setTabActive(
'view_content');
 
  330                $ilTabs->activateTab(
"view_content");
 
  331                $ret =  parent::renderObject();
 
  344                if ($course_ref_id = 
$tree->checkForParentType($this->object->getRefId(),
'crs'))
 
  346                        include_once(
"./Modules/Course/classes/class.ilObjCourse.php");
 
  347                        include_once(
"./Modules/Course/classes/class.ilObjCourseGUI.php");
 
  351                                $this->object->getRefId());
 
  357                if(!is_object($this->
object))
 
  398                $ilErr->setMessage(
'');
 
  400                if(!$this->object->validate())
 
  402                        $err = $this->lng->txt(
'err_check_input');
 
  404                        $err = 
$ilErr->getMessage();
 
  410                $this->
object->create();
 
  412                $this->
object->initGroupStatus($this->object->getGroupType());
 
  417                                $GLOBALS[
'tree']->checkForParentType($this->object->getRefId(),
'crs') ||
 
  418                                $GLOBALS[
'tree']->checkForParentType($this->object->getRefId(),
'grp')
 
  424                include_once 
'./Services/Container/classes/class.ilContainerSortingSettings.php';
 
  426                $sort->setSortMode($sort_mode);
 
  431                include_once(
'./Modules/Group/classes/class.ilGroupParticipants.php');
 
  434                $members_obj->updateNotification(
$ilUser->getId(),1);
 
  438                $this->ctrl->setParameter($this,
'ref_id',$this->object->getRefId());
 
  439                $this->ctrl->redirect($this, 
"edit");
 
  454                $this->tabs_gui->setTabActive(
'settings');
 
  455                $this->tabs_gui->setSubTabActive(
'grp_settings');
 
  459                $this->tpl->setVariable(
'ADM_CONTENT',$this->form->getHTML());
 
  471                $type = $this->
object->getGroupType() ? 
 
  472                        $this->
object->getGroupType() :
 
  473                        $this->
object->readGroupStatus();
 
  483                $this->
object->updateGroupType();
 
  484                $this->
object->update();
 
  486                $this->ctrl->redirect($this,
'edit');
 
  503                $this->form->checkInput();
 
  505                $old_type = $this->
object->getGroupType();
 
  508                $ilErr->setMessage(
'');
 
  510                if(!$this->object->validate())
 
  512                        $err = $this->lng->txt(
'err_check_input');
 
  514                        $err = 
$ilErr->getMessage();
 
  521                if($this->object->isGroupTypeModified($old_type))
 
  524                        $this->
object->setGroupType($old_type);
 
  527                $this->
object->update();
 
  530                include_once 
'./Services/Object/classes/class.ilObjectServiceSettingsGUI.php';
 
  532                        $this->object->getId(),
 
  546                require_once(
'Services/Tracking/classes/class.ilChangeEvent.php');
 
  553                include_once 
'Modules/Group/classes/class.ilECSGroupSettings.php';      
 
  555                $ecs->handleSettingsUpdate();
 
  559                        include_once 
'./Services/Utilities/classes/class.ilConfirmationGUI.php';
 
  562                        $confirm->setFormAction($this->ctrl->getFormAction($this));
 
  565                                $this->object->getGroupType(),
 
  566                                $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'))
 
  568                        $confirm->addButton($this->lng->txt(
'grp_change_type'), 
'updateGroupType');
 
  569                        $confirm->setCancel($this->lng->txt(
'cancel'), 
'edit');
 
  571                        $this->tpl->setContent($confirm->getHTML());
 
  577                        $this->ctrl->redirect($this,
'edit');
 
  592                $this->tabs_gui->setTabActive(
'settings');
 
  593                $this->tabs_gui->setSubTabActive(
'grp_icon_settings');
 
  600                $tpl->setContent($a_form->getHTML());
 
  605                include_once 
"Services/Form/classes/class.ilPropertyFormGUI.php";
 
  607                $form->setFormAction($this->ctrl->getFormAction($this));        
 
  612                $form->addCommandButton(
'updateGroupIcons', $this->lng->txt(
'save'));                                   
 
  630                if($form->checkInput())
 
  635                                if(
$_POST[
"cont_icon_delete"])
 
  637                                        $this->
object->removeCustomIcon();
 
  639                                $this->
object->saveIcons($_FILES[
"cont_icon"][
'tmp_name']);
 
  642                        $this->ctrl->redirect($this,
"editGroupIcons");
 
  645                $form->setValuesByPost();
 
  657                $this->tabs_gui->setTabActive(
'settings');
 
  658                $this->tabs_gui->setSubTabActive(
'grp_map_settings');
 
  660                include_once(
'./Services/Maps/classes/class.ilMapUtil.php');
 
  662                        !$ilAccess->checkAccess(
"write", 
"", $this->object->getRefId()))
 
  667                $latitude = $this->
object->getLatitude();
 
  668                $longitude = $this->
object->getLongitude();
 
  669                $zoom = $this->
object->getLocationZoom();
 
  672                if ($latitude == 0 && $longitude == 0 && $zoom == 0)
 
  675                        $latitude = $def[
"latitude"];
 
  676                        $longitude = $def[
"longitude"];
 
  677                        $zoom =  $def[
"zoom"];
 
  681                include_once(
"./Services/Form/classes/class.ilPropertyFormGUI.php");
 
  683                $form->setFormAction(
$ilCtrl->getFormAction($this));
 
  685                $form->setTitle($this->lng->txt(
"grp_map_settings"));
 
  690                $public->setValue(
"1");
 
  691                $public->setChecked($this->object->getEnableGroupMap());
 
  692                $form->addItem($public);
 
  697                $loc_prop->setLatitude($latitude);
 
  698                $loc_prop->setLongitude($longitude);
 
  699                $loc_prop->setZoom($zoom);
 
  700                $form->addItem($loc_prop);
 
  702                $form->addCommandButton(
"saveMapSettings", $this->lng->txt(
"save"));
 
  704                $this->tpl->setVariable(
"ADM_CONTENT", $form->getHTML());
 
  715                $this->
object->update();
 
  717                $ilCtrl->redirect($this, 
"editMapSettings");
 
  728                $this->tabs_gui->setTabActive(
'members');
 
  730                include_once(
"./Services/Maps/classes/class.ilMapUtil.php");
 
  737                $map->setMapId(
"group_map")
 
  740                        ->setLatitude($this->object->getLatitude())
 
  741                        ->setLongitude($this->object->getLongitude())
 
  742                        ->setZoom($this->object->getLocationZoom())
 
  743                        ->setEnableTypeControl(
true)
 
  744                        ->setEnableNavigationControl(
true)
 
  745                        ->setEnableCentralMarker(
true);
 
  748                $member_ids = $this->
object->getGroupMemberIds();
 
  749                $admin_ids = $this->
object->getGroupAdminIds();
 
  752                $members = $this->
object->getGroupMemberData($member_ids);
 
  753                foreach($member_ids as $user_id)
 
  755                        $map->addUserMarker($user_id);
 
  757                $tpl->setContent($map->getHTML());
 
  758                $tpl->setLeftContent($map->getUserListHTML());
 
  775                $this->tabs_gui->setTabActive(
'settings');
 
  776                $this->tabs_gui->setSubTabActive(
'grp_info_settings');
 
  779                $this->tpl->setContent($this->form->getHTML());
 
  790                if(is_object($this->form))
 
  795                include_once(
"./Services/Form/classes/class.ilPropertyFormGUI.php");
 
  797                $this->form->setFormAction($this->ctrl->getFormAction($this,
'updateInfo'));
 
  798                $this->form->setTitle($this->lng->txt(
'grp_general_informations'));
 
  799                $this->form->addCommandButton(
'updateInfo',$this->lng->txt(
'save'));
 
  800                $this->form->addCommandButton(
'cancel',$this->lng->txt(
'cancel'));
 
  803                $area->setInfo($this->lng->txt(
'grp_information_info'));
 
  804                $area->setValue($this->object->getInformation());
 
  807                $this->form->addItem($area);
 
  821                $this->
object->update();
 
  836                global $rbacsystem, $ilAccess, 
$ilUser, $ilToolbar;
 
  838                $is_admin = (bool) $rbacsystem->checkAccess(
"write", $this->object->getRefId());
 
  840                $this->tpl->addBlockFile(
'ADM_CONTENT',
'adm_content',
'tpl.crs_members_gallery.html',
'Modules/Course');
 
  843                $this->tabs_gui->setTabActive(
'members');
 
  845                $member_ids = $this->
object->getGroupMemberIds();
 
  846                $admin_ids = $this->
object->getGroupAdminIds();
 
  849                $members = $this->
object->getGroupMemberData($member_ids);
 
  856                        $ordered_members = array();
 
  858                        foreach($members as $member)
 
  866                                if(!$usr_obj->getActive())
 
  874                                array_push($ordered_members,array(
"id" => $member[
"id"], 
 
  875                                                                  "login" => $usr_obj->getLogin(),
 
  876                                                                  "lastname" => $usr_obj->getLastName(),
 
  877                                                                  "firstname" => $usr_obj->getFirstName(),
 
  878                                                                  "sortlastname" => strtoupper($usr_obj->getLastName()).strtoupper($usr_obj->getFirstName()),
 
  879                                                                  "usr_obj" => $usr_obj));
 
  884                        foreach($ordered_members as $member) {
 
  886                                $usr_obj = $member[
"usr_obj"];
 
  888                                $public_profile = $usr_obj->getPref(
"public_profile");
 
  889                                if ($public_profile == 
"g")
 
  891                                        $public_profile = 
"y";
 
  895                                $this->ctrl->setParameterByClass(
"ilpublicuserprofilegui", 
"user", $member[
"id"]);
 
  896                                $profile_target = $this->ctrl->getLinkTargetByClass(
"ilpublicuserprofilegui",
"getHTML");
 
  899                                $file = $usr_obj->getPersonalPicturePath(
"xsmall");
 
  901                                switch(in_array($member[
"id"],$admin_ids))
 
  905                                                if ($public_profile == 
"y")
 
  907                                                        $this->tpl->setCurrentBlock(
"member_linked");
 
  908                                                        $this->tpl->setVariable(
"LINK_PROFILE", $profile_target);
 
  909                                                        $this->tpl->setVariable(
"SRC_USR_IMAGE", 
$file);
 
  910                                                        $this->tpl->parseCurrentBlock();
 
  914                                                        $this->tpl->setCurrentBlock(
"member_not_linked");
 
  915                                                        $this->tpl->setVariable(
"SRC_USR_IMAGE", 
$file);
 
  916                                                        $this->tpl->parseCurrentBlock();
 
  918                                                $this->tpl->setCurrentBlock(
"member");
 
  922                                                if ($public_profile == 
"y")
 
  924                                                        $this->tpl->setCurrentBlock(
"member_linked");
 
  925                                                        $this->tpl->setVariable(
"LINK_PROFILE", $profile_target);
 
  926                                                        $this->tpl->setVariable(
"SRC_USR_IMAGE", 
$file);
 
  927                                                        $this->tpl->parseCurrentBlock();
 
  931                                                        $this->tpl->setCurrentBlock(
"member_not_linked");
 
  932                                                        $this->tpl->setVariable(
"SRC_USR_IMAGE", 
$file);
 
  933                                                        $this->tpl->parseCurrentBlock();
 
  935                                                $this->tpl->setCurrentBlock(
"member");
 
  939                                if (in_array($member[
"id"],$admin_ids)) {
 
  940                                        $this->tpl->setVariable(
"MEMBER_CLASS", 
"il_Admin");
 
  943                                                $this->tpl->setVariable(
"MEMBER_CLASS", 
"il_Member");
 
  948                                if ($public_profile == 
"y")
 
  950                                        $this->tpl->setVariable(
"FIRSTNAME", $member[
"firstname"]);
 
  951                                        $this->tpl->setVariable(
"LASTNAME", $member[
"lastname"]);
 
  953                                $this->tpl->setVariable(
"LOGIN", $usr_obj->getLogin());
 
  954                                $this->tpl->parseCurrentBlock();
 
  956                        $this->tpl->setCurrentBlock(
"members"); 
 
  958                        $this->tpl->parseCurrentBlock();
 
  961                $this->tpl->setVariable(
"TITLE",$this->lng->txt(
'crs_members_print_title'));
 
  968                include_once(
'./Services/PrivacySecurity/classes/class.ilPrivacySettings.php');
 
  971                if($this->show_tracking)
 
  973                        include_once 
'Services/Tracking/classes/class.ilLPStatusWrapper.php';
 
  979                if($privacy->enabledGroupAccessTimes())
 
  981                        include_once(
'./Services/Tracking/classes/class.ilLearningProgress.php');
 
  985                $do_prtf = (is_array($selected_columns) && 
 
  986                        in_array(
'prtf', $selected_columns) &&
 
  990                        include_once 
"Modules/Portfolio/classes/class.ilObjPortfolio.php";
 
  992                                $this->ctrl->getLinkTarget($this, 
"members"));
 
  995                foreach($ids as $usr_id)
 
  998                        $tmp_data[
'firstname'] = $name[
'firstname'];
 
  999                        $tmp_data[
'lastname'] = $name[
'lastname'];
 
 1001                        $tmp_data[
'notification'] = $this->
object->members_obj->isNotificationEnabled($usr_id) ? 1 : 0;
 
 1002                        $tmp_data[
'usr_id'] = $usr_id;
 
 1005                        if($this->show_tracking)
 
 1007                                if(in_array($usr_id,$completed))
 
 1011                                elseif(in_array($usr_id,$in_progress))
 
 1015                                elseif(in_array($usr_id,
$failed))
 
 1025                        if($privacy->enabledGroupAccessTimes())
 
 1027                                if(isset($progress[$usr_id][
'ts']) and $progress[$usr_id][
'ts'])
 
 1031                                        $tmp_data[
'access_time_unix'] = $tmp_date->get(
IL_CAL_UNIX);
 
 1035                                        $tmp_data[
'access_time'] = $this->lng->txt(
'no_date');
 
 1036                                        $tmp_data[
'access_time_unix'] = 0;
 
 1042                                $tmp_data[
'prtf'] = $all_prtf[$usr_id];
 
 1045                        $members[$usr_id] = $tmp_data;
 
 1047                return $members ? $members : array();
 
 1060                include_once(
'./Modules/Group/classes/class.ilGroupParticipants.php');
 
 1061                include_once(
'./Modules/Group/classes/class.ilGroupParticipantsTableGUI.php');
 
 1065                include_once 
'./Services/Tracking/classes/class.ilObjUserTracking.php';
 
 1068                if($this->show_tracking)
 
 1070                        include_once(
'./Services/Object/classes/class.ilObjectLP.php');
 
 1072                        $this->show_tracking = $olp->isActive();
 
 1078                $this->tabs_gui->setTabActive(
'members');
 
 1079                $this->tabs_gui->setSubTabActive(
'grp_edit_members');
 
 1081                $this->tpl->addBlockfile(
'ADM_CONTENT',
'adm_content',
'tpl.grp_edit_members.html',
'Modules/Group');
 
 1082                $this->tpl->setVariable(
'FORMACTION',$this->ctrl->getFormAction($this));
 
 1085                include_once 
'./Services/Search/classes/class.ilRepositorySearchGUI.php';
 
 1090                                'auto_complete_name'    => 
$lng->txt(
'user'),
 
 1091                                'user_type'                             => $this->getLocalRoles(),
 
 1092                                'submit_name'                   => 
$lng->txt(
'add')
 
 1097                $ilToolbar->addSeparator();
 
 1100                $ilToolbar->addButton($this->lng->txt(
"grp_search_users"),
 
 1101                        $this->ctrl->getLinkTargetByClass(
'ilRepositorySearchGUI',
'start'));
 
 1103                $ilToolbar->addSeparator();
 
 1106                $ilToolbar->addButton($this->lng->txt(
"grp_print_list"),
 
 1107                        $this->ctrl->getLinkTarget($this, 
'printMembers'));
 
 1115                include_once(
'./Modules/Group/classes/class.ilGroupWaitingList.php');
 
 1117                if(count($wait = $waiting_list->getAllUsers()))
 
 1119                        include_once(
'./Services/Membership/classes/class.ilWaitingListTableGUI.php');
 
 1120                        if(
$ilUser->getPref(
'grp_wait_hide'))
 
 1123                                $this->ctrl->setParameter($this,
'wait_hide',0);
 
 1124                                $table_gui->addHeaderCommand($this->ctrl->getLinkTarget($this,
'members'),
 
 1125                                        $this->lng->txt(
'show'));
 
 1126                                $this->ctrl->clearParameters($this);
 
 1131                                $this->ctrl->setParameter($this,
'wait_hide',1);
 
 1132                                $table_gui->addHeaderCommand($this->ctrl->getLinkTarget($this,
'members'),
 
 1133                                        $this->lng->txt(
'hide'));
 
 1134                                $this->ctrl->clearParameters($this);
 
 1136                        $table_gui->setUsers($wait);
 
 1137                        $table_gui->setTitle($this->lng->txt(
'grp_header_waiting_list'),
'icon_usr.svg',$this->lng->txt(
'group_new_registrations'));
 
 1138                        $this->tpl->setVariable(
'TABLE_SUB',$table_gui->getHTML());
 
 1143                if($part->getSubscribers())
 
 1145                        include_once(
'./Services/Membership/classes/class.ilSubscriberTableGUI.php');
 
 1146                        if(
$ilUser->getPref(
'grp_subscriber_hide'))
 
 1149                                $this->ctrl->setParameter($this,
'subscriber_hide',0);
 
 1150                                $table_gui->addHeaderCommand($this->ctrl->getLinkTarget($this,
'members'),
 
 1151                                        $this->lng->txt(
'show'));
 
 1152                                $this->ctrl->clearParameters($this);
 
 1157                                $this->ctrl->setParameter($this,
'subscriber_hide',1);
 
 1158                                $table_gui->addHeaderCommand($this->ctrl->getLinkTarget($this,
'members'),
 
 1159                                        $this->lng->txt(
'hide'));
 
 1160                                $this->ctrl->clearParameters($this);
 
 1162                        $table_gui->readSubscriberData();
 
 1163                        $table_gui->setTitle($this->lng->txt(
'group_new_registrations'),
'icon_usr.svg',$this->lng->txt(
'group_new_registrations'));
 
 1164                        $this->tpl->setVariable(
'TABLE_SUB',$table_gui->getHTML());
 
 1167                if(count($part->getAdmins()))
 
 1169                        if(
$ilUser->getPref(
'grp_admin_hide'))
 
 1172                                $this->ctrl->setParameter($this,
'admin_hide',0);
 
 1173                                $table_gui->addHeaderCommand($this->ctrl->getLinkTarget($this,
'members'),
 
 1174                                        $this->lng->txt(
'show'));
 
 1175                                $this->ctrl->clearParameters($this);
 
 1180                                $this->ctrl->setParameter($this,
'admin_hide',1);
 
 1181                                $table_gui->addHeaderCommand($this->ctrl->getLinkTarget($this,
'members'),
 
 1182                                        $this->lng->txt(
'hide'));
 
 1183                                $this->ctrl->clearParameters($this);
 
 1185                        $table_gui->setTitle($this->lng->txt(
'grp_admins'),
'icon_usr.svg',$this->lng->txt(
'grp_admins'));
 
 1187                        $this->tpl->setVariable(
'ADMINS',$table_gui->getHTML());        
 
 1190                if(
$GLOBALS[
'rbacreview']->getNumberOfAssignedUsers(array($this->object->getDefaultMemberRole())))
 
 1192                        if(
$ilUser->getPref(
'grp_member_hide'))
 
 1195                                $this->ctrl->setParameter($this,
'member_hide',0);
 
 1196                                $table_gui->addHeaderCommand($this->ctrl->getLinkTarget($this,
'members'),
 
 1197                                        $this->lng->txt(
'show'));
 
 1198                                $this->ctrl->clearParameters($this);
 
 1203                                $this->ctrl->setParameter($this,
'member_hide',1);
 
 1204                                $table_gui->addHeaderCommand($this->ctrl->getLinkTarget($this,
'members'),
 
 1205                                        $this->lng->txt(
'hide'));
 
 1206                                $this->ctrl->clearParameters($this);
 
 1209                        $table_gui->setTitle($this->lng->txt(
'grp_members'),
'icon_usr.svg',$this->lng->txt(
'grp_members'));
 
 1210                        $table_gui->parse($this->
readMemberData(
$GLOBALS[
'rbacreview']->assignedUsers($this->object->getDefaultMemberRole()),
 
 1211                                null, $table_gui->getSelectedColumns()));
 
 1212                        $this->tpl->setCurrentBlock(
'member_block');
 
 1213                        $this->tpl->setVariable(
'MEMBERS',$table_gui->getHTML());       
 
 1214                        $this->tpl->parseCurrentBlock();
 
 1220                        if(!(
$GLOBALS[
'rbacreview']->getNumberOfAssignedUsers(array($role_id))))
 
 1224                        if(
$ilUser->getPref(
'grp_role_hide'.$role_id))
 
 1227                                $this->ctrl->setParameter($this,
'role_hide_'.$role_id,0);
 
 1228                                $table_gui->addHeaderCommand($this->ctrl->getLinkTarget($this,
'members'),
 
 1229                                        $this->lng->txt(
'show'));
 
 1230                                $this->ctrl->clearParameters($this);
 
 1235                                $this->ctrl->setParameter($this,
'role_hide_'.$role_id,1);
 
 1236                                $table_gui->addHeaderCommand($this->ctrl->getLinkTarget($this,
'members'),
 
 1237                                        $this->lng->txt(
'hide'));
 
 1238                                $this->ctrl->clearParameters($this);
 
 1243                        $this->tpl->setCurrentBlock(
'member_block');
 
 1244                        $this->tpl->setVariable(
'MEMBERS',$table_gui->getHTML());       
 
 1245                        $this->tpl->parseCurrentBlock();
 
 1248                $this->tpl->setVariable(
'TXT_SELECTED_USER',$this->lng->txt(
'grp_selected_users'));
 
 1249                $this->tpl->setVariable(
'BTN_FOOTER_EDIT',$this->lng->txt(
'edit'));
 
 1250                $this->tpl->setVariable(
'BTN_FOOTER_VAL',$this->lng->txt(
'remove'));
 
 1251                $this->tpl->setVariable(
'BTN_FOOTER_MAIL',$this->lng->txt(
'grp_mem_send_mail'));
 
 1268                if(!count(
$_POST[
'subscribers']))
 
 1275                include_once 
'./Modules/Group/classes/class.ilGroupMembershipMailNotification.php';
 
 1276                foreach(
$_POST[
'subscribers'] as $usr_id)
 
 1278                        $this->
object->members_obj->sendNotification(
 
 1284                        $this->
object->members_obj->deleteSubscriber($usr_id);
 
 1288                $this->ctrl->redirect($this,
'members');
 
 1304                if(!count(
$_POST[
'subscribers']))
 
 1311                include_once 
'./Modules/Group/classes/class.ilGroupMembershipMailNotification.php';
 
 1312                foreach(
$_POST[
'subscribers'] as $usr_id)
 
 1314                        $this->
object->members_obj->sendNotification(
 
 1318                        $this->
object->members_obj->deleteSubscriber($usr_id);
 
 1337                if(!count(
$_POST[
"waiting"]))
 
 1344                include_once(
'./Modules/Group/classes/class.ilGroupWaitingList.php');
 
 1347                include_once 
'./Modules/Group/classes/class.ilGroupMembershipMailNotification.php';
 
 1350                foreach(
$_POST[
"waiting"] as $user_id)
 
 1356                        if($this->object->members_obj->isAssigned($user_id))
 
 1361                        $this->
object->members_obj->sendNotification(
 
 1365                        $waiting_list->removeFromList($user_id);
 
 1372                        $this->ctrl->redirect($this, 
"members");
 
 1379                        $this->searchObject();
 
 1395                if(!count(
$_POST[
'waiting']))
 
 1402                include_once(
'./Modules/Group/classes/class.ilGroupWaitingList.php');
 
 1405                include_once 
'./Modules/Group/classes/class.ilGroupMembershipMailNotification.php';
 
 1406                foreach(
$_POST[
"waiting"] as $user_id)
 
 1408                        $waiting_list->removeFromList($user_id);
 
 1409                        $this->
object->members_obj->sendNotification(
 
 1416                $this->ctrl->redirect($this, 
"members");
 
 1429                $participants_to_delete = (array) array_unique(array_merge((array) 
$_POST[
'admins'],(array) 
$_POST[
'members'], (array) 
$_POST[
'roles']));
 
 1431                if(!count($participants_to_delete))
 
 1441                $admins_after = (array) array_diff($admins, $participants_to_delete);
 
 1442                if(!count($admins_after) and count($admins))            
 
 1450                $this->tabs_gui->setTabActive(
'members');
 
 1451                $this->tabs_gui->setSubTabActive(
'grp_edit_members');
 
 1453                include_once(
'./Services/Utilities/classes/class.ilConfirmationGUI.php');
 
 1455                $confirm->setFormAction($this->ctrl->getFormAction($this,
'deleteMembers'));
 
 1456                $confirm->setHeaderText($this->lng->txt(
'grp_dismiss_member'));
 
 1457                $confirm->setConfirm($this->lng->txt(
'confirm'),
'deleteMembers');
 
 1458                $confirm->setCancel($this->lng->txt(
'cancel'),
'members');
 
 1462                        $confirm->addItem(
'participants[]',
 
 1463                                $participants[
'usr_id'],
 
 1464                                $participants[
'lastname'].
', '.$participants[
'firstname'].
' ['.$participants[
'login'].
']',
 
 1468                $this->tpl->setContent($confirm->getHTML());
 
 1482                if(!count(
$_POST[
'participants']))
 
 1489                $this->
object->members_obj->deleteParticipants(
$_POST[
'participants']);
 
 1492                include_once 
'./Modules/Group/classes/class.ilGroupMembershipMailNotification.php';
 
 1493                foreach(
$_POST[
'participants'] as $part)
 
 1495                        $this->
object->members_obj->sendNotification(
 
 1503                $this->ctrl->redirect($this, 
"members");
 
 1516                if(isset(
$_GET[
'member_id']))
 
 1518                        $_POST[
'participants'] = array(
$_GET[
'member_id']);
 
 1522                        $_POST[
'participants'] = array_unique(array_merge((array) 
$_POST[
'admins'],
 
 1523                                (array) 
$_POST[
'members'],
 
 1525                                (array) 
$_POST[
'waiting'],
 
 1526                                (array) 
$_POST[
'subscribers']));
 
 1528                if (!count(
$_POST[
'participants']))
 
 1534                foreach(
$_POST[
'participants'] as $usr_id)
 
 1539                require_once 
'Services/Mail/classes/class.ilMailFormCall.php';
 
 1559                if(isset(
$_GET[
'admin_hide']))
 
 1561                        $ilUser->writePref(
'grp_admin_hide',(
int) 
$_GET[
'admin_hide']);
 
 1563                if(isset(
$_GET[
'member_hide']))
 
 1565                        $ilUser->writePref(
'grp_member_hide',(
int) 
$_GET[
'member_hide']);
 
 1567                if(isset(
$_GET[
'subscriber_hide']))
 
 1569                        $ilUser->writePref(
'grp_subscriber_hide',(
int) 
$_GET[
'subscriber_hide']);
 
 1571                if(isset(
$_GET[
'wait_hide']))
 
 1573                        $ilUser->writePref(
'grp_wait_hide',(
int) 
$_GET[
'wait_hide']);
 
 1584                $_POST[
'members'] = array((
int) 
$_GET[
'member_id']);
 
 1598                $post_participants = array_unique(array_merge((array) 
$_POST[
'admins'],(array) 
$_POST[
'members'], (array) 
$_POST[
'roles']));
 
 1600                $participants = array_intersect((array) $post_participants, (array) $real_participants);
 
 1602                if(!count($participants))
 
 1610                $this->tabs_gui->setTabActive(
'members');
 
 1611                $this->tabs_gui->setSubTabActive(
'grp_edit_members');
 
 1613                include_once(
'./Modules/Group/classes/class.ilGroupEditParticipantsTableGUI.php');
 
 1615                $table_gui->setTitle($this->lng->txt(
'grp_mem_change_status'),
'icon_usr.svg',$this->lng->txt(
'grp_mem_change_status'));
 
 1618                $this->tpl->setContent($table_gui->getHTML());
 
 1633                if(!count(
$_POST[
'participants']))
 
 1642                $admin_role = $this->
object->getDefaultAdminRole();
 
 1645                        if(!isset(
$_POST[
'roles'][$admin_id]))
 
 1650                        if(in_array($admin_role,
$_POST[
'roles'][$admin_id]))
 
 1665                $admin_role = $this->
object->getDefaultAdminRole();
 
 1667                $notifications = 
$_POST[
'notification'] ? 
$_POST[
'notification'] : array();
 
 1668                foreach(
$_POST[
'participants'] as $usr_id)
 
 1671                        $notification = 
false;
 
 1672                        if($this->object->members_obj->isAdmin($usr_id) and !in_array($admin_role,(array) 
$_POST[
'roles'][$usr_id]))
 
 1674                                $notification = 
true;
 
 1676                        if(!$this->object->members_obj->isAdmin($usr_id) and in_array($admin_role,(array) 
$_POST[
'roles'][$usr_id]))
 
 1678                                $notification = 
true;
 
 1682                        $this->
object->members_obj->updateRoleAssignments($usr_id,(array) 
$_POST[
'roles'][$usr_id]);
 
 1685                        $this->
object->members_obj->updateNotification($usr_id,0);
 
 1687                        if($this->object->members_obj->isAdmin($usr_id) and in_array($usr_id,$notifications))
 
 1689                                $this->
object->members_obj->updateNotification($usr_id,1);
 
 1694                                include_once 
'./Modules/Group/classes/class.ilGroupMembershipMailNotification.php';
 
 1695                                $this->
object->members_obj->sendNotification(
 
 1702                $this->ctrl->redirect($this, 
"members");
 
 1717                $notification = 
$_POST[
'notification'] ? 
$_POST[
'notification'] : array();
 
 1718                foreach($this->object->members_obj->getAdmins() as $admin_id)
 
 1720                        $this->
object->members_obj->updateNotification($admin_id,(
int) in_array($admin_id,$notification));
 
 1758                if($part->isLastAdmin(
$ilUser->getId()))
 
 1765                $this->tabs_gui->setTabActive(
'grp_btn_unsubscribe');
 
 1767                include_once 
"Services/Utilities/classes/class.ilConfirmationGUI.php";
 
 1769                $cgui->setHeaderText($this->lng->txt(
'grp_dismiss_myself'));
 
 1770                $cgui->setFormAction($this->ctrl->getFormAction($this));
 
 1771                $cgui->setCancel($this->lng->txt(
"cancel"), 
"cancel");
 
 1772                $cgui->setConfirm($this->lng->txt(
"grp_btn_unsubscribe"), 
"unsubscribe");               
 
 1773                $this->tpl->setContent($cgui->getHTML());       
 
 1788                $this->
object->members_obj->delete($ilUser->getId());
 
 1790                include_once 
'./Modules/Group/classes/class.ilGroupMembershipMailNotification.php';
 
 1791                $this->
object->members_obj->sendNotification(
 
 1795                $this->
object->members_obj->sendNotification(
 
 1801                $ilCtrl->setParameterByClass(
"ilrepositorygui", 
"ref_id",
 
 1802                        $tree->getParentId($this->object->getRefId()));
 
 1803                $ilCtrl->redirectByClass(
"ilrepositorygui", 
"");
 
 1813                $user_ids = 
$_POST[
"id"];
 
 1815                if (empty($user_ids[0]))
 
 1818                        $this->ilErr->raiseError($this->lng->txt(
"no_checkbox"),$this->ilErr->MESSAGE);
 
 1821                foreach ($user_ids as $new_member)
 
 1823                        if (!$this->object->addMember($new_member,$this->object->getDefaultMemberRole()))
 
 1825                                $this->ilErr->raiseError(
"An Error occured while assigning user to group !",$this->ilErr->MESSAGE);
 
 1832                $this->ctrl->redirect($this,
'members');
 
 1841                if (empty($user_ids[0]))
 
 1843                        $GLOBALS[
'lng']->loadLanguageModule(
'search');
 
 1850                foreach((array) $user_ids as $new_member)
 
 1852                        if($part->isAssigned($new_member))
 
 1858                                case $this->
object->getDefaultAdminRole():
 
 1860                                        include_once 
'./Modules/Group/classes/class.ilGroupMembershipMailNotification.php';
 
 1861                                        $part->sendNotification(
 
 1870                                        include_once 
'./Modules/Group/classes/class.ilGroupMembershipMailNotification.php';
 
 1871                                        $part->sendNotification(
 
 1888                $this->ctrl->redirect($this,
'members');
 
 1896                global $rbacreview, $ilObjDataCache, 
$ilias;
 
 1897                include_once(
'./Services/AccessControl/classes/class.ilObjRole.php');
 
 1899                $this->lng->loadLanguageModule(
'mail');
 
 1900                if(!isset(
$_GET[
'returned_from_mail']))
 
 1905                $this->tpl->addBlockFile(
'ADM_CONTENT',
'adm_content',
'tpl.mail_members.html',
'Services/Contact');
 
 1908                $this->tabs_gui->setTabActive(
'members');
 
 1909                $b_cmd = 
$_GET[
"back_cmd"] ? 
$_GET[
"back_cmd"] : 
"members";
 
 1910                $this->tabs_gui->setBackTarget($this->lng->txt(
"back"), $this->ctrl->getLinkTarget($this,$b_cmd));
 
 1913        require_once 
'Services/Mail/classes/class.ilMailFormCall.php';
 
 1916                $this->tpl->setVariable(
"TXT_MARKED_ENTRIES",$this->lng->txt(
'marked_entries'));
 
 1917                $this->tpl->setVariable(
"OK",$this->lng->txt(
'next'));
 
 1920                $role_ids = $rbacreview->getRolesOfRoleFolder($this->object->getRefId(), 
false);
 
 1921                $role_addrs = array();
 
 1924                $sorted_role_ids = array();
 
 1926                foreach($role_ids as $role_id)
 
 1931                                        $sorted_role_ids[1] = $role_id;
 
 1935                                        $sorted_role_ids[0] = $role_id;
 
 1939                                        $sorted_role_ids[$counter++] = $role_id;
 
 1943                ksort($sorted_role_ids,SORT_NUMERIC);
 
 1944                foreach ((array) $sorted_role_ids as $role_id)
 
 1946                        $this->tpl->setCurrentBlock(
"mailbox_row");
 
 1947                        $role_addr = $rbacreview->getRoleMailboxAddress($role_id);
 
 1951                        if(count($ids_for_role_title) >= 2)
 
 1953                                $ilias->setSetting(
'pear_mail_enable', 1);
 
 1957                                        htmlspecialchars($role_addr)
 
 1960                        if (ilMail::_usePearMail() && substr($role_addr, 0, 4) != 
'#il_')
 
 1963                                $this->tpl->setVariable(
"MAILBOX",$role_addr);
 
 1970                        $this->tpl->parseCurrentBlock();
 
 1980                $user_ids = 
$_POST[
"user_id"];
 
 1982                if (empty($user_ids[0]))
 
 1984                        $this->ilErr->raiseError($this->lng->txt(
"no_checkbox"),$this->ilErr->MESSAGE);
 
 1986                include_once 
'Services/Mail/classes/class.ilMail.php';
 
 1989                foreach ($user_ids as $new_member)
 
 1991                        $user =& $this->
ilias->obj_factory->getInstanceByObjId($new_member);
 
 1993                        $this->
object->deleteApplicationListEntry($new_member);
 
 1994                        $mail->sendMail($user->getLogin(),
"",
"",
"Membership application refused: Group ".$this->object->getTitle(),
"Your application has been refused.",array(),array(
'system'));
 
 1998                $this->ctrl->redirect($this,
'members');
 
 2004                global $rbacsystem, 
$ilUser, $ilAccess, 
$lng, $ilHelp;
 
 2006                $ilHelp->setScreenIdComponent(
"grp");
 
 2008                if ($rbacsystem->checkAccess(
'read',$this->ref_id))
 
 2010                        $tabs_gui->addTab(
"view_content", 
$lng->txt(
"content"),
 
 2011                                $this->ctrl->getLinkTarget($this, 
""));
 
 2013                if ($rbacsystem->checkAccess(
'visible',$this->ref_id))
 
 2015                        $tabs_gui->addTarget(
"info_short",
 
 2016                                                                 $this->ctrl->getLinkTargetByClass(
 
 2017                                                                 array(
"ilobjgroupgui", 
"ilinfoscreengui"), 
"showSummary"),
 
 2023                if ($ilAccess->checkAccess(
'write',
'',$this->object->getRefId()))
 
 2025                        $tabs_gui->addTarget(
"settings",
 
 2026                                $this->ctrl->getLinkTarget($this, 
"edit"), array(
"edit", 
"editMapSettings"), get_class($this),
 
 2034                $mem_cmd = $ilAccess->checkAccess(
'write',
'',$this->ref_id) ? 
"members" : 
"membersGallery";
 
 2035                if($mem_cmd != 
"membersGallery" || $is_participant)
 
 2037                        $tabs_gui->addTarget(
"members",
 
 2038                                        $this->ctrl->getLinkTarget($this, $mem_cmd), 
 
 2044                include_once 
'./Services/Tracking/classes/class.ilLearningProgressAccess.php';
 
 2047                        $tabs_gui->addTarget(
'learning_progress',
 
 2048                                                                 $this->ctrl->getLinkTargetByClass(array(
'ilobjgroupgui',
'illearningprogressgui'),
''),
 
 2050                                                                 array(
'illplistofobjectsgui',
'illplistofsettingsgui',
'illearningprogressgui',
'illplistofprogressgui'));
 
 2054                if($ilAccess->checkAccess(
'write',
'',$this->object->getRefId()))
 
 2056                        $tabs_gui->addTarget(
 
 2058                                $this->ctrl->getLinkTargetByClass(
'ilexportgui',
''),
 
 2076                parent::getTabs($tabs_gui);
 
 2078                if($ilAccess->checkAccess(
'join',
'',$this->object->getRefId()) and
 
 2079                        !$this->object->members_obj->isAssigned(
$ilUser->getId()))
 
 2081                        include_once 
'./Modules/Group/classes/class.ilGroupWaitingList.php';
 
 2086                                        $this->lng->txt(
'membership_leave'),
 
 2087                                        $this->ctrl->getLinkTargetByClass(
'ilgroupregistrationgui',
'show',
'')
 
 2094                                $tabs_gui->addTarget(
"join",
 
 2095                                                                         $this->ctrl->getLinkTargetByClass(
'ilgroupregistrationgui', 
"show"), 
 
 2100                if($ilAccess->checkAccess(
'leave',
'',$this->object->getRefId()) and
 
 2101                        $this->object->members_obj->isMember(
$ilUser->getId()))
 
 2103                        $tabs_gui->addTarget(
"grp_btn_unsubscribe",
 
 2104                                                                 $this->ctrl->getLinkTarget($this, 
"leave"), 
 
 2114                if(!is_array($_FILES[
'xmldoc']))
 
 2121                include_once 
'./Modules/Group/classes/class.ilObjGroup.php';
 
 2125                        $this->ctrl->setParameter($this, 
"ref_id", 
$ref_id);
 
 2142                $this->tpl->addBlockfile(
"ADM_CONTENT", 
"adm_content", 
"tpl.grp_members_export.html",
 
 2144                $this->tpl->setCurrentBlock(
"adm_content");
 
 2145                $this->tpl->setVariable(
"FORMACTION", $this->
getFormAction(
"export",$this->ctrl->getFormAction($this)));
 
 2146                $this->tpl->setVariable(
"BUTTON_EXPORT", $this->lng->txt(
"export_group_members"));
 
 2147                $this->tpl->parseCurrentBlock();
 
 2158                $title = preg_replace(
"/\s/", 
"_", $this->object->getTitle());
 
 2159                include_once 
"./Services/Excel/classes/class.ilExcelWriterAdapter.php";
 
 2161                $workbook = $adapter->getWorkbook();
 
 2163                $format_bold =& $workbook->addFormat();
 
 2164                $format_bold->setBold();
 
 2165                $format_percent =& $workbook->addFormat();
 
 2166                $format_percent->setNumFormat(
"0.00%");
 
 2167                $format_datetime =& $workbook->addFormat();
 
 2168                $format_datetime->setNumFormat(
"DD/MM/YYYY hh:mm:ss");
 
 2169                $format_title =& $workbook->addFormat();
 
 2170                $format_title->setBold();
 
 2171                $format_title->setColor(
'black');
 
 2172                $format_title->setPattern(1);
 
 2173                $format_title->setFgColor(
'silver');
 
 2174                $worksheet =& $workbook->addWorksheet();
 
 2176                $profile_data = array(
"email", 
"gender", 
"firstname", 
"lastname", 
"person_title", 
"institution", 
 
 2177                        "department", 
"street", 
"zipcode",
"city", 
"country", 
"phone_office", 
"phone_home", 
"phone_mobile",
 
 2178                        "fax", 
"matriculation");
 
 2179                foreach ($profile_data as 
$data)
 
 2181                        $worksheet->writeString(0, $column++, $this->
cleanString($this->lng->txt(
$data)), $format_title);
 
 2183                $member_ids = $this->
object->getGroupMemberIds();
 
 2185                foreach ($member_ids as $member_id)
 
 2188                        $member =& $this->
ilias->obj_factory->getInstanceByObjId($member_id);
 
 2189                        if ($member->getPref(
"public_email")==
"y")
 
 2191                                $worksheet->writeString(
$row, $column++, $this->
cleanString($member->getEmail()));
 
 2197                        $worksheet->writeString(
$row, $column++, $this->
cleanString($this->lng->txt(
"gender_" . $member->getGender())));
 
 2198                        $worksheet->writeString(
$row, $column++, $this->
cleanString($member->getFirstname()));
 
 2199                        $worksheet->writeString(
$row, $column++, $this->
cleanString($member->getLastname()));
 
 2200                        $worksheet->writeString(
$row, $column++, $this->
cleanString($member->getUTitle()));
 
 2201                        if ($member->getPref(
"public_institution")==
"y")
 
 2203                                $worksheet->writeString(
$row, $column++, $this->
cleanString($member->getInstitution()));
 
 2209                        if ($member->getPref(
"public_department")==
"y")
 
 2211                                $worksheet->writeString(
$row, $column++, $this->
cleanString($member->getDepartment()));
 
 2217                        if ($member->getPref(
"public_street")==
"y")
 
 2219                                $worksheet->writeString(
$row, $column++, $this->
cleanString($member->getStreet()));
 
 2225                        if ($member->getPref(
"public_zip")==
"y")
 
 2227                                $worksheet->writeString(
$row, $column++, $this->
cleanString($member->getZipcode()));
 
 2233                        if ($member->getPref(
"public_city")==
"y")
 
 2235                                $worksheet->writeString(
$row, $column++, $this->
cleanString($member->getCity()));
 
 2241                        if ($member->getPref(
"public_country")==
"y")
 
 2243                                $worksheet->writeString(
$row, $column++, $this->
cleanString($member->getCountry()));
 
 2249                        if ($member->getPref(
"public_phone_office")==
"y")
 
 2251                                $worksheet->writeString(
$row, $column++, $this->
cleanString($member->getPhoneOffice()));
 
 2257                        if ($member->getPref(
"public_phone_home")==
"y")
 
 2259                                $worksheet->writeString(
$row, $column++, $this->
cleanString($member->getPhoneHome()));
 
 2265                        if ($member->getPref(
"public_phone_mobile")==
"y")
 
 2267                                $worksheet->writeString(
$row, $column++, $this->
cleanString($member->getPhoneMobile()));
 
 2273                        if ($member->getPref(
"public_fax")==
"y")
 
 2275                                $worksheet->writeString(
$row, $column++, $this->
cleanString($member->getFax()));
 
 2281                        if ($member->getPref(
"public_matriculation")==
"y")
 
 2283                                $worksheet->writeString(
$row, $column++, $this->
cleanString($member->getMatriculation()));
 
 2304                return str_replace(array(
"��",
"��",
"��",
"��",
"��",
"��",
"��"), array(
"ae",
"oe",
"ue",
"ss",
"Ae",
"Oe",
"Ue"), $str);
 
 2319                $this->ctrl->setCmd(
"showSummary");
 
 2320                $this->ctrl->setCmdClass(
"ilinfoscreengui");
 
 2331                $this->tabs_gui->setTabActive(
'info_short');
 
 2333                if(!$rbacsystem->checkAccess(
"visible", $this->ref_id))
 
 2335                        $this->
ilias->raiseError($this->lng->txt(
"msg_no_perm_read"),$this->ilias->error_obj->MESSAGE);
 
 2338                include_once(
"./Services/InfoScreen/classes/class.ilInfoScreenGUI.php");
 
 2341                if(strlen($this->object->getInformation()))
 
 2343                        $info->addSection($this->lng->txt(
'grp_general_informations'));
 
 2344                        $info->addProperty($this->lng->txt(
'grp_information'), nl2br(
 
 2348                $info->enablePrivateNotes();
 
 2349                $info->enableLearningProgress(
true);
 
 2351                $info->addSection($this->lng->txt(
'group_registration'));
 
 2352                $info->showLDAPRoleGroupMappingInfo();
 
 2354                if(!$this->object->isRegistrationEnabled())
 
 2356                        $info->addProperty($this->lng->txt(
'group_registration_mode'),
 
 2357                                $this->lng->txt(
'grp_reg_deac_info_screen'));
 
 2362                        switch($this->object->getRegistrationType())
 
 2365                                        $info->addProperty($this->lng->txt(
'group_registration_mode'),
 
 2366                                                                           $this->lng->txt(
'grp_reg_direct_info_screen'));
 
 2370                                        $info->addProperty($this->lng->txt(
'group_registration_mode'),
 
 2371                                                                           $this->lng->txt(
'grp_reg_req_info_screen'));
 
 2375                                        $info->addProperty($this->lng->txt(
'group_registration_mode'),
 
 2376                                                                           $this->lng->txt(
'grp_reg_passwd_info_screen'));
 
 2386                        if($this->object->isRegistrationUnlimited())
 
 2388                                $info->addProperty($this->lng->txt(
'group_registration_time'),
 
 2389                                        $this->lng->txt(
'grp_registration_unlimited'));
 
 2391                        elseif($this->object->getRegistrationStart()->getUnixTime() < time())
 
 2393                                $info->addProperty($this->lng->txt(
"group_registration_time"),
 
 2394                                                                   $this->lng->txt(
'cal_until').
' '.
 
 2397                        elseif($this->object->getRegistrationStart()->getUnixTime() >= time())
 
 2399                                $info->addProperty($this->lng->txt(
"group_registration_time"),
 
 2400                                                                   $this->lng->txt(
'cal_from').
' '.
 
 2403                        if ($this->object->isMembershipLimited()) 
 
 2405                                include_once 
'./Modules/Group/classes/class.ilObjGroupAccess.php';
 
 2409                                        $this->lng->txt(
'mem_free_places'),
 
 2410                                        $reg_info[
'reg_info_free_places']
 
 2416                include_once(
'Services/PrivacySecurity/classes/class.ilPrivacySettings.php');
 
 2419                include_once(
'Modules/Course/classes/Export/class.ilCourseDefinedFieldDefinition.php');
 
 2422                        include_once(
'Services/PrivacySecurity/classes/class.ilExportFieldsInfo.php');
 
 2426                        $this->lng->loadLanguageModule(
'ps');
 
 2427                        $info->addSection($this->lng->txt(
'grp_user_agreement_info'));
 
 2428                        $info->addProperty($this->lng->txt(
'ps_export_data'),$field_info->exportableFieldsToInfoString());
 
 2432                                $info->addProperty($this->lng->txt(
'ps_grp_user_fields'),$fields);
 
 2438                $this->ctrl->forwardCommand($info);
 
 2452                $this->ctrl->redirect($this, 
"infoScreen");
 
 2458        public static function _goto($a_target, $a_add = 
"")
 
 2462                include_once 
'./Services/Membership/classes/class.ilMembershipRegistrationCodeUtils.php';
 
 2463                if(substr($a_add,0,5) == 
'rcode')
 
 2465                        if(
$ilUser->getId() == ANONYMOUS_USER_ID)
 
 2469                                        "login.php?target=".
$_GET[
"target"].
"&cmd=force_login&lang=".
 
 2482                if ($a_add == 
"mem" && $ilAccess->checkAccess(
"write", 
"", $a_target))
 
 2487                if ($ilAccess->checkAccess(
"read", 
"", $a_target))
 
 2494                        if ($ilAccess->checkAccess(
"visible", 
"", $a_target))
 
 2500                                if ($ilAccess->checkAccess(
"read", 
"", ROOT_FOLDER_ID))
 
 2523                if(is_object($this->form))
 
 2528                include_once(
"./Services/Form/classes/class.ilPropertyFormGUI.php");
 
 2534                                $this->form->setFormAction($this->ctrl->getFormAction($this,
'update'));
 
 2538                                $this->form->setTableWidth(
'600px');
 
 2539                                $this->form->setFormAction($this->ctrl->getFormAction($this,
'save'));
 
 2545                $title->setSubmitFormOnEnter(
true);
 
 2546                $title->setValue($this->object->getTitle());
 
 2549                $title->setRequired(
true);
 
 2550                $this->form->addItem($title);
 
 2554                $desc->setValue($this->object->getLongDescription());
 
 2557                $this->form->addItem($desc);
 
 2562                if($a_mode == 
'edit')
 
 2564                        $type = ($this->
object->getGroupType() ? $this->
object->getGroupType() : $this->
object->readGroupStatus());
 
 2568                        $type = ($this->
object->getGroupType() ? $this->
object->getGroupType() : 
GRP_TYPE_PUBLIC);
 
 2571                $grp_type->setValue($type);
 
 2572                $grp_type->setRequired(
true);
 
 2577                $grp_type->addOption($opt_public);
 
 2582                $grp_type->addOption($opt_closed);
 
 2584                $this->form->addItem($grp_type);
 
 2586                if($a_mode == 
'edit')
 
 2590                        $pres->setTitle($this->lng->txt(
'grp_setting_header_registration'));
 
 2591                        $this->form->addItem($pres);
 
 2594                        $reg_type = 
new ilRadioGroupInputGUI($this->lng->txt(
'group_registration_mode'),
'registration_type');
 
 2595                        $reg_type->setValue($this->object->getRegistrationType());
 
 2598                        $reg_type->addOption($opt_dir);
 
 2602                        $pass->setInfo($this->lng->txt(
'grp_reg_password_info'));
 
 2603                        $pass->setValue($this->object->getPassword());
 
 2605                        $pass->setMaxLength(32);
 
 2606                        $opt_pass->addSubItem(
$pass);
 
 2607                        $reg_type->addOption($opt_pass);
 
 2610                        $reg_type->addOption($opt_req);
 
 2613                        $reg_type->addOption($opt_deact);
 
 2616                        $reg_code = 
new ilCheckboxInputGUI($this->lng->txt(
'grp_reg_code'),
'reg_code_enabled');
 
 2617                        $reg_code->setChecked($this->object->isRegistrationAccessCodeEnabled());
 
 2618                        $reg_code->setValue(1);
 
 2619                        $reg_code->setInfo($this->lng->txt(
'grp_reg_code_enabled_info'));
 
 2620                        $this->form->addItem($reg_type);
 
 2623                        if(!$this->object->getRegistrationAccessCode())
 
 2625                                include_once 
'./Services/Membership/classes/class.ilMembershipRegistrationCodeUtils.php';
 
 2629                        $reg_link->setValue($this->object->getRegistrationAccessCode());
 
 2630                        $this->form->addItem($reg_link);
 
 2633                        include_once 
'./Services/Link/classes/class.ilLink.php';
 
 2634                        $val = 
ilLink::_getLink($this->object->getRefId(),$this->object->getType(),array(),
'_rcode'.$this->object->getRegistrationAccessCode());
 
 2635                        $link->setHTML(
'<font class="small">'.$val.
'</font>');
 
 2636                        $reg_code->addSubItem($link);
 
 2637                        $this->form->addItem($reg_code);
 
 2641                        $time_limit = 
new ilCheckboxInputGUI($this->lng->txt(
'grp_reg_limited'),
'reg_limit_time');
 
 2643                        $time_limit->setChecked($this->object->isRegistrationUnlimited() ? 
false : 
true);
 
 2645                        $this->lng->loadLanguageModule(
'dateplaner');
 
 2646                        include_once 
'./Services/Form/classes/class.ilDateDurationInputGUI.php';
 
 2647                        $tpl->addJavaScript(
'./Services/Form/js/date_duration.js');
 
 2649                        $dur->setStartText($this->lng->txt(
'cal_start'));
 
 2650                        $dur->setEndText($this->lng->txt(
'cal_end'));
 
 2651                        $dur->setShowTime(
true);
 
 2652                        $dur->setStart($this->object->getRegistrationStart());
 
 2653                        $dur->setEnd($this->object->getRegistrationEnd());
 
 2655                        $time_limit->addSubItem($dur);
 
 2656                        $this->form->addItem($time_limit);
 
 2659                        $lim = 
new ilCheckboxInputGUI($this->lng->txt(
'reg_grp_max_members_short'),
'registration_membership_limited');
 
 2662                        $lim->setChecked($this->object->isMembershipLimited());
 
 2665                        $max = 
new ilTextInputGUI($this->lng->txt(
'reg_grp_max_members'),
'registration_max_members');
 
 2666                        $max->setValue($this->object->getMaxMembers() ? $this->object->getMaxMembers() : 
'');
 
 2669                        $max->setMaxLength(4);
 
 2670                        $max->setInfo($this->lng->txt(
'grp_reg_max_members_info'));
 
 2671                        $lim->addSubItem($max);
 
 2676                        $wait->setInfo($this->lng->txt(
'grp_waiting_list_info'));
 
 2677                        $wait->setChecked($this->object->isWaitingListEnabled() ? 
true : 
false);
 
 2678                        $lim->addSubItem($wait);
 
 2679                        $this->form->addItem($lim);
 
 2682                        $hasParentMembership = 
 
 2684                                        $tree->checkForParentType($this->object->getRefId(),
'crs') ||
 
 2685                                        $tree->checkForParentType($this->object->getRefId(),
'grp')
 
 2689                        $pres->setTitle($this->lng->txt(
'grp_setting_header_presentation'));
 
 2690                        $this->form->addItem($pres);
 
 2694                        if($hasParentMembership)
 
 2696                                switch($this->object->getViewMode())
 
 2699                                                $course_view_mode = 
': '.$this->lng->txt(
'cntr_view_sessions');
 
 2703                                                $course_view_mode = 
': '.$this->lng->txt(
'cntr_view_simple');
 
 2707                                                $course_view_mode = 
': '.$this->lng->txt(
'cntr_view_by_type');
 
 2712                                $opt->setInfo($this->lng->txt(
'grp_view_inherit_info'));
 
 2713                                $view_type->addOption($opt);
 
 2716                        if($hasParentMembership &&
 
 2723                                $view_type->setValue($this->object->getViewMode(
true));
 
 2727                        $opt->setInfo($this->lng->txt(
'grp_view_info_simple'));
 
 2728                        $view_type->addOption($opt);
 
 2731                        $opt->setInfo($this->lng->txt(
'grp_view_info_by_type'));
 
 2732                        $view_type->addOption($opt);
 
 2733                        $this->form->addItem($view_type);
 
 2737                        $sorting_settings = array();
 
 2738                        if($hasParentMembership)
 
 2749                        $feat->setTitle($this->lng->txt(
'obj_features'));
 
 2750                        $this->form->addItem($feat);
 
 2752                        include_once 
'./Services/Object/classes/class.ilObjectServiceSettingsGUI.php';
 
 2754                                        $this->object->getId(),
 
 2771                        $mail_type->setValue($this->object->getMailToMembersType());
 
 2774                                $this->lng->txt(
'grp_mail_tutors_only_info'));
 
 2775                        $mail_type->addOption($mail_tutors);
 
 2778                                $this->lng->txt(
'grp_mail_all_info'));
 
 2779                        $mail_type->addOption($mail_all);
 
 2780                        $this->form->addItem($mail_type);
 
 2786                                $this->form->setTitle($this->lng->txt(
'grp_new'));
 
 2789                                $this->form->addCommandButton(
'save',$this->lng->txt(
'grp_new'));
 
 2790                                $this->form->addCommandButton(
'cancel',$this->lng->txt(
'cancel'));
 
 2794                                $this->form->setTitle($this->lng->txt(
'grp_edit'));
 
 2798                                include_once 
'Modules/Group/classes/class.ilECSGroupSettings.php';
 
 2800                                $ecs->addSettingsToForm($this->form, 
'grp');
 
 2802                                $this->form->addCommandButton(
'update',$this->lng->txt(
'save'));
 
 2803                                $this->form->addCommandButton(
'cancel',$this->lng->txt(
'cancel'));
 
 2823                $this->
object->enableUnlimitedRegistration((
bool) !
$_POST[
'reg_limit_time']);
 
 2824                $this->
object->setRegistrationStart($this->
loadDate(
'start'));
 
 2825                $this->
object->setRegistrationEnd($this->
loadDate(
'end'));
 
 2826                $this->
object->enableMembershipLimitation((
bool) 
$_POST[
'registration_membership_limited']);
 
 2827                $this->
object->setMaxMembers((
int) $_POST[
'registration_max_members']);
 
 2828                $this->
object->enableWaitingList((
bool) $_POST[
'waiting_list']);
 
 2829                $this->
object->enableRegistrationAccessCode((
bool) $_POST[
'reg_code_enabled']);
 
 2832                $this->
object->setMailToMembersType((
int) $_POST[
'mail_type']);
 
 2848                include_once(
'./Services/Calendar/classes/class.ilDateTime.php');
 
 2850                $dt[
'year'] = (int) 
$_POST[
'reg'][$a_field][
'date'][
'y'];
 
 2851                $dt[
'mon'] = (int) 
$_POST[
'reg'][$a_field][
'date'][
'm'];
 
 2852                $dt[
'mday'] = (int) 
$_POST[
'reg'][$a_field][
'date'][
'd'];
 
 2853                $dt[
'hours'] = (int) 
$_POST[
'reg'][$a_field][
'time'][
'h'];
 
 2854                $dt[
'minutes'] = (int) 
$_POST[
'reg'][$a_field][
'time'][
'm'];
 
 2855                $dt[
'seconds'] = (int) 
$_POST[
'reg'][$a_field][
'time'][
's'];
 
 2870                global $rbacsystem,
$ilUser,$ilAccess;
 
 2876                                if($ilAccess->checkAccess(
'write',
'',$this->object->getRefId()))
 
 2878                                        $this->tabs_gui->addSubTabTarget(
"grp_edit_members",
 
 2879                                                $this->ctrl->getLinkTarget($this,
'members'),
 
 2884                                $this->tabs_gui->addSubTabTarget(
"grp_members_gallery",
 
 2885                                        $this->ctrl->getLinkTarget($this,
'membersGallery'),
 
 2886                                        "membersGallery", get_class($this));
 
 2889                                include_once(
"./Services/Maps/classes/class.ilMapUtil.php");
 
 2891                                        $this->object->getEnableGroupMap())
 
 2893                                        $this->tabs_gui->addSubTabTarget(
"grp_members_map",
 
 2894                                                $this->ctrl->getLinkTarget($this,
'membersMap'),
 
 2895                                                "membersMap", get_class($this));
 
 2898                                if($ilAccess->checkAccess(
'write',
'',$this->object->getRefId()))
 
 2900                                        $this->tabs_gui->addSubTabTarget(
"events",
 
 2901                                                                                                         $this->ctrl->getLinkTargetByClass(
'ilsessionoverviewgui',
'listSessions'),
 
 2902                                                                                                         "", 
'ilsessionoverviewgui');
 
 2905                                include_once 
'Services/PrivacySecurity/classes/class.ilPrivacySettings.php';
 
 2908                                        $this->tabs_gui->addSubTabTarget(
'grp_export_members',
 
 2909                                                                                                        $this->ctrl->getLinkTargetByClass(
'ilmemberexportgui',
'show'),
 
 2910                                                                                                        "", 
'ilmemberexportgui');
 
 2916                                $this->tabs_gui->addSubTabTarget(
"grp_settings",
 
 2917                                                                                                 $this->ctrl->getLinkTarget($this,
'edit'),
 
 2918                                                                                                 "edit", get_class($this));
 
 2920                                $this->tabs_gui->addSubTabTarget(
"grp_info_settings",
 
 2921                                                                                                 $this->ctrl->getLinkTarget($this,
'editInfo'),
 
 2922                                                                                                 "editInfo", get_class($this));
 
 2925                                if ($this->
ilias->getSetting(
"custom_icons"))
 
 2927                                        $this->tabs_gui->addSubTabTarget(
"grp_icon_settings",
 
 2928                                                                                                         $this->ctrl->getLinkTarget($this,
'editGroupIcons'),
 
 2929                                                                                                         "editGroupIcons", get_class($this));
 
 2932                                include_once(
"./Services/Maps/classes/class.ilMapUtil.php");
 
 2935                                        $this->tabs_gui->addSubTabTarget(
"grp_map_settings",
 
 2936                                                                                                 $this->ctrl->getLinkTarget($this,
'editMapSettings'),
 
 2937                                                                                                 "editMapSettings", get_class($this));
 
 2940                                $this->tabs_gui->addSubTabTarget(
'groupings',
 
 2941                                                                                                 $this->ctrl->getLinkTargetByClass(
'ilobjcoursegroupinggui',
'listGroupings'),
 
 2945                                include_once(
'Services/PrivacySecurity/classes/class.ilPrivacySettings.php');
 
 2946                                include_once(
'Modules/Course/classes/Export/class.ilCourseDefinedFieldDefinition.php');
 
 2950                                        $this->tabs_gui->addSubTabTarget(
'grp_custom_user_fields',
 
 2951                                                                                                        $this->ctrl->getLinkTargetByClass(
'ilobjectcustomuserfieldsgui'),
 
 2953                                                                                                        'ilobjectcustomuserfieldsgui');
 
 2974                if($ilAccess->checkAccess(
'write',
'',$this->object->getRefId()))
 
 2980                if(!$this->object->members_obj->isAssigned(
$ilUser->getId()))
 
 2985                include_once 
'./Services/Container/classes/class.ilMemberViewSettings.php';
 
 2991                include_once(
'Services/PrivacySecurity/classes/class.ilPrivacySettings.php');
 
 2992                include_once(
'Services/Membership/classes/class.ilMemberAgreement.php');
 
 3002                include_once(
'Modules/Course/classes/Export/class.ilCourseUserData.php');
 
 3030                parent::prepareOutput();
 
 3039                $link = chr(13).chr(10).chr(13).chr(10);
 
 3040                $link .= $this->lng->txt(
'grp_mail_permanent_link');
 
 3041                $link .= chr(13).chr(10).chr(13).chr(10);
 
 3042                include_once 
'Services/Link/classes/class.ilLink.php';
 
 3044                return rawurlencode(base64_encode($link));
 
 3051                $lg = parent::initHeaderAction($a_sub_type, $a_sub_id);
 
 3053                include_once(
'./Modules/Group/classes/class.ilGroupParticipants.php');
 
 3057                        if(!
$ilUser->getPref(
"grpcrs_ntf_".$this->ref_id))
 
 3059                                $lg->addHeaderIcon(
"not_icon",
 
 3061                                        $this->lng->txt(
"grp_notification_deactivated"));
 
 3063                                $this->ctrl->setParameter($this, 
"grp_ntf", 1);
 
 3064                                $caption = 
"grp_activate_notification";
 
 3068                                $lg->addHeaderIcon(
"not_icon",
 
 3070                                        $this->lng->txt(
"grp_notification_activated"));
 
 3072                                $this->ctrl->setParameter($this, 
"grp_ntf", 0);
 
 3073                                $caption = 
"grp_deactivate_notification";
 
 3076                        $lg->addCustomCommand($this->ctrl->getLinkTarget($this, 
"saveNotification"),
 
 3080                        $this->ctrl->setParameter($this, 
"grp_ntf", 
"");
 
 3092                $ilTabs->clearTargets();
 
 3093                $ilTabs->setBackTarget($this->lng->txt(
'back'),
 
 3094                        $this->ctrl->getLinkTarget($this, 
'members'));
 
 3097                $form = $list->initForm(
'printMembersOutput');
 
 3098                $this->tpl->setContent($form->getHTML());       
 
 3108                include_once(
'./Modules/Group/classes/class.ilGroupParticipants.php');
 
 3111                include_once(
'./Modules/Group/classes/class.ilGroupWaitingList.php');
 
 3114                include_once 
'Services/Membership/classes/class.ilAttendanceList.php';
 
 3116                $list->setId(
'grpmemlst');
 
 3118                $list->setTitle($this->lng->txt(
'grp_members_print_title'),
 
 3119                        $this->lng->txt(
'obj_grp').
': '.$this->object->getTitle());             
 
 3121                include_once 
'./Services/Tracking/classes/class.ilObjUserTracking.php';
 
 3124                if($this->show_tracking)
 
 3126                        include_once(
'./Services/Object/classes/class.ilObjectLP.php');
 
 3128                        $this->show_tracking = $olp->isActive();
 
 3130                if($this->show_tracking)
 
 3132                        $this->lng->loadLanguageModule(
'trac');         
 
 3133                        $list->addPreset(
'progress', $this->lng->txt(
'learning_progress'), 
true);
 
 3136                include_once(
'./Services/PrivacySecurity/classes/class.ilPrivacySettings.php');
 
 3138                if($privacy->enabledGroupAccessTimes())
 
 3140                        $list->addPreset(
'access', $this->lng->txt(
'last_access'), 
true);
 
 3148                $data = $this->members_data[$a_user_id];
 
 3150                $data[
'progress'] = $this->lng->txt(
$data[
'progress']);
 
 3158                $list->initFromForm();
 
 3159                $list->setCallback(array($this, 
'getAttendanceListUserData'));  
 
 3162                $this->members_data = $this->
readMemberData($part->getParticipants());
 
 3163                $list->getNonMemberUserData($this->members_data);
 
 3165                echo $list->getFullscreenHTML();
 
 3175                $local_roles = $this->
object->getLocalGroupRoles(
false);
 
 3176                $grp_member = $this->
object->getDefaultMemberRole();
 
 3177                $grp_roles = array();
 
 3180                if(in_array($grp_member, $local_roles))
 
 3183                        unset($local_roles[$grp_roles[$grp_member]]);
 
 3186                foreach($local_roles as $title => $role_id)
 
 3203                global $ilAccess, 
$ilUser, $rbacsystem;
 
 3204                include_once 
'Services/Mail/classes/class.ilMail.php';
 
 3208                ($ilAccess->checkAccess(
'write',
'',$this->object->getRefId()) or
 
 3210                        $rbacsystem->checkAccess(
'internal_mail',$mail->getMailObjectReferenceId()))
 
 3215                                $ilToolbar->addSeparator();
 
 3220                                $this->ctrl->setParameter($this, 
"back_cmd", $back_cmd);
 
 3223                        $ilToolbar->addButton($this->lng->txt(
"mail_members"),
 
 3224                                $this->ctrl->getLinkTarget($this,
'mailMembers'));
 
 3230                if(!is_array(
$_POST[
"subscribers"]))
 
 3238                $this->lng->loadLanguageModule(
'mmbr');
 
 3242                $this->tabs_gui->setTabActive(
'members');
 
 3243                $this->tabs_gui->setSubTabActive(
'grp_edit_members');
 
 3245                include_once(
"Services/Utilities/classes/class.ilConfirmationGUI.php");
 
 3249                $c_gui->setFormAction($this->ctrl->getFormAction($this, 
"refuseSubscribers"));
 
 3250                $c_gui->setHeaderText($this->lng->txt(
"info_refuse_sure"));
 
 3251                $c_gui->setCancel($this->lng->txt(
"cancel"), 
"members");
 
 3252                $c_gui->setConfirm($this->lng->txt(
"confirm"), 
"refuseSubscribers");
 
 3254                foreach(
$_POST[
"subscribers"] as $subscribers)
 
 3258                        $c_gui->addItem(
'subscribers[]',
 
 3260                                                        $name[
'lastname'].
', '.$name[
'firstname'].
' ['.$name[
'login'].
']',
 
 3264                $this->tpl->setContent($c_gui->getHTML());
 
 3269                if(!is_array(
$_POST[
"subscribers"]))
 
 3278                $this->tabs_gui->setTabActive(
'members');
 
 3279                $this->tabs_gui->setSubTabActive(
'grp_edit_members');
 
 3281                include_once(
"Services/Utilities/classes/class.ilConfirmationGUI.php");
 
 3285                $c_gui->setFormAction($this->ctrl->getFormAction($this, 
"assignSubscribers"));
 
 3286                $c_gui->setHeaderText($this->lng->txt(
"info_assign_sure"));
 
 3287                $c_gui->setCancel($this->lng->txt(
"cancel"), 
"members");
 
 3288                $c_gui->setConfirm($this->lng->txt(
"confirm"), 
"assignSubscribers");
 
 3290                foreach(
$_POST[
"subscribers"] as $subscribers)
 
 3294                        $c_gui->addItem(
'subscribers[]',
 
 3296                                                        $name[
'lastname'].
', '.$name[
'firstname'].
' ['.$name[
'login'].
']',
 
 3300                $this->tpl->setContent($c_gui->getHTML());
 
 3306                if(!is_array(
$_POST[
"waiting"]))
 
 3314                $this->lng->loadLanguageModule(
'mmbr');
 
 3318                $this->tabs_gui->setTabActive(
'members');
 
 3319                $this->tabs_gui->setSubTabActive(
'grp_edit_members');
 
 3321                include_once(
"Services/Utilities/classes/class.ilConfirmationGUI.php");
 
 3325                $c_gui->setFormAction($this->ctrl->getFormAction($this, 
"refuseFromList"));
 
 3326                $c_gui->setHeaderText($this->lng->txt(
"info_refuse_sure"));
 
 3327                $c_gui->setCancel($this->lng->txt(
"cancel"), 
"members");
 
 3328                $c_gui->setConfirm($this->lng->txt(
"confirm"), 
"refuseFromList");
 
 3330                foreach(
$_POST[
"waiting"] as $waiting)
 
 3334                        $c_gui->addItem(
'waiting[]',
 
 3336                                                        $name[
'lastname'].
', '.$name[
'firstname'].
' ['.$name[
'login'].
']',
 
 3340                $this->tpl->setContent($c_gui->getHTML());
 
 3346                if(!is_array(
$_POST[
"waiting"]))
 
 3355                $this->tabs_gui->setTabActive(
'members');
 
 3356                $this->tabs_gui->setSubTabActive(
'grp_edit_members');
 
 3358                include_once(
"Services/Utilities/classes/class.ilConfirmationGUI.php");
 
 3362                $c_gui->setFormAction($this->ctrl->getFormAction($this, 
"assignFromWaitingList"));
 
 3363                $c_gui->setHeaderText($this->lng->txt(
"info_assign_sure"));
 
 3364                $c_gui->setCancel($this->lng->txt(
"cancel"), 
"members");
 
 3365                $c_gui->setConfirm($this->lng->txt(
"confirm"), 
"assignFromWaitingList");
 
 3367                foreach(
$_POST[
"waiting"] as $waiting)
 
 3371                        $c_gui->addItem(
'waiting[]',
 
 3373                                                        $name[
'lastname'].
', '.$name[
'firstname'].
' ['.$name[
'login'].
']',
 
 3377                $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.
showRepTree($a_initial_call=false)
Show tree.
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 _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 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.
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
membersGalleryObject()
Builds a group members gallery as a layer of left-floating images.
confirmDeleteMembersObject()
delete selected members
exportObject()
Creates the output form for group member export.
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
mailMembersObject()
Form for mail to group members.
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
_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
static _getIdsForTitle($title, $type='', $partialmatch=false)
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())
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.
static formCheckbox($checked, $varname, $value, $disabled=false)
??? @access public
static sendQuestion($a_info="", $a_keep=false)
Send Question to Screen.
static sortArray($array, $a_array_sortby, $a_array_sortorder=0, $a_numeric=false, $a_keep_keys=false)
sortArray
static sendSuccess($a_info="", $a_keep=false)
Send Success Message to Screen.
static getStyleSheetLocation($mode="output", $a_css_name="", $a_css_location="")
get full style sheet file name (path inclusive) of current user
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.
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']