4include_once(
'./Services/Object/classes/class.ilObjectGUI.php');
 
    5include_once(
'./Modules/Session/classes/class.ilObjSession.php');
 
    6include_once(
'./Modules/Session/classes/class.ilSessionFile.php');
 
    7include_once 
'./Services/PersonalDesktop/interfaces/interface.ilDesktopItemHandling.php';
 
   44        public function __construct($a_data, $a_id, $a_call_by_reference, $a_prepare_output = 
true)
 
   49                parent::__construct($a_data,$a_id,$a_call_by_reference,$a_prepare_output);
 
   52                $this->lng->loadLanguageModule(
"event");
 
   53                $this->lng->loadLanguageModule(
'crs');
 
   54                $this->lng->loadLanguageModule(
'trac');
 
   55                $this->lng->loadLanguageModule(
'sess');
 
   61                $this->logger = 
$GLOBALS[
'DIC']->logger()->sess();
 
   75                $next_class = $this->ctrl->getNextClass($this);
 
   76                $cmd = $this->ctrl->getCmd();
 
   80                        $GLOBALS[
'DIC']->access()->checkAccess(
'read',
'', 
$_GET[
'ref_id'])
 
   83                        include_once(
"./Services/Link/classes/class.ilLink.php");
 
   84                        $GLOBALS[
'DIC'][
'ilNavigationHistory']->addItem(
 
   85                                (
int) 
$_GET[
'ref_id'],
 
   94                        case "ilinfoscreengui":
 
   99                        case 'ilpermissiongui':
 
  100                                $this->tabs_gui->setTabActive(
'perm_settings');
 
  101                                include_once(
"Services/AccessControl/classes/class.ilPermissionGUI.php");
 
  103                                $ret = $this->ctrl->forwardCommand($perm_gui);
 
  106                        case 'ilobjectcopygui':
 
  107                                include_once 
'./Services/Object/classes/class.ilObjectCopyGUI.php';
 
  109                                $cp->setType(
'sess');
 
  110                                $this->ctrl->forwardCommand($cp);
 
  115                                $this->tabs_gui->setTabActive(
"export");
 
  116                                include_once(
"./Services/Export/classes/class.ilExportGUI.php");
 
  118                                $exp_gui->addFormat(
"xml");
 
  119                                $ret = $this->ctrl->forwardCommand($exp_gui);
 
  123                        case "ilcommonactiondispatchergui":
 
  124                                include_once(
"Services/Object/classes/class.ilCommonActionDispatcherGUI.php");
 
  126                                $this->ctrl->forwardCommand($gui);
 
  129                        case 'ilmembershipgui':                         
 
  130                                $this->ctrl->setReturn($this,
'members');
 
  131                                include_once 
'./Services/Membership/classes/class.ilMembershipMailGUI.php';
 
  133                                $this->ctrl->forwardCommand($mem);
 
  136                        case "illearningprogressgui":
 
  137                                include_once 
'./Services/Tracking/classes/class.ilLearningProgressGUI.php';
 
  139                                                                                                          $this->object->getRefId(),
 
  141                                $this->ctrl->forwardCommand($new_gui);
 
  142                                $this->tabs_gui->setTabActive(
'learning_progress');
 
  151                                if (
$cmd != 
"infoScreenObject")
 
  183        parent::prepareOutput($a_show_subobjects);
 
  187                        $title = strlen($this->object->getTitle()) ? (
': '.$this->object->getTitle()) : 
''; 
 
  189                        include_once 
'./Modules/Session/classes/class.ilSessionAppointment.php';
 
  190                        $this->tpl->setTitle(
 
  191                                $this->object->getFirstAppointment()->appointmentToString().$title);
 
  208                include_once 
'./Services/Membership/classes/class.ilParticipants.php';
 
  211                include_once 
'./Modules/Session/classes/class.ilEventParticipants.php';
 
  216                        (count($event_part->getRegistered()) >= $this->getCurrentObject()->getRegistrationMaxUsers())
 
  219                        include_once 
'./Modules/Session/classes/class.ilSessionWaitingList.php';
 
  221                        $wait->addToList(
$ilUser->getId());
 
  223                        $this->ctrl->redirect($this,
'infoScreen');
 
  231                                $this->ctrl->redirect($this,
'info');
 
  237                                $this->ctrl->redirect($this,
'infoScreen');
 
  242                                $part->addSubscriber(
$ilUser->getId());
 
  243                                $this->ctrl->redirect($this,
'infoScreen');
 
  258                if($ilUser->isAnonymous())
 
  260                        $this->ctrl->redirect($this,
'infoScreen');
 
  263                include_once 
'./Modules/Session/classes/class.ilEventParticipants.php';
 
  277                $this->ctrl->redirect($this,
'infoScreen');
 
  290                include_once 
'./Modules/Session/classes/class.ilSessionParticipants.php';
 
  292                if($part->isSubscriber(
$ilUser->getId()))
 
  294                        $part->deleteSubscriber(
$ilUser->getId());
 
  297                include_once 
'./Modules/Session/classes/class.ilEventParticipants.php';
 
  300                include_once 
'./Modules/Session/classes/class.ilSessionWaitingList.php';
 
  304                $this->ctrl->returnToParent($this);
 
  315        public static function _goto($a_target)
 
  319                if($ilAccess->checkAccess(
'visible', 
"", $a_target))
 
  331                include_once 
'./Services/PersonalDesktop/classes/class.ilDesktopItemGUI.php';
 
  341                include_once 
'./Services/PersonalDesktop/classes/class.ilDesktopItemGUI.php';
 
  354                $this->ctrl->setCmd(
"showSummary");
 
  355                $this->ctrl->setCmdClass(
"ilinfoscreengui");
 
  371                if ($course_ref_id = 
$tree->checkForParentType($this->object->getRefId(),
'crs'))
 
  374                        include_once 
"Services/Object/classes/class.ilObjectActivation.php";
 
  377                        include_once(
"./Modules/Course/classes/class.ilObjCourse.php");
 
  378                        include_once(
"./Modules/Course/classes/class.ilObjCourseGUI.php");                      
 
  388                                $this->object->getRefId());
 
  404                include_once 
'./Modules/Session/classes/class.ilSessionWaitingList.php';
 
  406                include_once 
'./Services/Membership/classes/class.ilParticipants.php';
 
  409                include_once 
'./Modules/Session/classes/class.ilEventParticipants.php';
 
  412                        $ilToolbar->addFormButton($this->lng->txt(
'event_unregister'),
'unregister');
 
  413                        $ilToolbar->setFormAction($this->ctrl->getFormAction($this));
 
  416                elseif($part->isSubscriber(
$ilUser->getId()))
 
  418                        $ilToolbar->addFormButton($this->lng->txt(
'event_unregister'),
'unregister');
 
  419                        $ilToolbar->setFormAction($this->ctrl->getFormAction($this));
 
  424                        $ilToolbar->addFormButton($this->lng->txt(
'leave_waiting_list'),
'unregister');
 
  425                        $ilToolbar->setFormAction($this->ctrl->getFormAction($this));
 
  434                        (count($event_part->getRegistered()) >= $this->getCurrentObject()->getRegistrationMaxUsers())
 
  440                                $ilToolbar->addFormButton($this->lng->txt(
'mem_add_to_wl'),
'register');
 
  441                                $ilToolbar->setFormAction($this->ctrl->getFormAction($this));
 
  455                                $ilToolbar->addFormButton($this->lng->txt(
'join_session'),
'register', 
'', 
true);
 
  456                                $ilToolbar->setFormAction($this->ctrl->getFormAction($this));
 
  476                $this->tabs_gui->setTabActive(
'info_short');
 
  478                $appointment_obj = $this->
