4 include_once(
'./Services/Object/classes/class.ilObjectGUI.php');
5 include_once(
'./Modules/Session/classes/class.ilObjSession.php');
6 include_once(
'./Modules/Session/classes/class.ilSessionFile.php');
7 include_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(),
122 $_GET[
'user_id'] ?
$_GET[
'user_id'] : $ilUser->getId());
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');
217 $part->add($ilUser->getId());
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))
298 $ilErr->raiseError($lng->txt(
"msg_no_perm_read"), $ilErr->FATAL);
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());
370 if(!$this->
getCurrentObject()->enabledRegistration() || $ilUser->isAnonymous())
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';
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;
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();
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';
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);
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)
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);
1440 $tbl->setOrderColumn($_GET[
"sort_by"]);
1441 $tbl->setOrderDirection($_GET[
"sort_order"]);
1442 $tbl->setOffset($_GET[
"offset"]);
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');
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());
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)
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)
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",
"");
getItems()
get assigned items
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 sendSuccess($a_info="", $a_keep=false)
Send Success Message to Screen.
static _lookupLogin($a_user_id)
lookup login
static _lookupName($a_user_id)
lookup user name
loadRecurrenceSettings()
load recurrence settings
const IL_CAL_FREQ_MONTHLY
confirmAssignFromWaitingListObject()
eventsListObject()
list sessions of all user
initCreateForm($a_new_type)
static getItemsByEvent($a_event_id)
Get session material / event items.
getInstanceByRefId($a_ref_id, $stop_on_error=true)
get an instance of an Ilias object by reference id
afterSaveCallback(ilObject $a_obj)
Custom callback after object is created (in parent containert.
initForm($a_mode)
Init Form.
confirmAssignSubscribersObject()
registerObject()
register to session
removeFromList($a_usr_id)
remove usr from list
GUI class for the workflow of copying objects.
confirmRefuseSubscribersObject()
updateMembersObject()
update participants
sendFileObject()
send file
membersObject()
Show participants table.
saveMaterialsObject()
save material assignment
updateObject()
update object
Class ilObject Basic functions for all objects.
static formatPeriod(ilDateTime $start, ilDateTime $end)
Format a period of two date Shows: 14.
__showButton($a_cmd, $a_text, $a_target='')
static _getInstanceByObjId($a_obj_id)
Get singleton instance.
setValue($a_value)
Set Value.
static setUseRelativeDates($a_status)
set use relative dates
infoScreenObject()
this one is called from the info button in the repository not very nice to set cmdClass/Cmd manually...
createObject()
create new object form
_unregister($a_usr_id, $a_event_id)
showJoinRequestButton()
show join request
static addToDesktop()
Add desktop item public.
_register($a_usr_id, $a_event_id)
executeCommand()
execute command
getCurrentObject()
Get session object.
static _isRegistered($a_usr_id, $a_event_id)
Base class for attendance lists.
static _goto($a_target)
goto
getAttendanceListUserData($a_user_id, $a_filters)
Get user data for attendance list.
assignFromWaitingListObject()
add from waiting list
setShowHidePrefs()
set preferences (show/hide tabel content)
static sendInfo($a_info="", $a_keep=false)
Send Info Message to Screen.
calculateDateList(ilDateTime $a_start, ilDateTime $a_end, $a_limit=-1)
calculate date list
readMemberData($a_usr_ids)
Used for waiting list.
addLocatorItems()
Add session locator.
Export User Interface Class.
static checkAccess($a_ref_id, $a_allow_only_read=true)
check access to learning progress
__toUnix($date, $time)
protected
createRecurringSessions($a_activate_lp=true)
create recurring sessions
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,7),'usr_data','lastname','usr_id') => sorts by lastname.
Calculates an ilDateList for a given calendar entry and recurrence rule.
static _gotoRepositoryNode($a_ref_id, $a_cmd="frameset")
Goto repository root.
assignSubscribersObject()
assign subscribers
__construct($a_data, $a_id, $a_call_by_reference, $a_prepare_output=true)
Constructor.
static getImagePath($img, $module_path="", $mode="output", $offline=false)
get image path (for images located in a template directory)
const IL_CAL_FREQ_DAILY
Model of calendar entry recurrcences.
Class ilObjectGUI Basic methods of all Output classes.
static _lookupObjId($a_id)
initContainer($a_init_participants=false)
This class represents a text property in a property form.
static initDomEvent()
Init YUI DomEvent.
sendMailToSelectedUsersObject()
Send mail to selected users.
GUI class for course/group subscriptions.
const REGISTRATION_LIMITED_USERS
saveObject($a_redirect_on_success=true)
save object
static stripSlashes($a_str, $a_strip_html=true, $a_allow="")
strip slashes if magic qoutes is enabled
static deliverFile($a_file, $a_filename, $a_mime='', $isInline=false, $removeAfterDelivery=false, $a_exit_after=true)
deliver file for download via browser.
static _isOnList($a_usr_id, $a_obj_id)
Check if a user on the waiting list.
static addListGUIActivationProperty(ilObjectListGUI $a_list_gui, array &$a_item)
Get timing details for list gui.
static _getInstanceByObjId($a_obj_id)
Get singleton instance.
static _lookupType($a_id, $a_reference=false)
lookup object type
static sendFailure($a_info="", $a_keep=false)
Send Failure Message to Screen.
deleteFilesObject()
delete files
materialsObject()
show material assignment
_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.
refuseSubscribersObject()
refuse subscribers
static removeFromDesktop()
Remove item from personal desktop public.
const LP_MODE_DEACTIVATED
const TYPE_REFUSED_SUBSCRIPTION_MEMBER
joinObject()
Called from info screen.
Interface for gui classes (e.g ilLuceneSearchGUI) that offer add/remove to/from desktop.
Render add new item selector.
const TYPE_ACCEPTED_SUBSCRIPTION_MEMBER
const LP_CONTEXT_REPOSITORY
This class represents a text area property in a property form.
static switchColor($a_num, $a_css1, $a_css2)
switches style sheets for each even $a_num (used for changing colors of different result rows) ...
confirmRefuseFromListObject()
getTabs($tabs_gui)
Build tabs.
GUI class for course/group waiting list.
getCreationMode()
get creation mode
getRefId()
get reference id public
modifyItemGUI($a_item_list_gui, $a_item_data, $a_show_path)
Modify Item ListGUI for presentation in container.
confirmDeleteFilesObject()
confirm delete files
getContainerRefId()
container ref id
static deleteUserEntry($a_usr_id, $a_obj_id)
Delete one user entry.
checkPermission($a_perm, $a_cmd="", $a_type="", $a_ref_id=null)
Check permission and redirect on error.
New PermissionGUI (extends from old ilPermission2GUI) RBAC related output.
static _getInstance($a_obj_id)
get instance by obj_id
$GLOBALS['PHPCAS_CLIENT']
This global variable is used by the interface class phpCAS.
addItem($a_item_ref_id)
Add one item.
refuseFromListObject()
refuse from waiting list
setValue($a_value)
Set Value.
initAttendanceList()
Init attendance list object.
addHeaderAction()
Add header action menu.
static factory($a_type)
Get list gui by type This method caches all the returned list guis.
attendanceListObject()
show attendance list selection
saveAndAssignMaterialsObject()
Save and assign sessoin materials.
Class ilObjUserTrackingGUI.
unregisterObject()
unregister from session
static getInstanceByObjId($a_obj_id)
Get instance by obj type.
static getInstanceFromAjaxCall()
(Re-)Build instance from ajax call
printAttendanceListObject()
print attendance list
Confirmation screen class.