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