object->getFirstAppointment();
 
  480                include_once(
"./Services/InfoScreen/classes/class.ilInfoScreenGUI.php");
 
  486                if(strlen($this->object->getLocation()) or strlen($this->object->getDetails()))
 
  488                        $info->addSection($this->lng->txt(
'event_section_information'));
 
  490                if(strlen(
$location = $this->object->getLocation()))
 
  492                        $info->addProperty($this->lng->txt(
'event_location'),
 
  493                                                           nl2br($this->object->getLocation()));
 
  495                if(strlen($this->object->getDetails()))
 
  497                        $info->addProperty($this->lng->txt(
'event_details_workflow'),
 
  498                                                           nl2br($this->object->getDetails()));
 
  502                if($this->object->hasTutorSettings())
 
  504                        $info->addSection($this->lng->txt(
'event_tutor_data'));
 
  505                        if(strlen($fullname = $this->object->getName()))
 
  507                                $info->addProperty($this->lng->txt(
'event_lecturer'),
 
  510                        if(strlen($email = $this->object->getEmail()))
 
  512                                $info->addProperty($this->lng->txt(
'tutor_email'),
 
  515                        if(strlen($phone = $this->object->getPhone()))
 
  517                                $info->addProperty($this->lng->txt(
'tutor_phone'),
 
  525                include_once 
'./Services/Object/classes/class.ilObjectActivation.php';          
 
  526                include_once 
'./Services/Container/classes/class.ilContainerSorting.php';       
 
  527                include_once 
'./Modules/Session/classes/class.ilSessionObjectListGUIFactory.php';
 
  530                $parent_id = 
$tree->getParentId($this->object->getRefId());
 
  534                        $this->object->getId(),
 
  538                $lng->loadLanguageModule(
"cntr");
 
  540                foreach($eventItems as $item)
 
  543                        $list_gui->setContainerObject($this);
 
  547                        $html .= $list_gui->getListItemHTML(
 
  557                        $info->addSection($this->lng->txt(
'event_materials'));
 
  564                $this->ctrl->forwardCommand(
$info);
 
  567                require_once 
'Services/Tracking/classes/class.ilChangeEvent.php';
 
  569                        $this->object->getId(), 
$ilUser->getId());
 
  587                if(!is_object($this->
object))
 
  606                $this->ctrl->setParameter($this,
'ref_id',$this->object->getRefId());
 
  607                $this->ctrl->setParameter($this,
'new_type', 
'');
 
  608                $this->ctrl->redirect($this,
'materials');
 
  624                $this->ctrl->saveParameter($this, 
"new_type");
 
  627                $ilErr->setMessage(
'');
 
  628                if(!$this->form->checkInput())
 
  630                        $ilErr->setMessage($this->lng->txt(
'err_check_input'));
 
  636                $this->
object->validate();
 
  637                $this->
object->getFirstAppointment()->validate();
 
  639                if(strlen(
$ilErr->getMessage()))
 
  642                        $this->form->setValuesByPost();
 
  647                $this->
object->create();
 
  648                $this->
object->createReference();
 
  649                $this->
object->putInTree(
$_GET[
"ref_id"]);
 
  650                $this->
object->setPermissions(
$_GET[
"ref_id"]);
 
  653                if(!$this->form->getInput(
"lp_preset"))
 
  655                        include_once 
"Services/Tracking/classes/class.ilLPObjSettings.php";
 
  658                        $lp_obj_settings->update(
false);
 
  662                $this->
object->getFirstAppointment()->setSessionId($this->object->getId());
 
  663                $this->
object->getFirstAppointment()->create();
 
  669                if($a_redirect_on_success) 
 
  672                        $this->ctrl->returnToParent($this);
 
  683                include_once 
'./Modules/Session/classes/class.ilEventItems.php';
 
  685                $items = $ev->getItems();
 
  690                        if(!isset($_FILES[
'files'][
'name'][
$counter]))
 
  694                        if(!strlen($_FILES[
'files'][
'name'][
$counter]))
 
  700                        include_once 
'./Modules/File/classes/class.ilObjFile.php';
 
  703                        $file->setDescription(
'');
 
  708                        $new_ref_id = 
$file->createReference();
 
  709                        $file->putInTree(
$tree->getParentId($this->object->getRefId()));
 
  710                        $file->setPermissions(
$tree->getParentId($this->object->getRefId()));
 
  711                        $file->createDirectory();
 
  712                        $file->getUploadFile(
 
  713                                $_FILES[
'files'][
'tmp_name'][
$counter],
 
  717                        $items[] = $new_ref_id;
 
  722                $ev->setItems($items);
 
  739                if(!$this->rec->getFrequenceType())
 
  743                include_once(
'./Services/Calendar/classes/class.ilCalendarRecurrenceCalculator.php');
 
  746                $period_start = clone $this->
object->getFirstAppointment()->getStart();
 
  749                $period_end = clone $this->
object->getFirstAppointment()->getStart();
 
  751                $date_list = $calc->calculateDateList($period_start,$period_end);
 
  753                $period_diff = $this->
object->getFirstAppointment()->getEnd()->get(
IL_CAL_UNIX) - 
 
  754                        $this->
object->getFirstAppointment()->getStart()->get(
IL_CAL_UNIX);
 
  755                $parent_id = 
$tree->getParentId($this->object->getRefId());
 
  757                include_once 
'./Modules/Session/classes/class.ilEventItems.php';
 
  759                $eitems = $evi->getItems(); 
 
  762                foreach($date_list->get() as $date)
 
  769                        $new_obj = $this->
object->cloneObject($parent_id);
 
  771                        $new_obj->getFirstAppointment()->setStartingTime($date->get(
IL_CAL_UNIX));
 
  772                        $new_obj->getFirstAppointment()->setEndingTime($date->get(
IL_CAL_UNIX) + $period_diff);
 
  773                        $new_obj->getFirstAppointment()->update();
 
  779                                include_once 
"Services/Tracking/classes/class.ilLPObjSettings.php";
 
  782                                $lp_obj_settings->update(
false);
 
  786                        $new_evi->setItems($eitems);
 
  801                $this->tabs_gui->setTabActive(
'settings');
 
  804                $this->tpl->addBlockFile(
'ADM_CONTENT',
'adm_content',
'tpl.sess_edit.html',
'Modules/Session');
 
  805                $this->tpl->setVariable(
'EVENT_EDIT_TABLE',$this->form->getHTML());
 
  807                if(!count($this->object->getFiles()))           
 
  812                foreach($this->object->getFiles() as 
$file)
 
  814                        $table_data[
'id'] = 
$file->getFileId();
 
  815                        $table_data[
'filename'] = 
$file->getFileName();
 
  816                        $table_data[
'filetype'] = 
$file->getFileType();
 
  817                        $table_data[
'filesize'] = 
$file->getFileSize();
 
  819                        $rows[] = $table_data; 
 
  822                include_once(
"./Modules/Session/classes/class.ilSessionFileTableGUI.php");
 
  824                $table_gui->setTitle($this->lng->txt(
"event_files"));
 
  825                $table_gui->setData($rows);
 
  826                $table_gui->addCommandButton(
"cancel", $this->lng->txt(
"cancel"));
 
  827                $table_gui->addMultiCommand(
"confirmDeleteFiles", $this->lng->txt(
"delete"));
 
  828                $table_gui->setSelectAllCheckbox(
"file_id");
 
  829                $this->tpl->setVariable(
'EVENT_FILE_TABLE',$table_gui->getHTML());
 
  845                $old_autofill = $this->
object->hasWaitingListAutoFill();
 
  848                $ilErr->setMessage(
'');
 
  849                if(!$this->form->checkInput())
 
  851                        $ilErr->setMessage($this->lng->txt(
'err_check_input'));
 
  856                $this->
object->validate();
 
  857                $this->
object->getFirstAppointment()->validate();
 
  859                if(strlen(
$ilErr->getMessage()))
 
  866                $this->
object->update();
 
  867                $this->
object->getFirstAppointment()->update();                         
 
  873                        $this->object->hasWaitingListAutoFill())
 
  875                        $this->
object->handleAutoFill();
 
  879                $this->ctrl->redirect($this,
'edit');
 
  880                #$this->object->initFiles(); 
  881                #$this->editObject(); 
  894                $this->tabs_gui->setTabActive(
'settings');
 
  896                if(!count(
$_POST[
'file_id']))
 
  903                include_once(
"Services/Utilities/classes/class.ilConfirmationGUI.php");
 
  907                $c_gui->setFormAction($this->ctrl->getFormAction($this, 
"deleteFiles"));
 
  908                $c_gui->setHeaderText($this->lng->txt(
"info_delete_sure"));
 
  909                $c_gui->setCancel($this->lng->txt(
"cancel"), 
"edit");
 
  910                $c_gui->setConfirm($this->lng->txt(
"confirm"), 
"deleteFiles");
 
  913                foreach(
$_POST[
"file_id"] as $file_id)
 
  916                        if(
$file->getSessionId() != $this->object->getEventId())
 
  922                        $c_gui->addItem(
"file_id[]", $file_id, 
$file->getFileName());
 
  925                $this->tpl->setContent($c_gui->getHTML());
 
  938                if(!count(
$_POST[
'file_id']))
 
  944                foreach(
$_POST[
'file_id'] as $id)
 
  949                $this->
object->initFiles();
 
  958                $is_course = $is_group = 
false;
 
  961                $this->container_ref_id = 
$tree->checkForParentType($this->object->getRefId(),
'grp');
 
  962                if($this->container_ref_id)
 
  966                if(!$this->container_ref_id)
 
  968                        $this->container_ref_id = 
$tree->checkForParentType($this->object->getRefId(),
'crs');
 
  969                        if($this->container_ref_id)
 
  974                if(!$this->container_ref_id)
 
  981                if($a_init_participants && $this->container_obj_id)
 
  985                                include_once 
'./Modules/Course/classes/class.ilCourseParticipants.php';
 
  990                                include_once 
'./Modules/Group/classes/class.ilGroupParticipants.php';
 
 1008                $this->tabs_gui->setTabActive(
'crs_materials');
 
 1011                $parent_ref_id = 
$tree->getParentId($this->object->getRefId());
 
 1013                include_once 
"Services/Object/classes/class.ilObjectAddNewItemGUI.php";
 
 1015                $gui->setDisabledObjectTypes(array(
"itgr", 
"sess"));
 
 1016                $gui->setAfterCreationCallback($this->ref_id);
 
 1019                include_once 
'Modules/Session/classes/class.ilEventItems.php';
 
 1020                $this->event_items = 
new ilEventItems($this->object->getId());
 
 1022                include_once 
'Modules/Session/classes/class.ilSessionMaterialsTableGUI.php';
 
 1024                $tbl->setTitle($this->lng->txt(
"event_assign_materials_table"));
 
 1025                $tbl->setDescription($this->lng->txt(
'event_assign_materials_info'));
 
 1027                $tbl->setMaterialItems($this->event_items->getItems());
 
 1029                $tbl->getDataFromDb();
 
 1031                $this->tpl->setContent(
$tbl->getHTML());
 
 1043                include_once 
'./Modules/Session/classes/class.ilEventItems.php';
 
 1045                $this->event_items = 
new ilEventItems($this->object->getId());
 
 1047                $list_items = is_array(
$_POST[
'all_items']) ? 
$_POST[
'all_items'] : array();
 
 1048                $list_items_checked = is_array(
$_POST[
'items']) ? 
$_POST[
'items'] : array();
 
 1050                $checked = $this->event_items->getItems();
 
 1051                $checked = array_diff($checked, $list_items);
 
 1052                $checked = array_merge($checked, $list_items_checked);
 
 1054                $this->event_items->setItems($checked);
 
 1055                $this->event_items->update();
 
 1057                include_once 
'Modules/Session/classes/class.ilSessionMaterialsTableGUI.php';
 
 1060                $tbl->storeNavParameter();
 
 1063                $this->ctrl->redirect($this,
'materials');
 
 1075                $this->tabs_gui->setTabActive(
'event_edit_members');
 
 1077                $this->tpl->addBlockFile(
'ADM_CONTENT', 
'adm_content', 
'tpl.sess_members.html', 
'Modules/Session');
 
 1079                include_once 
'./Services/UIComponent/Toolbar/classes/class.ilToolbarGUI.php';
 
 1081                $toolbar->addButton($this->lng->txt(
'crs_print_list'),
 
 1082                        $this->ctrl->getLinkTarget($this,
'attendanceList'));            
 
 1084                $this->tpl->setVariable(
'ACTION_BUTTONS',$toolbar->getHTML());
 
 1088                include_once 
'./Modules/Session/classes/class.ilEventParticipants.php'; 
 
 1094                include_once(
'./Modules/Session/classes/class.ilSessionWaitingList.php');
 
 1096                if(count($wait = $waiting_list->getAllUsers()))
 
 1098                        include_once(
'./Services/Membership/classes/class.ilWaitingListTableGUI.php');
 
 1099                        if(
$ilUser->getPref(
'sess_wait_hide'))
 
 1102                                $this->ctrl->setParameter($this,
'wait_hide',0);
 
 1103                                $table_gui->addHeaderCommand($this->ctrl->getLinkTarget($this,
'members'),
 
 1104                                        $this->lng->txt(
'show'));
 
 1105                                $this->ctrl->clearParameters($this);
 
 1110                                $this->ctrl->setParameter($this,
'wait_hide',1);
 
 1111                                $table_gui->addHeaderCommand($this->ctrl->getLinkTarget($this,
'members'),
 
 1112                                        $this->lng->txt(
'hide'));
 
 1113                                $this->ctrl->clearParameters($this);
 
 1115                        $table_gui->setUsers($wait);
 
 1116                        $table_gui->setTitle($this->lng->txt(
'grp_header_waiting_list'),
'icon_usr.svg',$this->lng->txt(
'group_new_registrations'));
 
 1117                        $this->tpl->setVariable(
'TABLE_WAIT',$table_gui->getHTML());
 
 1122                include_once 
'./Services/Membership/classes/class.ilParticipants.php';
 
 1124                if($part->getSubscribers())
 
 1126                        include_once(
'./Services/Membership/classes/class.ilSubscriberTableGUI.php');
 
 1127                        if(
$ilUser->getPref(
'grp_subscriber_hide'))
 
 1130                                $this->ctrl->setParameter($this,
'subscriber_hide',0);
 
 1131                                $table_gui->addHeaderCommand($this->ctrl->getLinkTarget($this,
'members'),
 
 1132                                        $this->lng->txt(
'show'));
 
 1133                                $this->ctrl->clearParameters($this);
 
 1138                                $this->ctrl->setParameter($this,
'subscriber_hide',1);
 
 1139                                $table_gui->addHeaderCommand($this->ctrl->getLinkTarget($this,
'members'),
 
 1140                                        $this->lng->txt(
'hide'));
 
 1141                                $this->ctrl->clearParameters($this);
 
 1143                        $table_gui->readSubscriberData();
 
 1144                        $table_gui->setTitle($this->lng->txt(
'sess_new_registrations'),
'icon_usr.svg',$this->lng->txt(
'sess_new_registrations'));
 
 1145                        $this->tpl->setVariable(
'TABLE_SUB',$table_gui->getHTML());
 
 1150                if(count($admins = $members_obj->getAdmins()))
 
 1152                        include_once(
'./Modules/Session/classes/class.ilSessionParticipantsTableGUI.php');
 
 1153                        if(
$ilUser->getPref(
'sess_admin_hide'))
 
 1156                                $this->ctrl->setParameter($this,
'admin_hide',0);
 
 1157                                $table->addHeaderCommand($this->ctrl->getLinkTarget($this,
'members'),
 
 1158                                        $this->lng->txt(
'show'));
 
 1159                                $this->ctrl->clearParameters($this);
 
 1164                                $this->ctrl->setParameter($this,
'admin_hide',1);
 
 1165                                $table->addHeaderCommand($this->ctrl->getLinkTarget($this,
'members'),
 
 1166                                        $this->lng->txt(
'hide'));
 
 1167                                $this->ctrl->clearParameters($this);
 
 1170                        $table->addCommandButton(
'updateMembers',$this->lng->txt(
'save'));
 
 1171                        $table->setTitle($this->lng->txt(
'event_tbl_admins'),
'icon_usr.svg',$this->lng->txt(
'event_tbl_admins'));
 
 1172                        $table->enableRegistration($this->object->enabledRegistration());
 
 1173                        $table->setParticipants($admins);
 
 1175                        $this->tpl->setVariable(
'ADMINS',$table->getHTML());
 
 1179                if(count($tutors = $members_obj->getTutors()))
 
 1181                        include_once(
'./Modules/Session/classes/class.ilSessionParticipantsTableGUI.php');
 
 1182                        if(
$ilUser->getPref(
'sess_tutor_hide'))
 
 1185                                $this->ctrl->setParameter($this,
'tutor_hide',0);
 
 1186                                $table->addHeaderCommand($this->ctrl->getLinkTarget($this,
'members'),
 
 1187                                        $this->lng->txt(
'show'));
 
 1188                                $this->ctrl->clearParameters($this);
 
 1193                                $this->ctrl->setParameter($this,
'tutor_hide',1);
 
 1194                                $table->addHeaderCommand($this->ctrl->getLinkTarget($this,
'members'),
 
 1195                                        $this->lng->txt(
'hide'));
 
 1196                                $this->ctrl->clearParameters($this);
 
 1198                        $table->addCommandButton(
'updateMembers',$this->lng->txt(
'save'));
 
 1199                        $table->setTitle($this->lng->txt(
'event_tbl_tutors'),
'icon_usr.svg',$this->lng->txt(
'event_tbl_tutors'));
 
 1200                        $table->enableRegistration($this->object->enabledRegistration());
 
 1201                        $table->setParticipants($tutors);
 
 1203                        $this->tpl->setVariable(
'TUTORS',$table->getHTML());
 
 1207                if(count($members = $members_obj->getMembers()))
 
 1209                        include_once(
'./Modules/Session/classes/class.ilSessionParticipantsTableGUI.php');
 
 1210                        if(
$ilUser->getPref(
'sess_member_hide'))
 
 1213                                $this->ctrl->setParameter($this,
'member_hide',0);
 
 1214                                $table->addHeaderCommand($this->ctrl->getLinkTarget($this,
'members'),
 
 1215                                        $this->lng->txt(
'show'));
 
 1216                                $this->ctrl->clearParameters($this);
 
 1221                                $this->ctrl->setParameter($this,
'member_hide',1);
 
 1222                                $table->addHeaderCommand($this->ctrl->getLinkTarget($this,
'members'),
 
 1223                                        $this->lng->txt(
'hide'));
 
 1224                                $this->ctrl->clearParameters($this);
 
 1226                        $table->addCommandButton(
'updateMembers',$this->lng->txt(
'save'));
 
 1227                        $table->setTitle($this->lng->txt(
'event_tbl_members'),
'icon_usr.svg',$this->lng->txt(
'event_tbl_members'));
 
 1228                        $table->enableRegistration($this->object->enabledRegistration());
 
 1229                        $table->setParticipants($members);
 
 1231                        $this->tpl->setVariable(
'MEMBERS',$table->getHTML());
 
 1235                $GLOBALS[
'lng']->loadLanguageModule(
'mmbr');
 
 1236                $this->tpl->setVariable(
'FORMACTION',$this->ctrl->getFormAction($this));
 
 1237                $this->tpl->setVariable(
'TXT_SELECTED_USER',$this->lng->txt(
'mmbr_selected_users'));
 
 1238                $this->tpl->setVariable(
'BTN_FOOTER_MAIL',$this->lng->txt(
'mmbr_btn_mail_selected_users'));
 
 1252                if(isset(
$_GET[
'admin_hide']))
 
 1254                        $ilUser->writePref(
'sess_admin_hide',(
int) 
$_GET[
'admin_hide']);
 
 1256                if(isset(
$_GET[
'tutor_hide']))
 
 1258                        $ilUser->writePref(
'sess_tutor_hide',(
int) 
$_GET[
'tutor_hide']);
 
 1260                if(isset(
$_GET[
'member_hide']))
 
 1262                        $ilUser->writePref(
'sess_member_hide',(
int) 
$_GET[
'member_hide']);
 
 1283                $_POST[
'participants'] = is_array(
$_POST[
'participants']) ? 
$_POST[
'participants'] : array();
 
 1284                $_POST[
'registered'] = is_array(
$_POST[
'registered']) ? 
$_POST[
'registered'] : array();
 
 1286                include_once 
'Modules/Session/classes/class.ilEventParticipants.php';
 
 1288                $visible = 
$_POST[
'visible_participants'] ? 
$_POST[
'visible_participants'] : array();
 
 1289                foreach($visible as $user)
 
 1292                        $part->setUserId($user);
 
 1295                        $part->setParticipated(isset(
$_POST[
'participants'][$user]) ? 
true : 
false);
 
 1296                        $part->setRegistered(isset(
$_POST[
'registered'][$user]) ? 
true : 
false);
 
 1297                        $part->updateUser();
 
 1311                global 
$tpl,$ilTabs;
 
 1314                $ilTabs->setTabActive(
'event_edit_members');    
 
 1317                $form = $list->initForm(
'printAttendanceList');
 
 1318                $tpl->setContent($form->getHTML());             
 
 1330                include_once 
'Services/Membership/classes/class.ilAttendanceList.php';
 
 1335                $list->setId(
'sessattlst');
 
 1337                $event_app = $this->
object->getFirstAppointment();                               
 
 1341                $desc .= 
" ".$this->object->getTitle(); 
 
 1342                $list->setTitle($this->lng->txt(
'sess_attendance_list'), $desc);                
 
 1344                $list->addPreset(
'mark', $this->lng->txt(
'trac_mark'), 
true);
 
 1345                $list->addPreset(
'comment', $this->lng->txt(
'trac_comment'), 
true);             
 
 1346                if($this->object->enabledRegistration())
 
 1348                        $list->addPreset(
'registered', $this->lng->txt(
'event_tbl_registered'), 
true);                  
 
 1350                $list->addPreset(
'participated', $this->lng->txt(
'event_tbl_participated'), 
true);              
 
 1351                $list->addBlank($this->lng->txt(
'sess_signature'));
 
 1353                $list->addUserFilter(
'registered', $this->lng->txt(
'event_list_registered_only'));
 
 1368                $list->initFromForm();                                  
 
 1369                $list->setCallback(array($this, 
'getAttendanceListUserData'));
 
 1371                include_once 
'Modules/Session/classes/class.ilEventParticipants.php';
 
 1374                echo $list->getFullscreenHTML();
 
 1389                $data = $this->event_part->getUser($a_user_id); 
 
 1391                if($a_filters && $a_filters[
"registered"] && !
$data[
"registered"])
 
 1397                        $this->lng->txt(
'yes') : 
 
 1398                        $this->lng->txt(
'no');
 
 1399                $data[
'participated'] = 
$data[
'participated'] ? 
 
 1400                        $this->lng->txt(
'yes') : 
 
 1401                        $this->lng->txt(
'no');          
 
 1417                if(!$ilAccess->checkAccess(
'write',
'',$this->object->getRefId()))
 
 1419                        $ilErr->raiseError($this->lng->txt(
'msg_no_perm_read'),
$ilErr->MESSAGE);
 
 1422                $this->tpl->addBlockFile(
'ADM_CONTENT',
'adm_content',
'tpl.sess_list.html',
'Modules/Session');
 
 1423                $this->
__showButton($this->ctrl->getLinkTarget($this,
'exportCSV'),$this->lng->txt(
'event_csv_export'));
 
 1425                include_once 
'Modules/Session/classes/class.ilEventParticipants.php';
 
 1427                $this->tpl->addBlockfile(
"EVENTS_TABLE",
"events_table", 
"tpl.table.html");
 
 1428                $this->tpl->addBlockfile(
'TBL_CONTENT',
'tbl_content',
'tpl.sess_list_row.html',
'Modules/Session');
 
 1431                $members = $members_obj->getParticipants();
 
 1436                $tbl->setTitle($this->lng->txt(
"event_overview"),
 
 1438                                           $this->lng->txt(
'obj_usr'));
 
 1439                $this->ctrl->setParameter($this,
'offset',(
int) 
$_GET[
'offset']);        
 
 1441                $course_ref_id = 
$tree->checkForParentType($this->object->getRefId(),
'crs');
 
 1443                foreach(
$tree->getSubtree(
$tree->getNodeData($course_ref_id),
false,
'sess') as $event_id)
 
 1446                        if(!is_object($tmp_event) or $tmp_event->getType() != 
'sess') 
 
 1450                        $events[] = $tmp_event;
 
 1453                $headerNames = array();
 
 1454                $headerVars = array();
 
 1455                $colWidth = array();
 
 1457                $headerNames[] = $this->lng->txt(
'name');               
 
 1458                $headerVars[] = 
"name";         
 
 1459                $colWidth[] = 
'20%';            
 
 1461                for ($i = 1; $i <= count($events); $i++)
 
 1463                        $headerNames[] = $i;
 
 1464                        $headerVars[] = 
"event_".$i;
 
 1465                        $colWidth[] = 80/count($events).
"%";    
 
 1468                $this->tpl->setVariable(
"FORMACTION",$this->ctrl->getFormAction($this));
 
 1469                $tbl->setHeaderNames($headerNames);
 
 1470                $tbl->setHeaderVars($headerVars, $this->ctrl->getParameterArray($this,
'eventsList'));
 
 1471                $tbl->setColumnWidth($colWidth);                
 
 1474                $tbl->setOrderDirection(
$_GET[
"sort_order"]);
 
 1476                $tbl->setLimit(
$ilUser->getPref(
"hits_per_page"));
 
 1477                $tbl->setMaxCount(count($members));
 
 1478                $tbl->setFooter(
"tblfooter",$this->lng->txt(
"previous"),$this->lng->txt(
"next"));
 
 1480                $sliced_users = array_slice($members,
$_GET[
'offset'],
$_SESSION[
'tbl_limit']);
 
 1481                $tbl->disable(
'sort');
 
 1485                foreach($sliced_users as $user_id)
 
 1487                        foreach($events as $event_obj)
 
 1489                                $this->tpl->setCurrentBlock(
"eventcols");
 
 1494                                        $this->tpl->setVariable(
"IMAGE_PARTICIPATED", $event_part->hasParticipated($user_id) ? 
 
 1498                                        $this->tpl->setVariable(
"PARTICIPATED", $event_part->hasParticipated($user_id) ?
 
 1499                                                                                $this->lng->txt(
'event_participated') :
 
 1500                                                                                $this->lng->txt(
'event_not_participated'));
 
 1503                                $this->tpl->parseCurrentBlock();                                
 
 1506                        $this->tpl->setCurrentBlock(
"tbl_content");
 
 1509                        $this->tpl->setVariable(
"LASTNAME",$name[
'lastname']);
 
 1510                        $this->tpl->setVariable(
"FIRSTNAME",$name[
'firstname']);
 
 1512                        $this->tpl->parseCurrentBlock();                        
 
 1515                $this->tpl->setVariable(
"HEAD_TXT_LEGEND", $this->lng->txt(
"legend"));          
 
 1516                $this->tpl->setVariable(
"HEAD_TXT_DIGIT", $this->lng->txt(
"event_digit"));
 
 1517                $this->tpl->setVariable(
"HEAD_TXT_EVENT", $this->lng->txt(
"event"));
 
 1518                $this->tpl->setVariable(
"HEAD_TXT_LOCATION", $this->lng->txt(
"event_location"));
 
 1519                $this->tpl->setVariable(
"HEAD_TXT_DATE_TIME",$this->lng->txt(
"event_date_time"));
 
 1521                foreach($events as $event_obj)
 
 1523                        $this->tpl->setCurrentBlock(
"legend_loop");
 
 1525                        $this->tpl->setVariable(
"LEGEND_DIGIT", $i++);
 
 1526                        $this->tpl->setVariable(
"LEGEND_EVENT_TITLE", $event_obj->getTitle());
 
 1527                        $this->tpl->setVariable(
"LEGEND_EVENT_DESCRIPTION", $event_obj->getDescription());      
 
 1528                        $this->tpl->setVariable(
"LEGEND_EVENT_LOCATION", $event_obj->getLocation());
 
 1529                        $this->tpl->setVariable(
"LEGEND_EVENT_APPOINTMENT", $event_obj->getFirstAppointment()->appointmentToString());          
 
 1530                        $this->tpl->parseCurrentBlock();
 
 1544                if(is_object($this->form))
 
 1549                $this->lng->loadLanguageModule(
'dateplaner');
 
 1551                include_once(
"./Services/Form/classes/class.ilPropertyFormGUI.php");
 
 1553                include_once(
'./Services/YUI/classes/class.ilYuiUtil.php');
 
 1557                $this->form->setMultipart(
true);
 
 1558                $this->form->setTableWidth(
'600px');
 
 1559                $this->form->setFormAction($this->ctrl->getFormAction($this));
 
 1560                $this->form->setMultipart(
true);
 
 1570                $this->lng->loadLanguageModule(
'dateplaner');
 
 1571                include_once 
'./Services/Form/classes/class.ilDateDurationInputGUI.php';
 
 1573                $dur->setRequired(
true);
 
 1574                $dur->enableToggleFullTime(
 
 1575                        $this->lng->txt(
'event_fulltime_info'),
 
 1576                        $this->object->getFirstAppointment()->enabledFulltime() ? 
true : 
false  
 1578                $dur->setShowTime(
true);
 
 1579                $dur->setStart($this->object->getFirstAppointment()->getStart());
 
 1580                $dur->setEnd($this->object->getFirstAppointment()->getEnd());
 
 1582                $this->form->addItem($dur);
 
 1601                if($a_mode == 
'create')
 
 1603                        if(!is_object($this->rec))
 
 1605                                include_once(
'./Modules/Session/classes/class.ilEventRecurrence.php');
 
 1608                        include_once(
'./Services/Calendar/classes/Form/class.ilRecurrenceInputGUI.php');
 
 1610                        $rec->allowUnlimitedRecurrences(
false);
 
 1611                        $rec->setRecurrence($this->rec);
 
 1612                        $this->form->addItem($rec);
 
 1616                        $lp->setInfo($this->lng->txt(
"sess_lp_preset_info"));
 
 1617                        $lp->setChecked(
true);
 
 1618                        $this->form->addItem($lp);
 
 1622                $section->setTitle($this->lng->txt(
'event_section_information'));
 
 1627                $title->setValue($this->object->getTitle());
 
 1629                $title->setMaxLength(70);
 
 1630                $this->form->addItem(
$title);
 
 1634                $desc->setValue($this->object->getLongDescription());
 
 1637                $this->form->addItem($desc);
 
 1641                $desc->setValue($this->object->getLocation());
 
 1644                $this->form->addItem($desc);
 
 1647                $details = 
new ilTextAreaInputGUI($this->lng->txt(
'event_details_workflow'),
'details');
 
 1648                $details->setValue($this->object->getDetails());
 
 1649                $details->setCols(50);
 
 1650                $details->setRows(4);
 
 1651                $this->form->addItem($details);
 
 1655                $section->setTitle($this->lng->txt(
'event_tutor_data'));
 
 1659                $tutor_name = 
new ilTextInputGUI($this->lng->txt(
'tutor_name'),
'tutor_name');
 
 1660                $tutor_name->setValue($this->object->getName());
 
 1661                $tutor_name->setSize(20);
 
 1662                $tutor_name->setMaxLength(70);
 
 1663                $this->form->addItem($tutor_name);
 
 1666                $tutor_email = 
new ilTextInputGUI($this->lng->txt(
'tutor_email'),
'tutor_email');
 
 1667                $tutor_email->setValue($this->object->getEmail());
 
 1668                $tutor_email->setSize(20);
 
 1669                $tutor_email->setMaxLength(70);
 
 1670                $this->form->addItem($tutor_email);
 
 1673                $tutor_phone = 
new ilTextInputGUI($this->lng->txt(
'tutor_phone'),
'tutor_phone');
 
 1674                $tutor_phone->setValue($this->object->getPhone());
 
 1675                $tutor_phone->setSize(20);
 
 1676                $tutor_phone->setMaxLength(70);
 
 1677                $this->form->addItem($tutor_phone);
 
 1680                $section->setTitle($this->lng->txt(
'sess_section_reg'));
 
 1683                include_once 
'./Modules/Session/classes/class.ilSessionMembershipRegistrationSettingsGUI.php';
 
 1684                include_once 
'./Services/Membership/classes/class.ilMembershipRegistrationSettings.php';
 
 1695                $reg_settings->addMembershipFormElements($this->form, 
'');
 
 1699                $section->setTitle($this->lng->txt(
'event_assign_files'));
 
 1703                $files->setFilenames(array(0 => 
''));
 
 1704                $this->form->addItem(
$files);
 
 1709                                $this->form->setTitle($this->lng->txt(
'event_table_create'));
 
 1711                                $this->form->addCommandButton(
'save',$this->lng->txt(
'event_btn_add'));
 
 1712                                $this->form->addCommandButton(
'saveAndAssignMaterials',$this->lng->txt(
'event_btn_add_edit'));
 
 1713                                $this->form->addCommandButton(
'cancel',$this->lng->txt(
'cancel'));
 
 1718                                $this->form->setTitle($this->lng->txt(
'event_table_update'));
 
 1720                                $this->form->addCommandButton(
'update',$this->lng->txt(
'save'));
 
 1721                                $this->form->addCommandButton(
'cancelEdit',$this->lng->txt(
'cancel'));
 
 1737                $event = $this->form->getItemByPostVar(
'event');
 
 1738                if($event->getStart() && $event->getEnd())
 
 1740                        $this->
object->getFirstAppointment()->setStartingTime($event->getStart()->get(
IL_CAL_UNIX));
 
 1741                        $this->
object->getFirstAppointment()->setEndingTime($event->getStart()->get(
IL_CAL_UNIX));
 
 1742                        $this->
object->getFirstAppointment()->setStart($event->getStart());
 
 1743                        $this->
object->getFirstAppointment()->setEnd($event->getEnd());                 
 
 1744                        $this->
object->getFirstAppointment()->toggleFulltime($event->getStart() instanceof 
ilDate);
 
 1755                $this->
object->setRegistrationType((
int) 
$_POST[
'registration_type']);
 
 1757                $this->
object->setRegistrationMaxUsers((
int) $_POST[
'registration_max_members']);
 
 1758                $this->
object->enableRegistrationUserLimit((
int) $_POST[
'registration_membership_limited']);            
 
 1760                switch((
int) 
$_POST[
'waiting_list'])
 
 1763                                $this->
object->enableRegistrationWaitingList(
true);
 
 1764                                $this->
object->setWaitingListAutoFill(
true);
 
 1768                                $this->
object->enableRegistrationWaitingList(
true);
 
 1769                                $this->
object->setWaitingListAutoFill(
false);
 
 1773                                $this->
object->enableRegistrationWaitingList(
false);
 
 1774                                $this->
object->setWaitingListAutoFill(
false);
 
 1787                include_once(
'./Modules/Session/classes/class.ilSessionRecurrence.php');
 
 1790                switch(
$_POST[
'frequence'])
 
 1793                                $this->rec->setFrequenceType(
$_POST[
'frequence']);
 
 1794                                $this->rec->setInterval((
int) 
$_POST[
'count_DAILY']);
 
 1798                                $this->rec->setFrequenceType(
$_POST[
'frequence']);
 
 1799                                $this->rec->setInterval((
int) 
$_POST[
'count_WEEKLY']);
 
 1800                                if(is_array(
$_POST[
'byday_WEEKLY']))
 
 1807                                $this->rec->setFrequenceType(
$_POST[
'frequence']);
 
 1808                                $this->rec->setInterval((
int) 
$_POST[
'count_MONTHLY']);
 
 1809                                switch((
int) 
$_POST[
'subtype_MONTHLY'])
 
 1816                                                switch((
int) 
$_POST[
'monthly_byday_day'])
 
 1820                                                                $this->rec->setBYSETPOS((
int) 
$_POST[
'monthly_byday_num']);
 
 1821                                                                $this->rec->setBYDAY(
'MO,TU,WE,TH,FR');
 
 1826                                                                $this->rec->setBYMONTHDAY((
int) 
$_POST[
'monthly_byday_num']);
 
 1830                                                                $this->rec->setBYDAY((
int) 
$_POST[
'monthly_byday_num'].
$_POST[
'monthly_byday_day']);
 
 1836                                                $this->rec->setBYMONTHDAY((
int) 
$_POST[
'monthly_bymonthday']);
 
 1842                                $this->rec->setFrequenceType(
$_POST[
'frequence']);
 
 1843                                $this->rec->setInterval((
int) 
$_POST[
'count_YEARLY']);
 
 1844                                switch((
int) 
$_POST[
'subtype_YEARLY'])
 
 1851                                                $this->rec->setBYMONTH((
int) 
$_POST[
'yearly_bymonth_byday']);
 
 1852                                                $this->rec->setBYDAY((
int) 
$_POST[
'yearly_byday_num'].
$_POST[
'yearly_byday']);
 
 1856                                                $this->rec->setBYMONTH((
int) 
$_POST[
'yearly_bymonth_by_monthday']);
 
 1857                                                $this->rec->setBYMONTHDAY((
int) 
$_POST[
'yearly_bymonthday']);
 
 1864                switch((
int) 
$_POST[
'until_type'])
 
 1867                                $this->rec->setFrequenceUntilDate(
null);
 
 1872                                $this->rec->setFrequenceUntilDate(
null);
 
 1873                                $this->rec->setFrequenceUntilCount((
int) 
$_POST[
'count']);
 
 1877                                $frequence = $this->form->getItemByPostVar(
'frequence');
 
 1878                                $end = $frequence->getRecurrence()->getFrequenceUntilDate();
 
 1879                                $this->rec->setFrequenceUntilCount(0);
 
 1880                                $this->rec->setFrequenceUntilDate($end);
 
 1895                return mktime($time[
'h'],$time[
'm'],0,$date[
'm'],$date[
'd'],$date[
'y']);
 
 1911                        include_once 
'./Modules/Session/classes/class.ilSessionAppointment.php';
 
 1912                        $title = strlen($this->object->getTitle()) ? (
': '.$this->object->getTitle()) : 
''; 
 
 1913                        $title = $this->
object->getFirstAppointment()->appointmentToString().$title;
 
 1915                        $ilLocator->addItem(
$title, $this->ctrl->getLinkTarget($this, 
"infoScreen"), 
"", 
$_GET[
"ref_id"]);
 
 1932                $parent_id = 
$tree->getParentId($this->object->getRefId());
 
 1938                $parent_class = 
'ilObj'.$parent_class.
'GUI';
 
 1940                $ctrl->setParameterByClass($parent_class, 
"ref_id", $parent_id);
 
 1941                $ctrl->redirectByClass($parent_class, 
"view");
 
 1955                $ilHelp->setScreenIdComponent(
"sess");
 
 1957                $parent_id = 
$tree->getParentId($this->object->getRefId());
 
 1962                $this->tabs_gui->setBackTarget($this->lng->txt(
'back_to_'.$parent_type.
'_content'),
 
 1963                        $ilCtrl->getLinkTarget($this, 
"redirectToParentContentPage"));
 
 1965                $this->tabs_gui->addTarget(
'info_short',
 
 1966                                                         $this->ctrl->getLinkTarget($this,
'infoScreen'));
 
 1968                if($ilAccess->checkAccess(
'write',
'',$this->object->getRefId()))
 
 1970                        $this->tabs_gui->addTarget(
'settings',
 
 1971                                                                 $this->ctrl->getLinkTarget($this,
'edit'));
 
 1972                        $this->tabs_gui->addTarget(
'crs_materials',
 
 1973                                                                 $this->ctrl->getLinkTarget($this,
'materials'));
 
 1974                        $this->tabs_gui->addTarget(
'event_edit_members',
 
 1975                                                                 $this->ctrl->getLinkTarget($this,
'members'));
 
 1979                include_once 
'./Services/Tracking/classes/class.ilLearningProgressAccess.php';
 
 1982                        $this->tabs_gui->addTarget(
'learning_progress',
 
 1983                                $this->ctrl->getLinkTargetByClass(array(
'ilobjsessiongui',
'illearningprogressgui'),
''),
 
 1985                                array(
'illplistofobjectsgui',
'illplistofsettingsgui',
'illearningprogressgui',
'illplistofprogressgui'));
 
 1989                if ($ilAccess->checkAccess(
"write", 
"", $this->object->getRefId()))
 
 1991                        $this->tabs_gui->addTarget(
"export",
 
 1992                                $this->ctrl->getLinkTargetByClass(
"ilexportgui", 
""), 
"", 
"ilexportgui");
 
 1997                if ($ilAccess->checkAccess(
'edit_permission', 
"", $this->object->getRefId()))
 
 1999                        $this->tabs_gui->addTarget(
"perm_settings",
 
 2000                                $this->ctrl->getLinkTargetByClass(
"ilpermissiongui", 
"perm"), array(
"perm",
"info",
"owner"), 
'ilpermissiongui');
 
 2013                include_once 
'./Modules/Session/classes/class.ilEventItems.php';
 
 2014                $event_items = 
new ilEventItems($this->object->getId());
 
 2015                $event_items->addItem($a_obj->
getRefId());
 
 2016                $event_items->update();
 
 2029                $GLOBALS[
'ilCtrl']->setReturn($this,
'members');
 
 2030                $GLOBALS[
'ilCtrl']->setCmdClass(
'ilmembershipmailgui');
 
 2031                include_once 
'./Services/Membership/classes/class.ilMembershipMailGUI.php';
 
 2033                $GLOBALS[
'ilCtrl']->forwardCommand($mem);
 
 2041                $tmp_data = array();
 
 2042                foreach ($a_usr_ids as $usr_id)
 
 2044                        $tmp_data[$usr_id] = array();
 
 2060                if(!count(
$_POST[
"waiting"]))
 
 2067                include_once(
'./Modules/Session/classes/class.ilSessionWaitingList.php');
 
 2070                include_once 
'./Modules/Session/classes/class.ilEventParticipants.php';
 
 2074                foreach(
$_POST[
"waiting"] as $user_id)
 
 2076                        $part->register($user_id);
 
 2077                        $waiting_list->removeFromList($user_id);
 
 2079                        include_once 
'./Modules/Session/classes/class.ilSessionMembershipMailNotification.php';
 
 2081                        $noti->setRefId($this->object->getRefId());
 
 2082                        $noti->setRecipients(array($user_id));
 
 2098                        $this->searchObject();
 
 2113                if(!count(
$_POST[
'waiting']))
 
 2120                include_once(
'./Modules/Session/classes/class.ilSessionWaitingList.php');
 
 2123                foreach(
$_POST[
"waiting"] as $user_id)
 
 2125                        $waiting_list->removeFromList($user_id);
 
 2127                        include_once 
'./Modules/Session/classes/class.ilSessionMembershipMailNotification.php';
 
 2129                        $noti->setRefId($this->object->getRefId());
 
 2130                        $noti->setRecipients(array($user_id));
 
 2153                if(!count(
$_POST[
'subscribers']))
 
 2160                include_once 
'./Services/Membership/classes/class.ilParticipants.php';
 
 2163                foreach(
$_POST[
'subscribers'] as $usr_id)
 
 2165                        $part->add($usr_id);
 
 2166                        $part->deleteSubscriber($usr_id);
 
 2168                        include_once 
'./Modules/Session/classes/class.ilSessionMembershipMailNotification.php';
 
 2170                        $noti->setRefId($this->object->getRefId());
 
 2171                        $noti->setRecipients(array($usr_id));
 
 2176                $this->ctrl->redirect($this,
'members');
 
 2192                if(!count(
$_POST[
'subscribers']))
 
 2199                include_once 
'./Services/Membership/classes/class.ilParticipants.php';
 
 2201                foreach(
$_POST[
'subscribers'] as $usr_id)
 
 2203                        $part->deleteSubscriber($usr_id);
 
 2205                        include_once 
'./Modules/Session/classes/class.ilSessionMembershipMailNotification.php';
 
 2207                        $noti->setRefId($this->object->getRefId());
 
 2208                        $noti->setRecipients(array($usr_id));
 
 2223                if(!$this->container_ref_id)
 
 2232                if(!is_array(
$_POST[
"subscribers"]))
 
 2240                $this->lng->loadLanguageModule(
'mmbr');
 
 2243                $this->tabs_gui->setTabActive(
'event_edit_members');
 
 2245                include_once(
"Services/Utilities/classes/class.ilConfirmationGUI.php");
 
 2249                $c_gui->setFormAction($this->ctrl->getFormAction($this, 
"refuseSubscribers"));
 
 2250                $c_gui->setHeaderText($this->lng->txt(
"info_refuse_sure"));
 
 2251                $c_gui->setCancel($this->lng->txt(
"cancel"), 
"members");
 
 2252                $c_gui->setConfirm($this->lng->txt(
"confirm"), 
"refuseSubscribers");
 
 2254                foreach(
$_POST[
"subscribers"] as $subscribers)
 
 2258                        $c_gui->addItem(
'subscribers[]',
 
 2260                                                        $name[
'lastname'].
', '.$name[
'firstname'].
' ['.$name[
'login'].
']',
 
 2264                $this->tpl->setContent($c_gui->getHTML());
 
 2270                if(!is_array(
$_POST[
"subscribers"]))
 
 2278                $this->tabs_gui->setTabActive(
'event_edit_members');
 
 2280                include_once(
"Services/Utilities/classes/class.ilConfirmationGUI.php");
 
 2284                $c_gui->setFormAction($this->ctrl->getFormAction($this, 
"assignSubscribers"));
 
 2285                $c_gui->setHeaderText($this->lng->txt(
"info_assign_sure"));
 
 2286                $c_gui->setCancel($this->lng->txt(
"cancel"), 
"members");
 
 2287                $c_gui->setConfirm($this->lng->txt(
"confirm"), 
"assignSubscribers");
 
 2289                foreach(
$_POST[
"subscribers"] as $subscribers)
 
 2293                        $c_gui->addItem(
'subscribers[]',
 
 2295                                                        $name[
'lastname'].
', '.$name[
'firstname'].
' ['.$name[
'login'].
']',
 
 2299                $this->tpl->setContent($c_gui->getHTML());
 
 2305                if(!is_array(
$_POST[
"waiting"]))
 
 2313                $this->lng->loadLanguageModule(
'mmbr');
 
 2316                $this->tabs_gui->setTabActive(
'event_edit_members');
 
 2318                include_once(
"Services/Utilities/classes/class.ilConfirmationGUI.php");
 
 2322                $c_gui->setFormAction($this->ctrl->getFormAction($this, 
"refuseFromList"));
 
 2323                $c_gui->setHeaderText($this->lng->txt(
"info_refuse_sure"));
 
 2324                $c_gui->setCancel($this->lng->txt(
"cancel"), 
"members");
 
 2325                $c_gui->setConfirm($this->lng->txt(
"confirm"), 
"refuseFromList");
 
 2327                foreach(
$_POST[
"waiting"] as $waiting)
 
 2331                        $c_gui->addItem(
'waiting[]',
 
 2333                                                        $name[
'lastname'].
', '.$name[
'firstname'].
' ['.$name[
'login'].
']',
 
 2337                $this->tpl->setContent($c_gui->getHTML());
 
 2343                if(!is_array(
$_POST[
"waiting"]))
 
 2351                $this->tabs_gui->setTabActive(
'event_edit_members');
 
 2353                include_once(
"Services/Utilities/classes/class.ilConfirmationGUI.php");
 
 2357                $c_gui->setFormAction($this->ctrl->getFormAction($this, 
"assignFromWaitingList"));
 
 2358                $c_gui->setHeaderText($this->lng->txt(
"info_assign_sure"));
 
 2359                $c_gui->setCancel($this->lng->txt(
"cancel"), 
"members");
 
 2360                $c_gui->setConfirm($this->lng->txt(
"confirm"), 
"assignFromWaitingList");
 
 2362                foreach(
$_POST[
"waiting"] as $waiting)
 
 2366                        $c_gui->addItem(
'waiting[]',
 
 2368                                                        $name[
'lastname'].
', '.$name[
'firstname'].
' ['.$name[
'login'].
']',
 
 2372                $this->tpl->setContent($c_gui->getHTML());
 
 2386                $parent_id = 
$tree->getParentId((
int) $_REQUEST[
'ref_id']);
 
 2388                $ilCtrl->setParameterByClass(
"ilrepositorygui", 
"ref_id", $parent_id);
 
 2390                $ilCtrl->redirectByClass(
"ilrepositorygui", 
"");
 
An exception for terminatinating execution or to throw for unit testing.
const IL_CAL_FREQ_MONTHLY
Base class for attendance lists.
Calculates an ilDateList for a given calendar entry and recurrence rule.
static _recordReadEvent($a_type, $a_ref_id, $obj_id, $usr_id, $isCatchupWriteEvents=true, $a_ext_rc=false, $a_ext_time=false)
Records a read event and catches up with write events.
static getInstanceFromAjaxCall()
(Re-)Build instance from ajax call
Confirmation screen class.
static _getInstance($a_obj_id)
get instance by obj_id
static _getInstanceByObjId($a_obj_id)
Get singleton instance.
static formatPeriod(ilDateTime $start, ilDateTime $end)
Format a period of two date Shows: 14.
static setUseRelativeDates($a_status)
set use relative dates
static addToDesktop()
Add desktop item @access public.
static removeFromDesktop()
Remove item from personal desktop @access public.
static _isRegistered($a_usr_id, $a_event_id)
static _register($a_usr_id, $a_event_id)
static _unregister($a_usr_id, $a_event_id)
Export User Interface Class.
static _getInstanceByObjId($a_obj_id)
Get singleton instance.
const LP_MODE_DEACTIVATED
static checkAccess($a_ref_id, $a_allow_only_read=true)
check access to learning progress
const LP_CONTEXT_REPOSITORY
Class ilObjUserTrackingGUI.
static _getLink($a_ref_id, $a_type='', $a_params=array(), $append="")
const REGISTRATION_LIMITED_USERS
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.
static _lookupAboStatus($a_id)
updateMembersObject()
update participants
unregisterObject()
unregister from session
materialsObject()
show material assignment
addLocatorItems()
Add session locator.
cancelEditObject()
Cancel editigin @global type $ilCtrl @global type $tree.
executeCommand()
execute command
prepareOutput($a_show_subobjects=true)
initContainer($a_init_participants=false)
refuseFromListObject()
refuse from waiting list
saveMaterialsObject()
save material assignment
readMemberData($a_usr_ids)
Used for waiting list.
loadRecurrenceSettings()
load recurrence settings
confirmAssignSubscribersObject()
redirectToParentContentPageObject()
Redirect to parent content page.
getAttendanceListUserData($a_user_id, $a_filters)
Get user data for attendance list.
confirmDeleteFilesObject()
confirm delete files
sendMailToSelectedUsersObject()
Send mail to selected users.
attendanceListObject()
show attendance list selection
updateObject()
update object
static _goto($a_target)
goto
infoScreenObject()
this one is called from the info button in the repository not very nice to set cmdClass/Cmd manually,...
confirmRefuseFromListObject()
modifyItemGUI($a_item_list_gui, $a_item_data, $a_show_path)
Modify Item ListGUI for presentation in container @global type $tree.
showJoinRequestButton()
show join request
saveAndAssignMaterialsObject()
Save and assign sessoin materials.
saveObject($a_redirect_on_success=true)
save object
membersObject()
Show participants table.
assignFromWaitingListObject()
add from waiting list
getCurrentObject()
Get session object.
printAttendanceListObject()
print attendance list
__toUnix($date, $time)
@access protected
afterSaveCallback(ilObject $a_obj)
Custom callback after object is created (in parent containert.
confirmRefuseSubscribersObject()
initCreateForm($a_new_type)
Init object creation form.
sendFileObject()
send file
refuseSubscribersObject()
refuse subscribers
joinObject()
Called from info screen.
createRecurringSessions($a_activate_lp=true)
create recurring sessions
deleteFilesObject()
delete files
initAttendanceList()
Init attendance list object.
setShowHidePrefs()
set preferences (show/hide tabel content)
assignSubscribersObject()
assign subscribers
initForm($a_mode)
Init Form.
registerObject()
register to session
confirmAssignFromWaitingListObject()
eventsListObject()
list sessions of all user
__construct($a_data, $a_id, $a_call_by_reference, $a_prepare_output=true)
Constructor.
getContainerRefId()
container ref id
static _lookupLogin($a_user_id)
lookup login
static _lookupName($a_user_id)
lookup user name
static addListGUIActivationProperty(ilObjectListGUI $a_list_gui, array &$a_item)
Get timing details for list gui.
static getItemsByEvent($a_event_id)
Get session material / event items.
Render add new item selector.
GUI class for the workflow of copying objects.
static getInstanceByRefId($a_ref_id, $stop_on_error=true)
get an instance of an Ilias object by reference id
Class ilObjectGUI Basic methods of all Output classes.
__showButton($a_cmd, $a_text, $a_target='')
checkPermission($a_perm, $a_cmd="", $a_type="", $a_ref_id=null)
Check permission and redirect on error.
static _gotoRepositoryNode($a_ref_id, $a_cmd="frameset")
Goto repository root.
getCreationMode()
get creation mode
addHeaderAction()
Add header action menu.
createObject()
create new object form
Class ilObject Basic functions for all objects.
static _lookupObjId($a_id)
getRefId()
get reference id @access public
static _lookupType($a_id, $a_reference=false)
lookup object type
static getInstanceByObjId($a_obj_id)
Get instance by obj type.
New PermissionGUI (extends from old ilPermission2GUI) RBAC related output.
const TYPE_REFUSED_SUBSCRIPTION_MEMBER
const TYPE_ACCEPTED_SUBSCRIPTION_MEMBER
static factory($a_type)
Get list gui by type This method caches all the returned list guis.
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 _sortIds($a_ids, $a_table, $a_field, $a_id_name)
Function that sorts ids by a given table field using WHERE IN E.g: __sort(array(6,...
static sendSuccess($a_info="", $a_keep=false)
Send Success Message to Screen.
static sendFailure($a_info="", $a_keep=false)
Send Failure Message to Screen.
static switchColor($a_num, $a_css1, $a_css2)
switches style sheets for each even $a_num (used for changing colors of different result rows)
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)
static deliverFile($a_file, $a_filename, $a_mime='', $isInline=false, $removeAfterDelivery=false, $a_exit_after=true)
deliver file for download via browser.
GUI class for course/group waiting list.
static deleteUserEntry($a_usr_id, $a_obj_id)
Delete one user entry.
static _isOnList($a_usr_id, $a_obj_id)
Check if a user on the waiting list.
static initDomEvent()
Init YUI DomEvent.
$GLOBALS['loaded']
Global hash that tracks already loaded includes.
const IL_CAL_FREQ_DAILY
Model of calendar entry recurrcences.
Interface for gui classes (e.g ilLuceneSearchGUI) that offer add/remove to/from desktop.
if(!file_exists("$old.txt")) if( $old===$new) if(file_exists("$new.txt")) $file