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';
40 public function __construct($a_data, $a_id, $a_call_by_reference, $a_prepare_output =
true)
45 parent::__construct($a_data,$a_id,$a_call_by_reference,$a_prepare_output);
48 $this->lng->loadLanguageModule(
"event");
49 $this->lng->loadLanguageModule(
'crs');
50 $this->lng->loadLanguageModule(
'trac');
51 $this->lng->loadLanguageModule(
'sess');
69 $next_class = $this->ctrl->getNextClass($this);
70 $cmd = $this->ctrl->getCmd();
76 case "ilinfoscreengui":
81 case 'ilpermissiongui':
82 $this->tabs_gui->setTabActive(
'perm_settings');
83 include_once(
"Services/AccessControl/classes/class.ilPermissionGUI.php");
85 $ret = $this->ctrl->forwardCommand($perm_gui);
88 case 'ilobjectcopygui':
89 include_once
'./Services/Object/classes/class.ilObjectCopyGUI.php';
92 $this->ctrl->forwardCommand($cp);
97 $this->tabs_gui->setTabActive(
"export");
98 include_once(
"./Services/Export/classes/class.ilExportGUI.php");
100 $exp_gui->addFormat(
"xml");
101 $ret = $this->ctrl->forwardCommand($exp_gui);
105 case "ilcommonactiondispatchergui":
106 include_once(
"Services/Object/classes/class.ilCommonActionDispatcherGUI.php");
108 $this->ctrl->forwardCommand($gui);
111 case 'ilmembershipgui':
112 $this->ctrl->setReturn($this,
'members');
113 include_once
'./Services/Membership/classes/class.ilMembershipGUI.php';
115 $this->ctrl->forwardCommand($mem);
118 case "illearningprogressgui":
119 include_once
'./Services/Tracking/classes/class.ilLearningProgressGUI.php';
121 $this->object->getRefId(),
123 $this->ctrl->forwardCommand($new_gui);
124 $this->tabs_gui->setTabActive(
'learning_progress');
133 if (
$cmd !=
"infoScreenObject")
165 parent::prepareOutput();
169 $title = strlen($this->object->getTitle()) ? (
': '.$this->object->getTitle()) :
'';
171 include_once
'./Modules/Session/classes/class.ilSessionAppointment.php';
172 $this->tpl->setTitle(
173 $this->object->getFirstAppointment()->appointmentToString().$title);
190 include_once
'./Services/Membership/classes/class.ilParticipants.php';
193 include_once
'./Modules/Session/classes/class.ilEventParticipants.php';
198 (count($event_part->getRegistered()) >= $this->getCurrentObject()->getRegistrationMaxUsers())
201 include_once
'./Modules/Session/classes/class.ilSessionWaitingList.php';
203 $wait->addToList(
$ilUser->getId());
205 $this->ctrl->redirect($this,
'infoScreen');
213 $this->ctrl->redirect($this,
'info');
219 $this->ctrl->redirect($this,
'infoScreen');
224 $part->addSubscriber(
$ilUser->getId());
225 $this->ctrl->redirect($this,
'infoScreen');
240 if($ilUser->isAnonymous())
242 $this->ctrl->redirect($this,
'infoScreen');
245 include_once
'./Modules/Session/classes/class.ilEventParticipants.php';
259 $this->ctrl->redirect($this,
'infoScreen');
272 include_once
'./Modules/Session/classes/class.ilEventParticipants.php';
275 include_once
'./Modules/Session/classes/class.ilSessionWaitingList.php';
279 $this->ctrl->returnToParent($this);
290 public static function _goto($a_target)
294 if($ilAccess->checkAccess(
'visible',
"", $a_target))
306 include_once
'./Services/PersonalDesktop/classes/class.ilDesktopItemGUI.php';
316 include_once
'./Services/PersonalDesktop/classes/class.ilDesktopItemGUI.php';
329 $this->ctrl->setCmd(
"showSummary");
330 $this->ctrl->setCmdClass(
"ilinfoscreengui");
342 if ($course_ref_id =
$tree->checkForParentType($this->object->getRefId(),
'crs'))
345 include_once
"Services/Object/classes/class.ilObjectActivation.php";
348 include_once(
"./Modules/Course/classes/class.ilObjCourse.php");
349 include_once(
"./Modules/Course/classes/class.ilObjCourseGUI.php");
359 $this->object->getRefId());
375 include_once
'./Modules/Session/classes/class.ilSessionWaitingList.php';
377 include_once
'./Services/Membership/classes/class.ilParticipants.php';
380 include_once
'./Modules/Session/classes/class.ilEventParticipants.php';
383 $ilToolbar->addFormButton($this->lng->txt(
'event_unregister'),
'unregister');
384 $ilToolbar->setFormAction($this->ctrl->getFormAction($this));
387 elseif($part->isSubscriber(
$ilUser->getId()))
389 $ilToolbar->addFormButton($this->lng->txt(
'event_unregister'),
'unregister');
390 $ilToolbar->setFormAction($this->ctrl->getFormAction($this));
395 $ilToolbar->addFormButton($this->lng->txt(
'leave_waiting_list'),
'unregister');
396 $ilToolbar->setFormAction($this->ctrl->getFormAction($this));
405 (count($event_part->getRegistered()) >= $this->getCurrentObject()->getRegistrationMaxUsers())
411 $ilToolbar->addFormButton($this->lng->txt(
'mem_add_to_wl'),
'register');
412 $ilToolbar->setFormAction($this->ctrl->getFormAction($this));
426 $ilToolbar->addFormButton($this->lng->txt(
'join_session'),
'register',
'',
true);
427 $ilToolbar->setFormAction($this->ctrl->getFormAction($this));
447 $this->tabs_gui->setTabActive(
'info_short');
449 $appointment_obj = $this->
object->getFirstAppointment();
451 include_once(
"./Services/InfoScreen/classes/class.ilInfoScreenGUI.php");
457 if(strlen($this->object->getLocation()) or strlen($this->object->getDetails()))
459 $info->addSection($this->lng->txt(
'event_section_information'));
461 if(strlen(
$location = $this->object->getLocation()))
463 $info->addProperty($this->lng->txt(
'event_location'),
464 nl2br($this->object->getLocation()));
466 if(strlen($this->object->getDetails()))
468 $info->addProperty($this->lng->txt(
'event_details_workflow'),
469 nl2br($this->object->getDetails()));
473 if($this->object->hasTutorSettings())
475 $info->addSection($this->lng->txt(
'event_tutor_data'));
476 if(strlen($fullname = $this->object->getName()))
478 $info->addProperty($this->lng->txt(
'event_lecturer'),
481 if(strlen($email = $this->object->getEmail()))
483 $info->addProperty($this->lng->txt(
'tutor_email'),
486 if(strlen($phone = $this->object->getPhone()))
488 $info->addProperty($this->lng->txt(
'tutor_phone'),
496 include_once
'./Services/Object/classes/class.ilObjectActivation.php';
497 include_once
'./Services/Container/classes/class.ilContainerSorting.php';
498 include_once
'./Modules/Session/classes/class.ilSessionObjectListGUIFactory.php';
501 $parent_id =
$tree->getParentId($this->object->getRefId());
505 $this->object->getId(),
509 $lng->loadLanguageModule(
"cntr");
511 foreach($eventItems as $item)
514 $list_gui->setContainerObject($this);
518 $html .= $list_gui->getListItemHTML(
528 $info->addSection($this->lng->txt(
'event_materials'));
535 $this->ctrl->forwardCommand(
$info);
538 require_once
'Services/Tracking/classes/class.ilChangeEvent.php';
540 $this->object->getId(),
$ilUser->getId());
558 if(!is_object($this->
object))
582 $this->ctrl->setParameter($this,
'ref_id',$this->object->getRefId());
583 $this->ctrl->redirect($this,
'materials');
603 $ilErr->setMessage(
'');
604 if(!$this->form->checkInput()) {
605 $ilErr->setMessage($this->lng->txt(
'err_check_input'));
608 $this->
object->validate();
609 $this->
object->getFirstAppointment()->validate();
611 if(strlen(
$ilErr->getMessage()))
618 $this->
object->create();
619 $this->
object->createReference();
620 $this->
object->putInTree(
$_GET[
"ref_id"]);
621 $this->
object->setPermissions(
$_GET[
"ref_id"]);
624 if(!$this->form->getInput(
"lp_preset"))
626 include_once
"Services/Tracking/classes/class.ilLPObjSettings.php";
629 $lp_obj_settings->update(
false);
633 $this->
object->getFirstAppointment()->setSessionId($this->object->getId());
634 $this->
object->getFirstAppointment()->create();
640 if($a_redirect_on_success)
643 $this->ctrl->returnToParent($this);
654 include_once
'./Modules/Session/classes/class.ilEventItems.php';
656 $items = $ev->getItems();
661 if(!isset($_FILES[
'files'][
'name'][$counter]))
665 if(!strlen($_FILES[
'files'][
'name'][$counter]))
671 include_once
'./Modules/File/classes/class.ilObjFile.php';
674 $file->setDescription(
'');
676 $file->setFileType($_FILES[
'files'][
'type'][$counter]);
677 $file->setFileSize($_FILES[
'files'][
'size'][$counter]);
679 $new_ref_id =
$file->createReference();
680 $file->putInTree(
$tree->getParentId($this->object->getRefId()));
681 $file->setPermissions(
$tree->getParentId($this->object->getRefId()));
682 $file->createDirectory();
683 $file->getUploadFile(
684 $_FILES[
'files'][
'tmp_name'][$counter],
685 $_FILES[
'files'][
'name'][$counter]
688 $items[] = $new_ref_id;
693 $ev->setItems($items);
710 if(!$this->rec->getFrequenceType())
714 include_once(
'./Services/Calendar/classes/class.ilCalendarRecurrenceCalculator.php');
717 $period_start = clone $this->
object->getFirstAppointment()->getStart();
720 $period_end = clone $this->
object->getFirstAppointment()->getStart();
722 $date_list = $calc->calculateDateList($period_start,$period_end);
724 $period_diff = $this->
object->getFirstAppointment()->getEnd()->get(
IL_CAL_UNIX) -
725 $this->
object->getFirstAppointment()->getStart()->get(
IL_CAL_UNIX);
726 $parent_id =
$tree->getParentId($this->object->getRefId());
728 include_once
'./Modules/Session/classes/class.ilEventItems.php';
730 $eitems = $evi->getItems();
733 foreach($date_list->get() as $date)
740 $new_obj = $this->
object->cloneObject($parent_id);
742 $new_obj->getFirstAppointment()->setStartingTime($date->get(
IL_CAL_UNIX));
743 $new_obj->getFirstAppointment()->setEndingTime($date->get(
IL_CAL_UNIX) + $period_diff);
744 $new_obj->getFirstAppointment()->update();
750 include_once
"Services/Tracking/classes/class.ilLPObjSettings.php";
753 $lp_obj_settings->update(
false);
757 $new_evi->setItems($eitems);
772 $this->tabs_gui->setTabActive(
'settings');
775 $this->tpl->addBlockFile(
'ADM_CONTENT',
'adm_content',
'tpl.sess_edit.html',
'Modules/Session');
776 $this->tpl->setVariable(
'EVENT_EDIT_TABLE',$this->form->getHTML());
778 if(!count($this->object->getFiles()))
783 foreach($this->object->getFiles() as
$file)
785 $table_data[
'id'] =
$file->getFileId();
786 $table_data[
'filename'] =
$file->getFileName();
787 $table_data[
'filetype'] =
$file->getFileType();
788 $table_data[
'filesize'] =
$file->getFileSize();
790 $rows[] = $table_data;
793 include_once(
"./Modules/Session/classes/class.ilSessionFileTableGUI.php");
795 $table_gui->setTitle($this->lng->txt(
"event_files"));
796 $table_gui->setData($rows);
797 $table_gui->addCommandButton(
"cancel", $this->lng->txt(
"cancel"));
798 $table_gui->addMultiCommand(
"confirmDeleteFiles", $this->lng->txt(
"delete"));
799 $table_gui->setSelectAllCheckbox(
"file_id");
800 $this->tpl->setVariable(
'EVENT_FILE_TABLE',$table_gui->getHTML());
816 $old_autofill = $this->
object->hasWaitingListAutoFill();
821 $ilErr->setMessage(
'');
822 if(!$this->form->checkInput())
824 $ilErr->setMessage($this->lng->txt(
'err_check_input'));
826 $this->
object->validate();
827 $this->
object->getFirstAppointment()->validate();
829 if(strlen(
$ilErr->getMessage()))
836 $this->
object->update();
837 $this->
object->getFirstAppointment()->update();
843 $this->object->hasWaitingListAutoFill())
845 $this->
object->handleAutoFill();
849 $this->ctrl->redirect($this,
'edit');
850 #$this->object->initFiles();
851 #$this->editObject();
864 $this->tabs_gui->setTabActive(
'settings');
866 if(!count(
$_POST[
'file_id']))
873 include_once(
"Services/Utilities/classes/class.ilConfirmationGUI.php");
877 $c_gui->setFormAction($this->ctrl->getFormAction($this,
"deleteFiles"));
878 $c_gui->setHeaderText($this->lng->txt(
"info_delete_sure"));
879 $c_gui->setCancel($this->lng->txt(
"cancel"),
"edit");
880 $c_gui->setConfirm($this->lng->txt(
"confirm"),
"deleteFiles");
883 foreach(
$_POST[
"file_id"] as $file_id)
886 if(
$file->getSessionId() != $this->object->getEventId())
892 $c_gui->addItem(
"file_id[]", $file_id,
$file->getFileName());
895 $this->tpl->setContent($c_gui->getHTML());
908 if(!count(
$_POST[
'file_id']))
914 foreach(
$_POST[
'file_id'] as $id)
919 $this->
object->initFiles();
928 $is_course = $is_group =
false;
931 $this->container_ref_id =
$tree->checkForParentType($this->object->getRefId(),
'grp');
932 if($this->container_ref_id)
936 if(!$this->container_ref_id)
938 $this->container_ref_id =
$tree->checkForParentType($this->object->getRefId(),
'crs');
939 if($this->container_ref_id)
944 if(!$this->container_ref_id)
951 if($a_init_participants && $this->container_obj_id)
955 include_once
'./Modules/Course/classes/class.ilCourseParticipants.php';
960 include_once
'./Modules/Group/classes/class.ilGroupParticipants.php';
978 $this->tabs_gui->setTabActive(
'crs_materials');
981 $parent_ref_id =
$tree->getParentId($this->object->getRefId());
983 include_once
"Services/Object/classes/class.ilObjectAddNewItemGUI.php";
985 $gui->setDisabledObjectTypes(array(
"itgr",
"sess"));
986 $gui->setAfterCreationCallback($this->ref_id);
989 include_once
'Modules/Session/classes/class.ilEventItems.php';
990 $this->event_items =
new ilEventItems($this->object->getId());
992 include_once
'Modules/Session/classes/class.ilSessionMaterialsTableGUI.php';
994 $tbl->setTitle($this->lng->txt(
"event_assign_materials_table"));
995 $tbl->setDescription($this->lng->txt(
'event_assign_materials_info'));
997 $tbl->setMaterialItems($this->event_items->getItems());
999 $tbl->getDataFromDb();
1001 $this->tpl->setContent(
$tbl->getHTML());
1013 include_once
'./Modules/Session/classes/class.ilEventItems.php';
1015 $this->event_items =
new ilEventItems($this->object->getId());
1017 $list_items = is_array(
$_POST[
'all_items']) ?
$_POST[
'all_items'] : array();
1018 $list_items_checked = is_array(
$_POST[
'items']) ?
$_POST[
'items'] : array();
1020 $checked = $this->event_items->getItems();
1021 $checked = array_diff($checked, $list_items);
1022 $checked = array_merge($checked, $list_items_checked);
1024 $this->event_items->setItems($checked);
1025 $this->event_items->update();
1027 include_once
'Modules/Session/classes/class.ilSessionMaterialsTableGUI.php';
1030 $tbl->storeNavParameter();
1033 $this->ctrl->redirect($this,
'materials');
1045 $this->tabs_gui->setTabActive(
'event_edit_members');
1047 $this->tpl->addBlockFile(
'ADM_CONTENT',
'adm_content',
'tpl.sess_members.html',
'Modules/Session');
1049 include_once
'./Services/UIComponent/Toolbar/classes/class.ilToolbarGUI.php';
1051 $toolbar->addButton($this->lng->txt(
'crs_print_list'),
1052 $this->ctrl->getLinkTarget($this,
'attendanceList'));
1054 $this->tpl->setVariable(
'ACTION_BUTTONS',$toolbar->getHTML());
1058 include_once
'./Modules/Session/classes/class.ilEventParticipants.php';
1064 include_once(
'./Modules/Session/classes/class.ilSessionWaitingList.php');
1066 if(count($wait = $waiting_list->getAllUsers()))
1068 include_once(
'./Services/Membership/classes/class.ilWaitingListTableGUI.php');
1069 if(
$ilUser->getPref(
'sess_wait_hide'))
1072 $this->ctrl->setParameter($this,
'wait_hide',0);
1073 $table_gui->addHeaderCommand($this->ctrl->getLinkTarget($this,
'members'),
1074 $this->lng->txt(
'show'));
1075 $this->ctrl->clearParameters($this);
1080 $this->ctrl->setParameter($this,
'wait_hide',1);
1081 $table_gui->addHeaderCommand($this->ctrl->getLinkTarget($this,
'members'),
1082 $this->lng->txt(
'hide'));
1083 $this->ctrl->clearParameters($this);
1085 $table_gui->setUsers($wait);
1086 $table_gui->setTitle($this->lng->txt(
'grp_header_waiting_list'),
'icon_usr.svg',$this->lng->txt(
'group_new_registrations'));
1087 $this->tpl->setVariable(
'TABLE_WAIT',$table_gui->getHTML());
1092 include_once
'./Services/Membership/classes/class.ilParticipants.php';
1094 if($part->getSubscribers())
1096 include_once(
'./Services/Membership/classes/class.ilSubscriberTableGUI.php');
1097 if(
$ilUser->getPref(
'grp_subscriber_hide'))
1100 $this->ctrl->setParameter($this,
'subscriber_hide',0);
1101 $table_gui->addHeaderCommand($this->ctrl->getLinkTarget($this,
'members'),
1102 $this->lng->txt(
'show'));
1103 $this->ctrl->clearParameters($this);
1108 $this->ctrl->setParameter($this,
'subscriber_hide',1);
1109 $table_gui->addHeaderCommand($this->ctrl->getLinkTarget($this,
'members'),
1110 $this->lng->txt(
'hide'));
1111 $this->ctrl->clearParameters($this);
1113 $table_gui->readSubscriberData();
1114 $table_gui->setTitle($this->lng->txt(
'sess_new_registrations'),
'icon_usr.svg',$this->lng->txt(
'sess_new_registrations'));
1115 $this->tpl->setVariable(
'TABLE_SUB',$table_gui->getHTML());
1120 if(count($admins = $members_obj->getAdmins()))
1122 include_once(
'./Modules/Session/classes/class.ilSessionParticipantsTableGUI.php');
1123 if(
$ilUser->getPref(
'sess_admin_hide'))
1126 $this->ctrl->setParameter($this,
'admin_hide',0);
1127 $table->addHeaderCommand($this->ctrl->getLinkTarget($this,
'members'),
1128 $this->lng->txt(
'show'));
1129 $this->ctrl->clearParameters($this);
1134 $this->ctrl->setParameter($this,
'admin_hide',1);
1135 $table->addHeaderCommand($this->ctrl->getLinkTarget($this,
'members'),
1136 $this->lng->txt(
'hide'));
1137 $this->ctrl->clearParameters($this);
1140 $table->addCommandButton(
'updateMembers',$this->lng->txt(
'save'));
1141 $table->setTitle($this->lng->txt(
'event_tbl_admins'),
'icon_usr.svg',$this->lng->txt(
'event_tbl_admins'));
1142 $table->enableRegistration($this->object->enabledRegistration());
1143 $table->setParticipants($admins);
1145 $this->tpl->setVariable(
'ADMINS',$table->getHTML());
1149 if(count($tutors = $members_obj->getTutors()))
1151 include_once(
'./Modules/Session/classes/class.ilSessionParticipantsTableGUI.php');
1152 if(
$ilUser->getPref(
'sess_tutor_hide'))
1155 $this->ctrl->setParameter($this,
'tutor_hide',0);
1156 $table->addHeaderCommand($this->ctrl->getLinkTarget($this,
'members'),
1157 $this->lng->txt(
'show'));
1158 $this->ctrl->clearParameters($this);
1163 $this->ctrl->setParameter($this,
'tutor_hide',1);
1164 $table->addHeaderCommand($this->ctrl->getLinkTarget($this,
'members'),
1165 $this->lng->txt(
'hide'));
1166 $this->ctrl->clearParameters($this);
1168 $table->addCommandButton(
'updateMembers',$this->lng->txt(
'save'));
1169 $table->setTitle($this->lng->txt(
'event_tbl_tutors'),
'icon_usr.svg',$this->lng->txt(
'event_tbl_tutors'));
1170 $table->enableRegistration($this->object->enabledRegistration());
1171 $table->setParticipants($tutors);
1173 $this->tpl->setVariable(
'TUTORS',$table->getHTML());
1177 if(count($members = $members_obj->getMembers()))
1179 include_once(
'./Modules/Session/classes/class.ilSessionParticipantsTableGUI.php');
1180 if(
$ilUser->getPref(
'sess_member_hide'))
1183 $this->ctrl->setParameter($this,
'member_hide',0);
1184 $table->addHeaderCommand($this->ctrl->getLinkTarget($this,
'members'),
1185 $this->lng->txt(
'show'));
1186 $this->ctrl->clearParameters($this);
1191 $this->ctrl->setParameter($this,
'member_hide',1);
1192 $table->addHeaderCommand($this->ctrl->getLinkTarget($this,
'members'),
1193 $this->lng->txt(
'hide'));
1194 $this->ctrl->clearParameters($this);
1196 $table->addCommandButton(
'updateMembers',$this->lng->txt(
'save'));
1197 $table->setTitle($this->lng->txt(
'event_tbl_members'),
'icon_usr.svg',$this->lng->txt(
'event_tbl_members'));
1198 $table->enableRegistration($this->object->enabledRegistration());
1199 $table->setParticipants($members);
1201 $this->tpl->setVariable(
'MEMBERS',$table->getHTML());
1205 $GLOBALS[
'lng']->loadLanguageModule(
'mmbr');
1206 $this->tpl->setVariable(
'FORMACTION',$this->ctrl->getFormAction($this));
1207 $this->tpl->setVariable(
'TXT_SELECTED_USER',$this->lng->txt(
'mmbr_selected_users'));
1208 $this->tpl->setVariable(
'BTN_FOOTER_MAIL',$this->lng->txt(
'mmbr_btn_mail_selected_users'));
1222 if(isset(
$_GET[
'admin_hide']))
1224 $ilUser->writePref(
'sess_admin_hide',(
int)
$_GET[
'admin_hide']);
1226 if(isset(
$_GET[
'tutor_hide']))
1228 $ilUser->writePref(
'sess_tutor_hide',(
int)
$_GET[
'tutor_hide']);
1230 if(isset(
$_GET[
'member_hide']))
1232 $ilUser->writePref(
'sess_member_hide',(
int)
$_GET[
'member_hide']);
1253 $_POST[
'participants'] = is_array(
$_POST[
'participants']) ?
$_POST[
'participants'] : array();
1254 $_POST[
'registered'] = is_array(
$_POST[
'registered']) ?
$_POST[
'registered'] : array();
1256 include_once
'Modules/Session/classes/class.ilEventParticipants.php';
1258 $visible =
$_POST[
'visible_participants'] ?
$_POST[
'visible_participants'] : array();
1259 foreach($visible as $user)
1262 $part->setUserId($user);
1265 $part->setParticipated(isset(
$_POST[
'participants'][$user]) ?
true :
false);
1266 $part->setRegistered(isset(
$_POST[
'registered'][$user]) ?
true :
false);
1267 $part->updateUser();
1281 global
$tpl,$ilTabs;
1284 $ilTabs->setTabActive(
'event_edit_members');
1287 $form = $list->initForm(
'printAttendanceList');
1288 $tpl->setContent($form->getHTML());
1300 include_once
'Services/Membership/classes/class.ilAttendanceList.php';
1302 $list->setId(
'sessattlst');
1304 $event_app = $this->
object->getFirstAppointment();
1308 $desc .=
" ".$this->object->getTitle();
1309 $list->setTitle($this->lng->txt(
'sess_attendance_list'), $desc);
1311 $list->addPreset(
'mark', $this->lng->txt(
'trac_mark'),
true);
1312 $list->addPreset(
'comment', $this->lng->txt(
'trac_comment'),
true);
1313 if($this->object->enabledRegistration())
1315 $list->addPreset(
'registered', $this->lng->txt(
'event_tbl_registered'),
true);
1317 $list->addPreset(
'participated', $this->lng->txt(
'event_tbl_participated'),
true);
1318 $list->addBlank($this->lng->txt(
'sess_signature'));
1320 $list->addUserFilter(
'registered', $this->lng->txt(
'event_list_registered_only'));
1335 $list->initFromForm();
1336 $list->setCallback(array($this,
'getAttendanceListUserData'));
1338 include_once
'Modules/Session/classes/class.ilEventParticipants.php';
1341 echo $list->getFullscreenHTML();
1356 $data = $this->event_part->getUser($a_user_id);
1358 if($a_filters && $a_filters[
"registered"] && !
$data[
"registered"])
1364 $this->lng->txt(
'yes') :
1365 $this->lng->txt(
'no');
1366 $data[
'participated'] =
$data[
'participated'] ?
1367 $this->lng->txt(
'yes') :
1368 $this->lng->txt(
'no');
1384 if(!$ilAccess->checkAccess(
'write',
'',$this->object->getRefId()))
1386 $ilErr->raiseError($this->lng->txt(
'msg_no_perm_read'),
$ilErr->MESSAGE);
1389 $this->tpl->addBlockFile(
'ADM_CONTENT',
'adm_content',
'tpl.sess_list.html',
'Modules/Session');
1390 $this->
__showButton($this->ctrl->getLinkTarget($this,
'exportCSV'),$this->lng->txt(
'event_csv_export'));
1392 include_once
'Modules/Session/classes/class.ilEventParticipants.php';
1394 $this->tpl->addBlockfile(
"EVENTS_TABLE",
"events_table",
"tpl.table.html");
1395 $this->tpl->addBlockfile(
'TBL_CONTENT',
'tbl_content',
'tpl.sess_list_row.html',
'Modules/Session');
1398 $members = $members_obj->getParticipants();
1403 $tbl->setTitle($this->lng->txt(
"event_overview"),
1405 $this->lng->txt(
'obj_usr'));
1406 $this->ctrl->setParameter($this,
'offset',(
int)
$_GET[
'offset']);
1408 $course_ref_id =
$tree->checkForParentType($this->object->getRefId(),
'crs');
1410 foreach(
$tree->getSubtree(
$tree->getNodeData($course_ref_id),
false,
'sess') as $event_id)
1413 if(!is_object($tmp_event) or $tmp_event->getType() !=
'sess')
1417 $events[] = $tmp_event;
1420 $headerNames = array();
1421 $headerVars = array();
1422 $colWidth = array();
1424 $headerNames[] = $this->lng->txt(
'name');
1425 $headerVars[] =
"name";
1426 $colWidth[] =
'20%';
1428 for ($i = 1; $i <= count($events); $i++)
1430 $headerNames[] = $i;
1431 $headerVars[] =
"event_".$i;
1432 $colWidth[] = 80/count($events).
"%";
1435 $this->tpl->setVariable(
"FORMACTION",$this->ctrl->getFormAction($this));
1436 $tbl->setHeaderNames($headerNames);
1437 $tbl->setHeaderVars($headerVars, $this->ctrl->getParameterArray($this,
'eventsList'));
1438 $tbl->setColumnWidth($colWidth);
1441 $tbl->setOrderDirection(
$_GET[
"sort_order"]);
1443 $tbl->setLimit(
$ilUser->getPref(
"hits_per_page"));
1444 $tbl->setMaxCount(count($members));
1445 $tbl->setFooter(
"tblfooter",$this->lng->txt(
"previous"),$this->lng->txt(
"next"));
1447 $sliced_users = array_slice($members,
$_GET[
'offset'],
$_SESSION[
'tbl_limit']);
1448 $tbl->disable(
'sort');
1452 foreach($sliced_users as $user_id)
1454 foreach($events as $event_obj)
1456 $this->tpl->setCurrentBlock(
"eventcols");
1461 $this->tpl->setVariable(
"IMAGE_PARTICIPATED", $event_part->hasParticipated($user_id) ?
1465 $this->tpl->setVariable(
"PARTICIPATED", $event_part->hasParticipated($user_id) ?
1466 $this->lng->txt(
'event_participated') :
1467 $this->lng->txt(
'event_not_participated'));
1470 $this->tpl->parseCurrentBlock();
1473 $this->tpl->setCurrentBlock(
"tbl_content");
1476 $this->tpl->setVariable(
"LASTNAME",$name[
'lastname']);
1477 $this->tpl->setVariable(
"FIRSTNAME",$name[
'firstname']);
1479 $this->tpl->parseCurrentBlock();
1482 $this->tpl->setVariable(
"HEAD_TXT_LEGEND", $this->lng->txt(
"legend"));
1483 $this->tpl->setVariable(
"HEAD_TXT_DIGIT", $this->lng->txt(
"event_digit"));
1484 $this->tpl->setVariable(
"HEAD_TXT_EVENT", $this->lng->txt(
"event"));
1485 $this->tpl->setVariable(
"HEAD_TXT_LOCATION", $this->lng->txt(
"event_location"));
1486 $this->tpl->setVariable(
"HEAD_TXT_DATE_TIME",$this->lng->txt(
"event_date_time"));
1488 foreach($events as $event_obj)
1490 $this->tpl->setCurrentBlock(
"legend_loop");
1491 $this->tpl->setVariable(
"LEGEND_CSS_ROW",
ilUtil::switchColor($counter++,
'tblrow1',
'tblrow2'));
1492 $this->tpl->setVariable(
"LEGEND_DIGIT", $i++);
1493 $this->tpl->setVariable(
"LEGEND_EVENT_TITLE", $event_obj->getTitle());
1494 $this->tpl->setVariable(
"LEGEND_EVENT_DESCRIPTION", $event_obj->getDescription());
1495 $this->tpl->setVariable(
"LEGEND_EVENT_LOCATION", $event_obj->getLocation());
1496 $this->tpl->setVariable(
"LEGEND_EVENT_APPOINTMENT", $event_obj->getFirstAppointment()->appointmentToString());
1497 $this->tpl->parseCurrentBlock();
1511 if(is_object($this->form))
1516 $this->lng->loadLanguageModule(
'dateplaner');
1518 include_once(
"./Services/Form/classes/class.ilPropertyFormGUI.php");
1520 include_once(
'./Services/YUI/classes/class.ilYuiUtil.php');
1524 $this->form->setMultipart(
true);
1525 $this->form->setTableWidth(
'600px');
1526 $this->form->setFormAction($this->ctrl->getFormAction($this));
1527 $this->form->setMultipart(
true);
1537 $this->lng->loadLanguageModule(
'dateplaner');
1538 include_once
'./Services/Form/classes/class.ilDateDurationInputGUI.php';
1539 #$this->tpl->addJavaScript('./Modules/Session/js/toggle_session_time.js');
1540 $this->tpl->addJavaScript(
'./Services/Form/js/date_duration.js');
1542 $dur->setStartText($this->lng->txt(
'event_start_date'));
1543 $dur->setEndText($this->lng->txt(
'event_end_date'));
1544 $dur->enableToggleFullTime(
1545 $this->lng->txt(
'event_fulltime_info'),
1546 $this->object->getFirstAppointment()->enabledFulltime() ?
true :
false
1548 $dur->setShowTime(
true);
1549 $dur->setStart($this->object->getFirstAppointment()->getStart());
1550 $dur->setEnd($this->object->getFirstAppointment()->getEnd());
1552 $this->form->addItem($dur);
1571 if($a_mode ==
'create')
1573 if(!is_object($this->rec))
1575 include_once(
'./Modules/Session/classes/class.ilEventRecurrence.php');
1578 include_once(
'./Services/Calendar/classes/Form/class.ilRecurrenceInputGUI.php');
1580 $rec->allowUnlimitedRecurrences(
false);
1581 $rec->setRecurrence($this->rec);
1582 $this->form->addItem($rec);
1586 $lp->setInfo($this->lng->txt(
"sess_lp_preset_info"));
1587 $lp->setChecked(
true);
1588 $this->form->addItem($lp);
1592 $section->setTitle($this->lng->txt(
'event_section_information'));
1596 $title =
new ilTextInputGUI($this->lng->txt(
'event_title'),
'title');
1597 $title->setValue($this->object->getTitle());
1598 $title->setSize(50);
1599 $title->setMaxLength(70);
1600 $this->form->addItem($title);
1604 $desc->setValue($this->object->getLongDescription());
1607 $this->form->addItem($desc);
1611 $desc->setValue($this->object->getLocation());
1614 $this->form->addItem($desc);
1617 $details =
new ilTextAreaInputGUI($this->lng->txt(
'event_details_workflow'),
'details');
1618 $details->setValue($this->object->getDetails());
1619 $details->setCols(50);
1620 $details->setRows(4);
1621 $this->form->addItem($details);
1625 $section->setTitle($this->lng->txt(
'event_tutor_data'));
1629 $tutor_name =
new ilTextInputGUI($this->lng->txt(
'tutor_name'),
'tutor_name');
1630 $tutor_name->setValue($this->object->getName());
1631 $tutor_name->setSize(20);
1632 $tutor_name->setMaxLength(70);
1633 $this->form->addItem($tutor_name);
1636 $tutor_email =
new ilTextInputGUI($this->lng->txt(
'tutor_email'),
'tutor_email');
1637 $tutor_email->setValue($this->object->getEmail());
1638 $tutor_email->setSize(20);
1639 $tutor_email->setMaxLength(70);
1640 $this->form->addItem($tutor_email);
1643 $tutor_phone =
new ilTextInputGUI($this->lng->txt(
'tutor_phone'),
'tutor_phone');
1644 $tutor_phone->setValue($this->object->getPhone());
1645 $tutor_phone->setSize(20);
1646 $tutor_phone->setMaxLength(70);
1647 $this->form->addItem($tutor_phone);
1650 $section->setTitle($this->lng->txt(
'sess_section_reg'));
1653 include_once
'./Modules/Session/classes/class.ilSessionMembershipRegistrationSettingsGUI.php';
1654 include_once
'./Services/Membership/classes/class.ilMembershipRegistrationSettings.php';
1665 $reg_settings->addMembershipFormElements($this->form,
'');
1669 $section->setTitle($this->lng->txt(
'event_assign_files'));
1673 $files->setFilenames(array(0 =>
''));
1674 $this->form->addItem(
$files);
1679 $this->form->setTitle($this->lng->txt(
'event_table_create'));
1681 $this->form->addCommandButton(
'save',$this->lng->txt(
'event_btn_add'));
1682 $this->form->addCommandButton(
'saveAndAssignMaterials',$this->lng->txt(
'event_btn_add_edit'));
1683 $this->form->addCommandButton(
'cancel',$this->lng->txt(
'cancel'));
1688 $this->form->setTitle($this->lng->txt(
'event_table_update'));
1690 $this->form->addCommandButton(
'update',$this->lng->txt(
'save'));
1691 $this->form->addCommandButton(
'cancelEdit',$this->lng->txt(
'cancel'));
1709 $this->
object->getFirstAppointment()->setStartingTime($this->
__toUnix(
$_POST[
'event'][
'start'][
'date'],
$_POST[
'event'][
'start'][
'time']));
1710 $this->
object->getFirstAppointment()->setEndingTime($this->
__toUnix(
$_POST[
'event'][
'end'][
'date'],
$_POST[
'event'][
'end'][
'time']));
1711 $this->
object->getFirstAppointment()->toggleFullTime((
bool)
$_POST[
'event'][
'fulltime']);
1713 include_once(
'./Services/Calendar/classes/class.ilDate.php');
1714 if($this->object->getFirstAppointment()->isFullday())
1716 $start =
new ilDate(
$_POST[
'event'][
'start'][
'date'][
'y'].
'-'.
$_POST[
'event'][
'start'][
'date'][
'm'].
'-'.
$_POST[
'event'][
'start'][
'date'][
'd'],
1718 $this->
object->getFirstAppointment()->setStart($start);
1720 $end =
new ilDate(
$_POST[
'event'][
'end'][
'date'][
'y'].
'-'.
$_POST[
'event'][
'end'][
'date'][
'm'].
'-'.
$_POST[
'event'][
'end'][
'date'][
'd'],
1722 $this->
object->getFirstAppointment()->setEnd($end);
1726 $start_dt[
'year'] = (int)
$_POST[
'event'][
'start'][
'date'][
'y'];
1727 $start_dt[
'mon'] = (int)
$_POST[
'event'][
'start'][
'date'][
'm'];
1728 $start_dt[
'mday'] = (int)
$_POST[
'event'][
'start'][
'date'][
'd'];
1729 $start_dt[
'hours'] = (int)
$_POST[
'event'][
'start'][
'time'][
'h'];
1730 $start_dt[
'minutes'] = (int)
$_POST[
'event'][
'start'][
'time'][
'm'];
1733 $this->
object->getFirstAppointment()->setStart($start);
1735 $end_dt[
'year'] = (int)
$_POST[
'event'][
'end'][
'date'][
'y'];
1736 $end_dt[
'mon'] = (int)
$_POST[
'event'][
'end'][
'date'][
'm'];
1737 $end_dt[
'mday'] = (int)
$_POST[
'event'][
'end'][
'date'][
'd'];
1738 $end_dt[
'hours'] = (int)
$_POST[
'event'][
'end'][
'time'][
'h'];
1739 $end_dt[
'minutes'] = (int)
$_POST[
'event'][
'end'][
'time'][
'm'];
1741 $this->
object->getFirstAppointment()->setEnd($end);
1752 $this->
object->setRegistrationType((
int) $_POST[
'registration_type']);
1754 $this->
object->setRegistrationMaxUsers((
int) $_POST[
'registration_max_members']);
1755 $this->
object->enableRegistrationUserLimit((
int) $_POST[
'registration_membership_limited']);
1757 switch((
int)
$_POST[
'waiting_list'])
1760 $this->
object->enableRegistrationWaitingList(
true);
1761 $this->
object->setWaitingListAutoFill(
true);
1765 $this->
object->enableRegistrationWaitingList(
true);
1766 $this->
object->setWaitingListAutoFill(
false);
1770 $this->
object->enableRegistrationWaitingList(
false);
1771 $this->
object->setWaitingListAutoFill(
false);
1784 include_once(
'./Modules/Session/classes/class.ilSessionRecurrence.php');
1787 switch(
$_POST[
'frequence'])
1790 $this->rec->setFrequenceType(
$_POST[
'frequence']);
1791 $this->rec->setInterval((
int)
$_POST[
'count_DAILY']);
1795 $this->rec->setFrequenceType(
$_POST[
'frequence']);
1796 $this->rec->setInterval((
int)
$_POST[
'count_WEEKLY']);
1797 if(is_array(
$_POST[
'byday_WEEKLY']))
1804 $this->rec->setFrequenceType(
$_POST[
'frequence']);
1805 $this->rec->setInterval((
int)
$_POST[
'count_MONTHLY']);
1806 switch((
int)
$_POST[
'subtype_MONTHLY'])
1813 switch((
int)
$_POST[
'monthly_byday_day'])
1817 $this->rec->setBYSETPOS((
int)
$_POST[
'monthly_byday_num']);
1818 $this->rec->setBYDAY(
'MO,TU,WE,TH,FR');
1823 $this->rec->setBYMONTHDAY((
int)
$_POST[
'monthly_byday_num']);
1827 $this->rec->setBYDAY((
int)
$_POST[
'monthly_byday_num'].
$_POST[
'monthly_byday_day']);
1833 $this->rec->setBYMONTHDAY((
int)
$_POST[
'monthly_bymonthday']);
1839 $this->rec->setFrequenceType(
$_POST[
'frequence']);
1840 $this->rec->setInterval((
int)
$_POST[
'count_YEARLY']);
1841 switch((
int)
$_POST[
'subtype_YEARLY'])
1848 $this->rec->setBYMONTH((
int)
$_POST[
'yearly_bymonth_byday']);
1849 $this->rec->setBYDAY((
int)
$_POST[
'yearly_byday_num'].
$_POST[
'yearly_byday']);
1853 $this->rec->setBYMONTH((
int)
$_POST[
'yearly_bymonth_by_monthday']);
1854 $this->rec->setBYMONTHDAY((
int)
$_POST[
'yearly_bymonthday']);
1861 switch((
int)
$_POST[
'until_type'])
1864 $this->rec->setFrequenceUntilDate(
null);
1869 $this->rec->setFrequenceUntilDate(
null);
1870 $this->rec->setFrequenceUntilCount((
int)
$_POST[
'count']);
1874 $end_dt[
'year'] = (int)
$_POST[
'until_end'][
'date'][
'y'];
1875 $end_dt[
'mon'] = (int)
$_POST[
'until_end'][
'date'][
'm'];
1876 $end_dt[
'mday'] = (int)
$_POST[
'until_end'][
'date'][
'd'];
1878 $this->rec->setFrequenceUntilCount(0);
1894 return mktime($time[
'h'],$time[
'm'],0,$date[
'm'],$date[
'd'],$date[
'y']);
1907 if (is_object($this->
object))
1910 include_once
'./Modules/Session/classes/class.ilSessionAppointment.php';
1911 $title = strlen($this->object->getTitle()) ? (
': '.$this->object->getTitle()) :
'';
1912 $title = $this->
object->getFirstAppointment()->appointmentToString().$title;
1914 $ilLocator->addItem($title, $this->ctrl->getLinkTarget($this,
"infoScreen"),
"",
$_GET[
"ref_id"]);
1928 $ilHelp->setScreenIdComponent(
"sess");
1930 $parent_id =
$tree->getParentId($this->object->getRefId());
1935 $ilCtrl->setParameterByClass(
"ilrepositorygui",
"ref_id", $parent_id);
1936 $tabs_gui->setBackTarget($this->lng->txt(
'back_to_'.$parent_type.
'_content'),
1937 $ilCtrl->getLinkTargetByClass(
"ilrepositorygui",
""));
1938 $ilCtrl->setParameterByClass(
"ilrepositorygui",
"ref_id",
$_GET[
"ref_id"]);
1940 $tabs_gui->addTarget(
'info_short',
1941 $this->ctrl->getLinkTarget($this,
'infoScreen'));
1943 if($ilAccess->checkAccess(
'write',
'',$this->object->getRefId()))
1945 $tabs_gui->addTarget(
'settings',
1946 $this->ctrl->getLinkTarget($this,
'edit'));
1947 $tabs_gui->addTarget(
'crs_materials',
1948 $this->ctrl->getLinkTarget($this,
'materials'));
1949 $tabs_gui->addTarget(
'event_edit_members',
1950 $this->ctrl->getLinkTarget($this,
'members'));
1954 include_once
'./Services/Tracking/classes/class.ilLearningProgressAccess.php';
1957 $tabs_gui->addTarget(
'learning_progress',
1958 $this->ctrl->getLinkTargetByClass(array(
'ilobjsessiongui',
'illearningprogressgui'),
''),
1960 array(
'illplistofobjectsgui',
'illplistofsettingsgui',
'illearningprogressgui',
'illplistofprogressgui'));
1964 if ($ilAccess->checkAccess(
"write",
"", $this->object->getRefId()))
1966 $ilTabs->addTarget(
"export",
1967 $this->ctrl->getLinkTargetByClass(
"ilexportgui",
""),
"",
"ilexportgui");
1972 if ($ilAccess->checkAccess(
'edit_permission',
"", $this->object->getRefId()))
1974 $tabs_gui->addTarget(
"perm_settings",
1975 $this->ctrl->getLinkTargetByClass(
"ilpermissiongui",
"perm"), array(
"perm",
"info",
"owner"),
'ilpermissiongui');
1988 include_once
'./Modules/Session/classes/class.ilEventItems.php';
1989 $event_items =
new ilEventItems($this->object->getId());
1990 $event_items->addItem($a_obj->
getRefId());
1991 $event_items->update();
2004 $GLOBALS[
'ilCtrl']->setReturn($this,
'members');
2005 $GLOBALS[
'ilCtrl']->setCmdClass(
'ilmembershipgui');
2006 include_once
'./Services/Membership/classes/class.ilMembershipGUI.php';
2008 $GLOBALS[
'ilCtrl']->forwardCommand($mem);
2016 $tmp_data = array();
2017 foreach ($a_usr_ids as $usr_id)
2019 $tmp_data[$usr_id] = array();
2035 if(!count(
$_POST[
"waiting"]))
2042 include_once(
'./Modules/Session/classes/class.ilSessionWaitingList.php');
2045 include_once
'./Modules/Session/classes/class.ilEventParticipants.php';
2049 foreach(
$_POST[
"waiting"] as $user_id)
2051 $part->register($user_id);
2052 $waiting_list->removeFromList($user_id);
2054 include_once
'./Modules/Session/classes/class.ilSessionMembershipMailNotification.php';
2056 $noti->setRefId($this->object->getRefId());
2057 $noti->setRecipients(array($user_id));
2073 $this->searchObject();
2088 if(!count(
$_POST[
'waiting']))
2095 include_once(
'./Modules/Session/classes/class.ilSessionWaitingList.php');
2098 foreach(
$_POST[
"waiting"] as $user_id)
2100 $waiting_list->removeFromList($user_id);
2102 include_once
'./Modules/Session/classes/class.ilSessionMembershipMailNotification.php';
2104 $noti->setRefId($this->object->getRefId());
2105 $noti->setRecipients(array($user_id));
2128 if(!count(
$_POST[
'subscribers']))
2135 include_once
'./Services/Membership/classes/class.ilParticipants.php';
2138 foreach(
$_POST[
'subscribers'] as $usr_id)
2140 $part->add($usr_id);
2141 $part->deleteSubscriber($usr_id);
2143 include_once
'./Modules/Session/classes/class.ilSessionMembershipMailNotification.php';
2145 $noti->setRefId($this->object->getRefId());
2146 $noti->setRecipients(array($usr_id));
2151 $this->ctrl->redirect($this,
'members');
2167 if(!count(
$_POST[
'subscribers']))
2174 include_once
'./Services/Membership/classes/class.ilParticipants.php';
2176 foreach(
$_POST[
'subscribers'] as $usr_id)
2178 $part->deleteSubscriber($usr_id);
2180 include_once
'./Modules/Session/classes/class.ilSessionMembershipMailNotification.php';
2182 $noti->setRefId($this->object->getRefId());
2183 $noti->setRecipients(array($usr_id));
2198 if(!$this->container_ref_id)
2207 if(!is_array(
$_POST[
"subscribers"]))
2215 $this->lng->loadLanguageModule(
'mmbr');
2218 $this->tabs_gui->setTabActive(
'event_edit_members');
2220 include_once(
"Services/Utilities/classes/class.ilConfirmationGUI.php");
2224 $c_gui->setFormAction($this->ctrl->getFormAction($this,
"refuseSubscribers"));
2225 $c_gui->setHeaderText($this->lng->txt(
"info_refuse_sure"));
2226 $c_gui->setCancel($this->lng->txt(
"cancel"),
"members");
2227 $c_gui->setConfirm($this->lng->txt(
"confirm"),
"refuseSubscribers");
2229 foreach(
$_POST[
"subscribers"] as $subscribers)
2233 $c_gui->addItem(
'subscribers[]',
2235 $name[
'lastname'].
', '.$name[
'firstname'].
' ['.$name[
'login'].
']',
2239 $this->tpl->setContent($c_gui->getHTML());
2245 if(!is_array(
$_POST[
"subscribers"]))
2253 $this->tabs_gui->setTabActive(
'event_edit_members');
2255 include_once(
"Services/Utilities/classes/class.ilConfirmationGUI.php");
2259 $c_gui->setFormAction($this->ctrl->getFormAction($this,
"assignSubscribers"));
2260 $c_gui->setHeaderText($this->lng->txt(
"info_assign_sure"));
2261 $c_gui->setCancel($this->lng->txt(
"cancel"),
"members");
2262 $c_gui->setConfirm($this->lng->txt(
"confirm"),
"assignSubscribers");
2264 foreach(
$_POST[
"subscribers"] as $subscribers)
2268 $c_gui->addItem(
'subscribers[]',
2270 $name[
'lastname'].
', '.$name[
'firstname'].
' ['.$name[
'login'].
']',
2274 $this->tpl->setContent($c_gui->getHTML());
2280 if(!is_array(
$_POST[
"waiting"]))
2288 $this->lng->loadLanguageModule(
'mmbr');
2291 $this->tabs_gui->setTabActive(
'event_edit_members');
2293 include_once(
"Services/Utilities/classes/class.ilConfirmationGUI.php");
2297 $c_gui->setFormAction($this->ctrl->getFormAction($this,
"refuseFromList"));
2298 $c_gui->setHeaderText($this->lng->txt(
"info_refuse_sure"));
2299 $c_gui->setCancel($this->lng->txt(
"cancel"),
"members");
2300 $c_gui->setConfirm($this->lng->txt(
"confirm"),
"refuseFromList");
2302 foreach(
$_POST[
"waiting"] as $waiting)
2306 $c_gui->addItem(
'waiting[]',
2308 $name[
'lastname'].
', '.$name[
'firstname'].
' ['.$name[
'login'].
']',
2312 $this->tpl->setContent($c_gui->getHTML());
2318 if(!is_array(
$_POST[
"waiting"]))
2326 $this->tabs_gui->setTabActive(
'event_edit_members');
2328 include_once(
"Services/Utilities/classes/class.ilConfirmationGUI.php");
2332 $c_gui->setFormAction($this->ctrl->getFormAction($this,
"assignFromWaitingList"));
2333 $c_gui->setHeaderText($this->lng->txt(
"info_assign_sure"));
2334 $c_gui->setCancel($this->lng->txt(
"cancel"),
"members");
2335 $c_gui->setConfirm($this->lng->txt(
"confirm"),
"assignFromWaitingList");
2337 foreach(
$_POST[
"waiting"] as $waiting)
2341 $c_gui->addItem(
'waiting[]',
2343 $name[
'lastname'].
', '.$name[
'firstname'].
' ['.$name[
'login'].
']',
2347 $this->tpl->setContent($c_gui->getHTML());
2354 $parent_id =
$tree->getParentId($this->object->getRefId());
2355 $ilCtrl->setParameterByClass(
"ilrepositorygui",
"ref_id", $parent_id);
2356 $ilCtrl->redirectByClass(
"ilrepositorygui",
"");
const IL_CAL_FREQ_MONTHLY
Base class for attendance lists.
Calculates an ilDateList for a given calendar entry and recurrence rule.
_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
@classDescription Date and time handling
static addToDesktop()
Add desktop item @access public.
static removeFromDesktop()
Remove item from personal desktop @access public.
_register($a_usr_id, $a_event_id)
static _isRegistered($a_usr_id, $a_event_id)
_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.
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.
updateMembersObject()
update participants
unregisterObject()
unregister from session
materialsObject()
show material assignment
addLocatorItems()
Add session locator.
executeCommand()
execute command
initContainer($a_init_participants=false)
refuseFromListObject()
refuse from waiting list
saveMaterialsObject()
save material assignment
readMemberData($a_usr_ids)
Used for waiting list.
getTabs($tabs_gui)
Build tabs.
loadRecurrenceSettings()
load recurrence settings
confirmAssignSubscribersObject()
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.
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.
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.
const IL_CAL_FREQ_DAILY
Model of calendar entry recurrcences.
$GLOBALS['PHPCAS_CLIENT']
This global variable is used by the interface class phpCAS.
Interface for gui classes (e.g ilLuceneSearchGUI) that offer add/remove to/from desktop.