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());
819 $ilErr->setMessage(
'');
820 if(!$this->form->checkInput())
822 $ilErr->setMessage($this->lng->txt(
'err_check_input'));
824 $this->
object->validate();
825 $this->
object->getFirstAppointment()->validate();
827 if(strlen($ilErr->getMessage()))
834 $this->
object->update();
835 $this->
object->getFirstAppointment()->update();
840 $this->ctrl->redirect($this,
'edit');
841 #$this->object->initFiles(); 842 #$this->editObject(); 855 $this->tabs_gui->setTabActive(
'settings');
857 if(!count(
$_POST[
'file_id']))
864 include_once(
"Services/Utilities/classes/class.ilConfirmationGUI.php");
868 $c_gui->setFormAction($this->ctrl->getFormAction($this,
"deleteFiles"));
869 $c_gui->setHeaderText($this->lng->txt(
"info_delete_sure"));
870 $c_gui->setCancel($this->lng->txt(
"cancel"),
"edit");
871 $c_gui->setConfirm($this->lng->txt(
"confirm"),
"deleteFiles");
874 foreach(
$_POST[
"file_id"] as $file_id)
877 if(
$file->getSessionId() != $this->
object->getEventId())
883 $c_gui->addItem(
"file_id[]", $file_id,
$file->getFileName());
886 $this->tpl->setContent($c_gui->getHTML());
899 if(!count(
$_POST[
'file_id']))
905 foreach(
$_POST[
'file_id'] as $id)
910 $this->
object->initFiles();
919 $is_course = $is_group =
false;
922 $this->container_ref_id = $tree->checkForParentType($this->object->getRefId(),
'grp');
923 if($this->container_ref_id)
927 if(!$this->container_ref_id)
929 $this->container_ref_id = $tree->checkForParentType($this->object->getRefId(),
'crs');
930 if($this->container_ref_id)
935 if(!$this->container_ref_id)
942 if($a_init_participants && $this->container_obj_id)
946 include_once
'./Modules/Course/classes/class.ilCourseParticipants.php';
951 include_once
'./Modules/Group/classes/class.ilGroupParticipants.php';
969 $this->tabs_gui->setTabActive(
'crs_materials');
972 $parent_ref_id = $tree->getParentId($this->object->getRefId());
974 include_once
"Services/Object/classes/class.ilObjectAddNewItemGUI.php";
976 $gui->setDisabledObjectTypes(array(
"itgr",
"sess"));
977 $gui->setAfterCreationCallback($this->ref_id);
980 include_once
'Modules/Session/classes/class.ilEventItems.php';
981 $this->event_items =
new ilEventItems($this->object->getId());
983 include_once
'Modules/Session/classes/class.ilSessionMaterialsTableGUI.php';
985 $tbl->setTitle($this->lng->txt(
"event_assign_materials_table"));
986 $tbl->setDescription($this->lng->txt(
'event_assign_materials_info'));
988 $tbl->setMaterialItems($this->event_items->getItems());
990 $tbl->getDataFromDb();
992 $this->tpl->setContent($tbl->getHTML());
1004 include_once
'./Modules/Session/classes/class.ilEventItems.php';
1006 $this->event_items =
new ilEventItems($this->object->getId());
1008 $list_items = is_array(
$_POST[
'all_items']) ?
$_POST[
'all_items'] : array();
1009 $list_items_checked = is_array(
$_POST[
'items']) ?
$_POST[
'items'] : array();
1011 $checked = $this->event_items->getItems();
1012 $checked = array_diff($checked, $list_items);
1013 $checked = array_merge($checked, $list_items_checked);
1015 $this->event_items->setItems($checked);
1016 $this->event_items->update();
1018 include_once
'Modules/Session/classes/class.ilSessionMaterialsTableGUI.php';
1021 $tbl->storeNavParameter();
1024 $this->ctrl->redirect($this,
'materials');
1036 $this->tabs_gui->setTabActive(
'event_edit_members');
1038 $this->tpl->addBlockFile(
'ADM_CONTENT',
'adm_content',
'tpl.sess_members.html',
'Modules/Session');
1040 include_once
'./Services/UIComponent/Toolbar/classes/class.ilToolbarGUI.php';
1042 $toolbar->addButton($this->lng->txt(
'sess_gen_attendance_list'),
1043 $this->ctrl->getLinkTarget($this,
'attendanceList'));
1045 $this->tpl->setVariable(
'ACTION_BUTTONS',$toolbar->getHTML());
1049 include_once
'./Modules/Session/classes/class.ilEventParticipants.php';
1055 include_once(
'./Modules/Session/classes/class.ilSessionWaitingList.php');
1057 if(count($wait = $waiting_list->getAllUsers()))
1059 include_once(
'./Services/Membership/classes/class.ilWaitingListTableGUI.php');
1060 if($ilUser->getPref(
'sess_wait_hide'))
1063 $this->ctrl->setParameter($this,
'wait_hide',0);
1064 $table_gui->addHeaderCommand($this->ctrl->getLinkTarget($this,
'members'),
1065 $this->lng->txt(
'show'));
1066 $this->ctrl->clearParameters($this);
1071 $this->ctrl->setParameter($this,
'wait_hide',1);
1072 $table_gui->addHeaderCommand($this->ctrl->getLinkTarget($this,
'members'),
1073 $this->lng->txt(
'hide'));
1074 $this->ctrl->clearParameters($this);
1076 $table_gui->setUsers($wait);
1077 $table_gui->setTitle($this->lng->txt(
'grp_header_waiting_list'),
'icon_usr.svg',$this->lng->txt(
'group_new_registrations'));
1078 $this->tpl->setVariable(
'TABLE_WAIT',$table_gui->getHTML());
1083 include_once
'./Services/Membership/classes/class.ilParticipants.php';
1085 if($part->getSubscribers())
1087 include_once(
'./Services/Membership/classes/class.ilSubscriberTableGUI.php');
1088 if($ilUser->getPref(
'grp_subscriber_hide'))
1091 $this->ctrl->setParameter($this,
'subscriber_hide',0);
1092 $table_gui->addHeaderCommand($this->ctrl->getLinkTarget($this,
'members'),
1093 $this->lng->txt(
'show'));
1094 $this->ctrl->clearParameters($this);
1099 $this->ctrl->setParameter($this,
'subscriber_hide',1);
1100 $table_gui->addHeaderCommand($this->ctrl->getLinkTarget($this,
'members'),
1101 $this->lng->txt(
'hide'));
1102 $this->ctrl->clearParameters($this);
1104 $table_gui->readSubscriberData();
1105 $table_gui->setTitle($this->lng->txt(
'group_new_registrations'),
'icon_usr.svg',$this->lng->txt(
'group_new_registrations'));
1106 $this->tpl->setVariable(
'TABLE_SUB',$table_gui->getHTML());
1111 if(count($admins = $members_obj->getAdmins()))
1113 include_once(
'./Modules/Session/classes/class.ilSessionParticipantsTableGUI.php');
1114 if($ilUser->getPref(
'sess_admin_hide'))
1117 $this->ctrl->setParameter($this,
'admin_hide',0);
1118 $table->addHeaderCommand($this->ctrl->getLinkTarget($this,
'members'),
1119 $this->lng->txt(
'show'));
1120 $this->ctrl->clearParameters($this);
1125 $this->ctrl->setParameter($this,
'admin_hide',1);
1126 $table->addHeaderCommand($this->ctrl->getLinkTarget($this,
'members'),
1127 $this->lng->txt(
'hide'));
1128 $this->ctrl->clearParameters($this);
1131 $table->addCommandButton(
'updateMembers',$this->lng->txt(
'save'));
1132 $table->setTitle($this->lng->txt(
'event_tbl_admins'),
'icon_usr.svg',$this->lng->txt(
'event_tbl_admins'));
1133 $table->enableRegistration($this->object->enabledRegistration());
1134 $table->setParticipants($admins);
1136 $this->tpl->setVariable(
'ADMINS',$table->getHTML());
1140 if(count($tutors = $members_obj->getTutors()))
1142 include_once(
'./Modules/Session/classes/class.ilSessionParticipantsTableGUI.php');
1143 if($ilUser->getPref(
'sess_tutor_hide'))
1146 $this->ctrl->setParameter($this,
'tutor_hide',0);
1147 $table->addHeaderCommand($this->ctrl->getLinkTarget($this,
'members'),
1148 $this->lng->txt(
'show'));
1149 $this->ctrl->clearParameters($this);
1154 $this->ctrl->setParameter($this,
'tutor_hide',1);
1155 $table->addHeaderCommand($this->ctrl->getLinkTarget($this,
'members'),
1156 $this->lng->txt(
'hide'));
1157 $this->ctrl->clearParameters($this);
1159 $table->addCommandButton(
'updateMembers',$this->lng->txt(
'save'));
1160 $table->setTitle($this->lng->txt(
'event_tbl_tutors'),
'icon_usr.svg',$this->lng->txt(
'event_tbl_admins'));
1161 $table->enableRegistration($this->object->enabledRegistration());
1162 $table->setParticipants($tutors);
1164 $this->tpl->setVariable(
'TUTORS',$table->getHTML());
1168 if(count($members = $members_obj->getMembers()))
1170 include_once(
'./Modules/Session/classes/class.ilSessionParticipantsTableGUI.php');
1171 if($ilUser->getPref(
'sess_member_hide'))
1174 $this->ctrl->setParameter($this,
'member_hide',0);
1175 $table->addHeaderCommand($this->ctrl->getLinkTarget($this,
'members'),
1176 $this->lng->txt(
'show'));
1177 $this->ctrl->clearParameters($this);
1182 $this->ctrl->setParameter($this,
'member_hide',1);
1183 $table->addHeaderCommand($this->ctrl->getLinkTarget($this,
'members'),
1184 $this->lng->txt(
'hide'));
1185 $this->ctrl->clearParameters($this);
1187 $table->addCommandButton(
'updateMembers',$this->lng->txt(
'save'));
1188 $table->setTitle($this->lng->txt(
'event_tbl_members'),
'icon_usr.svg',$this->lng->txt(
'event_tbl_admins'));
1189 $table->enableRegistration($this->object->enabledRegistration());
1190 $table->setParticipants($members);
1192 $this->tpl->setVariable(
'MEMBERS',$table->getHTML());
1196 $GLOBALS[
'lng']->loadLanguageModule(
'mmbr');
1197 $this->tpl->setVariable(
'FORMACTION',$this->ctrl->getFormAction($this));
1198 $this->tpl->setVariable(
'TXT_SELECTED_USER',$this->lng->txt(
'mmbr_selected_users'));
1199 $this->tpl->setVariable(
'BTN_FOOTER_MAIL',$this->lng->txt(
'mmbr_btn_mail_selected_users'));
1213 if(isset(
$_GET[
'admin_hide']))
1215 $ilUser->writePref(
'sess_admin_hide',(
int)
$_GET[
'admin_hide']);
1217 if(isset(
$_GET[
'tutor_hide']))
1219 $ilUser->writePref(
'sess_tutor_hide',(
int)
$_GET[
'tutor_hide']);
1221 if(isset(
$_GET[
'member_hide']))
1223 $ilUser->writePref(
'sess_member_hide',(
int)
$_GET[
'member_hide']);
1244 $_POST[
'participants'] = is_array(
$_POST[
'participants']) ?
$_POST[
'participants'] : array();
1245 $_POST[
'registered'] = is_array(
$_POST[
'registered']) ?
$_POST[
'registered'] : array();
1247 include_once
'Modules/Session/classes/class.ilEventParticipants.php';
1249 $visible =
$_POST[
'visible_participants'] ?
$_POST[
'visible_participants'] : array();
1250 foreach($visible as $user)
1256 $part->setParticipated(isset(
$_POST[
'participants'][$user]) ?
true :
false);
1257 $part->setRegistered(isset(
$_POST[
'registered'][$user]) ?
true :
false);
1258 $part->updateUser();
1272 global
$tpl,$ilTabs;
1275 $ilTabs->setTabActive(
'event_edit_members');
1278 $form = $list->initForm(
'printAttendanceList');
1279 $tpl->setContent($form->getHTML());
1291 include_once
'Services/Membership/classes/class.ilAttendanceList.php';
1293 $list->setId(
'sessattlst');
1295 $event_app = $this->
object->getFirstAppointment();
1299 $desc .=
" ".$this->object->getTitle();
1300 $list->setTitle($this->lng->txt(
'sess_attendance_list'), $desc);
1302 $list->addPreset(
'mark', $this->lng->txt(
'trac_mark'),
true);
1303 $list->addPreset(
'comment', $this->lng->txt(
'trac_comment'),
true);
1304 if($this->object->enabledRegistration())
1306 $list->addPreset(
'registered', $this->lng->txt(
'event_tbl_registered'),
true);
1308 $list->addPreset(
'participated', $this->lng->txt(
'event_tbl_participated'),
true);
1309 $list->addBlank($this->lng->txt(
'sess_signature'));
1311 $list->addUserFilter(
'registered', $this->lng->txt(
'event_list_registered_only'));
1326 $list->initFromForm();
1327 $list->setCallback(array($this,
'getAttendanceListUserData'));
1329 include_once
'Modules/Session/classes/class.ilEventParticipants.php';
1332 echo $list->getFullscreenHTML();
1347 $data = $this->event_part->getUser($a_user_id);
1349 if($a_filters && $a_filters[
"registered"] && !
$data[
"registered"])
1355 $this->lng->txt(
'yes') :
1356 $this->lng->txt(
'no');
1357 $data[
'participated'] =
$data[
'participated'] ?
1358 $this->lng->txt(
'yes') :
1359 $this->lng->txt(
'no');
1375 if(!$ilAccess->checkAccess(
'write',
'',$this->object->getRefId()))
1377 $ilErr->raiseError($this->lng->txt(
'msg_no_perm_read'),$ilErr->MESSAGE);
1380 $this->tpl->addBlockFile(
'ADM_CONTENT',
'adm_content',
'tpl.sess_list.html',
'Modules/Session');
1381 $this->
__showButton($this->ctrl->getLinkTarget($this,
'exportCSV'),$this->lng->txt(
'event_csv_export'));
1383 include_once
'Modules/Session/classes/class.ilEventParticipants.php';
1385 $this->tpl->addBlockfile(
"EVENTS_TABLE",
"events_table",
"tpl.table.html");
1386 $this->tpl->addBlockfile(
'TBL_CONTENT',
'tbl_content',
'tpl.sess_list_row.html',
'Modules/Session');
1389 $members = $members_obj->getParticipants();
1394 $tbl->setTitle($this->lng->txt(
"event_overview"),
1396 $this->lng->txt(
'obj_usr'));
1397 $this->ctrl->setParameter($this,
'offset',(
int)
$_GET[
'offset']);
1399 $course_ref_id = $tree->checkForParentType($this->object->getRefId(),
'crs');
1401 foreach($tree->getSubtree($tree->getNodeData($course_ref_id),
false,
'sess') as $event_id)
1404 if(!is_object($tmp_event) or $tmp_event->getType() !=
'sess')
1408 $events[] = $tmp_event;
1411 $headerNames = array();
1412 $headerVars = array();
1413 $colWidth = array();
1415 $headerNames[] = $this->lng->txt(
'name');
1416 $headerVars[] =
"name";
1417 $colWidth[] =
'20%';
1419 for ($i = 1; $i <= count($events); $i++)
1421 $headerNames[] = $i;
1422 $headerVars[] =
"event_".$i;
1423 $colWidth[] = 80/count($events).
"%";
1426 $this->tpl->setVariable(
"FORMACTION",$this->ctrl->getFormAction($this));
1427 $tbl->setHeaderNames($headerNames);
1428 $tbl->setHeaderVars($headerVars, $this->ctrl->getParameterArray($this,
'eventsList'));
1429 $tbl->setColumnWidth($colWidth);
1431 $tbl->setOrderColumn($_GET[
"sort_by"]);
1432 $tbl->setOrderDirection($_GET[
"sort_order"]);
1433 $tbl->setOffset($_GET[
"offset"]);
1434 $tbl->setLimit($ilUser->getPref(
"hits_per_page"));
1435 $tbl->setMaxCount(count($members));
1436 $tbl->setFooter(
"tblfooter",$this->lng->txt(
"previous"),$this->lng->txt(
"next"));
1438 $sliced_users = array_slice($members,$_GET[
'offset'],
$_SESSION[
'tbl_limit']);
1439 $tbl->disable(
'sort');
1443 foreach($sliced_users as $user_id)
1445 foreach($events as $event_obj)
1447 $this->tpl->setCurrentBlock(
"eventcols");
1452 $this->tpl->setVariable(
"IMAGE_PARTICIPATED", $event_part->hasParticipated($user_id) ?
1456 $this->tpl->setVariable(
"PARTICIPATED", $event_part->hasParticipated($user_id) ?
1457 $this->lng->txt(
'event_participated') :
1458 $this->lng->txt(
'event_not_participated'));
1461 $this->tpl->parseCurrentBlock();
1464 $this->tpl->setCurrentBlock(
"tbl_content");
1467 $this->tpl->setVariable(
"LASTNAME",$name[
'lastname']);
1468 $this->tpl->setVariable(
"FIRSTNAME",$name[
'firstname']);
1470 $this->tpl->parseCurrentBlock();
1473 $this->tpl->setVariable(
"HEAD_TXT_LEGEND", $this->lng->txt(
"legend"));
1474 $this->tpl->setVariable(
"HEAD_TXT_DIGIT", $this->lng->txt(
"event_digit"));
1475 $this->tpl->setVariable(
"HEAD_TXT_EVENT", $this->lng->txt(
"event"));
1476 $this->tpl->setVariable(
"HEAD_TXT_LOCATION", $this->lng->txt(
"event_location"));
1477 $this->tpl->setVariable(
"HEAD_TXT_DATE_TIME",$this->lng->txt(
"event_date_time"));
1479 foreach($events as $event_obj)
1481 $this->tpl->setCurrentBlock(
"legend_loop");
1482 $this->tpl->setVariable(
"LEGEND_CSS_ROW",
ilUtil::switchColor($counter++,
'tblrow1',
'tblrow2'));
1483 $this->tpl->setVariable(
"LEGEND_DIGIT", $i++);
1484 $this->tpl->setVariable(
"LEGEND_EVENT_TITLE", $event_obj->getTitle());
1485 $this->tpl->setVariable(
"LEGEND_EVENT_DESCRIPTION", $event_obj->getDescription());
1486 $this->tpl->setVariable(
"LEGEND_EVENT_LOCATION", $event_obj->getLocation());
1487 $this->tpl->setVariable(
"LEGEND_EVENT_APPOINTMENT", $event_obj->getFirstAppointment()->appointmentToString());
1488 $this->tpl->parseCurrentBlock();
1502 if(is_object($this->form))
1507 $this->lng->loadLanguageModule(
'dateplaner');
1509 include_once(
"./Services/Form/classes/class.ilPropertyFormGUI.php");
1511 include_once(
'./Services/YUI/classes/class.ilYuiUtil.php');
1515 $this->form->setMultipart(
true);
1516 $this->form->setTableWidth(
'600px');
1517 $this->form->setFormAction($this->ctrl->getFormAction($this));
1518 $this->form->setMultipart(
true);
1528 $this->lng->loadLanguageModule(
'dateplaner');
1529 include_once
'./Services/Form/classes/class.ilDateDurationInputGUI.php';
1530 #$this->tpl->addJavaScript('./Modules/Session/js/toggle_session_time.js'); 1531 $this->tpl->addJavaScript(
'./Services/Form/js/date_duration.js');
1533 $dur->
setStartText($this->lng->txt(
'event_start_date'));
1534 $dur->setEndText($this->lng->txt(
'event_end_date'));
1535 $dur->enableToggleFullTime(
1536 $this->lng->txt(
'event_fulltime_info'),
1537 $this->
object->getFirstAppointment()->enabledFulltime() ? true : false
1539 $dur->setShowTime(
true);
1540 $dur->setStart($this->object->getFirstAppointment()->getStart());
1541 $dur->setEnd($this->object->getFirstAppointment()->getEnd());
1543 $this->form->addItem($dur);
1562 if($a_mode ==
'create')
1564 if(!is_object($this->rec))
1566 include_once(
'./Modules/Session/classes/class.ilEventRecurrence.php');
1569 include_once(
'./Services/Calendar/classes/Form/class.ilRecurrenceInputGUI.php');
1572 $rec->setRecurrence($this->rec);
1573 $this->form->addItem($rec);
1577 $lp->
setInfo($this->lng->txt(
"sess_lp_preset_info"));
1578 $lp->setChecked(
true);
1579 $this->form->addItem($lp);
1583 $section->setTitle($this->lng->txt(
'event_section_information'));
1587 $title =
new ilTextInputGUI($this->lng->txt(
'event_title'),
'title');
1588 $title->
setValue($this->object->getTitle());
1589 $title->setSize(50);
1590 $title->setMaxLength(70);
1591 $this->form->addItem($title);
1595 $desc->
setValue($this->object->getLongDescription());
1598 $this->form->addItem($desc);
1602 $desc->
setValue($this->object->getLocation());
1605 $this->form->addItem($desc);
1608 $details =
new ilTextAreaInputGUI($this->lng->txt(
'event_details_workflow'),
'details');
1609 $details->
setValue($this->object->getDetails());
1610 $details->setCols(50);
1611 $details->setRows(4);
1612 $this->form->addItem($details);
1616 $section->setTitle($this->lng->txt(
'event_tutor_data'));
1620 $tutor_name =
new ilTextInputGUI($this->lng->txt(
'tutor_name'),
'tutor_name');
1621 $tutor_name->
setValue($this->object->getName());
1622 $tutor_name->setSize(20);
1623 $tutor_name->setMaxLength(70);
1624 $this->form->addItem($tutor_name);
1627 $tutor_email =
new ilTextInputGUI($this->lng->txt(
'tutor_email'),
'tutor_email');
1628 $tutor_email->
setValue($this->object->getEmail());
1629 $tutor_email->setSize(20);
1630 $tutor_email->setMaxLength(70);
1631 $this->form->addItem($tutor_email);
1634 $tutor_phone =
new ilTextInputGUI($this->lng->txt(
'tutor_phone'),
'tutor_phone');
1635 $tutor_phone->
setValue($this->object->getPhone());
1636 $tutor_phone->setSize(20);
1637 $tutor_phone->setMaxLength(70);
1638 $this->form->addItem($tutor_phone);
1641 $section->setTitle($this->lng->txt(
'sess_section_reg'));
1644 include_once
'./Modules/Session/classes/class.ilSessionMembershipRegistrationSettingsGUI.php';
1645 include_once
'./Services/Membership/classes/class.ilMembershipRegistrationSettings.php';
1656 $reg_settings->addMembershipFormElements($this->form,
'');
1660 $section->setTitle($this->lng->txt(
'event_assign_files'));
1664 $files->setFilenames(array(0 =>
''));
1665 $this->form->addItem(
$files);
1670 $this->form->setTitle($this->lng->txt(
'event_table_create'));
1672 $this->form->addCommandButton(
'save',$this->lng->txt(
'event_btn_add'));
1673 $this->form->addCommandButton(
'saveAndAssignMaterials',$this->lng->txt(
'event_btn_add_edit'));
1674 $this->form->addCommandButton(
'cancelEdit',$this->lng->txt(
'cancel'));
1679 $this->form->setTitle($this->lng->txt(
'event_table_update'));
1681 $this->form->addCommandButton(
'update',$this->lng->txt(
'save'));
1682 $this->form->addCommandButton(
'cancelEdit',$this->lng->txt(
'cancel'));
1700 $this->
object->getFirstAppointment()->setStartingTime($this->
__toUnix(
$_POST[
'event'][
'start'][
'date'],
$_POST[
'event'][
'start'][
'time']));
1701 $this->
object->getFirstAppointment()->setEndingTime($this->
__toUnix(
$_POST[
'event'][
'end'][
'date'],
$_POST[
'event'][
'end'][
'time']));
1702 $this->
object->getFirstAppointment()->toggleFullTime((
bool)
$_POST[
'event'][
'fulltime']);
1704 include_once(
'./Services/Calendar/classes/class.ilDate.php');
1705 if($this->object->getFirstAppointment()->isFullday())
1707 $start =
new ilDate($_POST[
'event'][
'start'][
'date'][
'y'].
'-'.$_POST[
'event'][
'start'][
'date'][
'm'].
'-'.$_POST[
'event'][
'start'][
'date'][
'd'],
1709 $this->
object->getFirstAppointment()->setStart($start);
1711 $end =
new ilDate($_POST[
'event'][
'end'][
'date'][
'y'].
'-'.$_POST[
'event'][
'end'][
'date'][
'm'].
'-'.$_POST[
'event'][
'end'][
'date'][
'd'],
1713 $this->
object->getFirstAppointment()->setEnd($end);
1717 $start_dt[
'year'] = (int) $_POST[
'event'][
'start'][
'date'][
'y'];
1718 $start_dt[
'mon'] = (int) $_POST[
'event'][
'start'][
'date'][
'm'];
1719 $start_dt[
'mday'] = (int) $_POST[
'event'][
'start'][
'date'][
'd'];
1720 $start_dt[
'hours'] = (int) $_POST[
'event'][
'start'][
'time'][
'h'];
1721 $start_dt[
'minutes'] = (int) $_POST[
'event'][
'start'][
'time'][
'm'];
1724 $this->
object->getFirstAppointment()->setStart($start);
1726 $end_dt[
'year'] = (int) $_POST[
'event'][
'end'][
'date'][
'y'];
1727 $end_dt[
'mon'] = (int) $_POST[
'event'][
'end'][
'date'][
'm'];
1728 $end_dt[
'mday'] = (int) $_POST[
'event'][
'end'][
'date'][
'd'];
1729 $end_dt[
'hours'] = (int) $_POST[
'event'][
'end'][
'time'][
'h'];
1730 $end_dt[
'minutes'] = (int) $_POST[
'event'][
'end'][
'time'][
'm'];
1732 $this->
object->getFirstAppointment()->setEnd($end);
1743 $this->
object->setRegistrationType((
int) $_POST[
'registration_type']);
1744 $this->
object->setRegistrationMaxUsers((
int) $_POST[
'registration_max_members']);
1745 $this->
object->enableRegistrationUserLimit((
int) $_POST[
'registration_membership_limited']);
1746 $this->
object->enableRegistrationWaitingList((
int) $_POST[
'waiting_list']);
1757 include_once(
'./Modules/Session/classes/class.ilSessionRecurrence.php');
1760 switch(
$_POST[
'frequence'])
1763 $this->rec->setFrequenceType(
$_POST[
'frequence']);
1764 $this->rec->setInterval((
int)
$_POST[
'count_DAILY']);
1768 $this->rec->setFrequenceType($_POST[
'frequence']);
1769 $this->rec->setInterval((
int) $_POST[
'count_WEEKLY']);
1770 if(is_array($_POST[
'byday_WEEKLY']))
1777 $this->rec->setFrequenceType($_POST[
'frequence']);
1778 $this->rec->setInterval((
int) $_POST[
'count_MONTHLY']);
1779 switch((
int) $_POST[
'subtype_MONTHLY'])
1786 switch((
int) $_POST[
'monthly_byday_day'])
1790 $this->rec->setBYSETPOS((
int) $_POST[
'monthly_byday_num']);
1791 $this->rec->setBYDAY(
'MO,TU,WE,TH,FR');
1796 $this->rec->setBYMONTHDAY((
int) $_POST[
'monthly_byday_num']);
1800 $this->rec->setBYDAY((
int) $_POST[
'monthly_byday_num'].$_POST[
'monthly_byday_day']);
1806 $this->rec->setBYMONTHDAY((
int) $_POST[
'monthly_bymonthday']);
1812 $this->rec->setFrequenceType($_POST[
'frequence']);
1813 $this->rec->setInterval((
int) $_POST[
'count_YEARLY']);
1814 switch((
int) $_POST[
'subtype_YEARLY'])
1821 $this->rec->setBYMONTH((
int) $_POST[
'yearly_bymonth_byday']);
1822 $this->rec->setBYDAY((
int) $_POST[
'yearly_byday_num'].$_POST[
'yearly_byday']);
1826 $this->rec->setBYMONTH((
int) $_POST[
'yearly_bymonth_by_monthday']);
1827 $this->rec->setBYMONTHDAY((
int) $_POST[
'yearly_bymonthday']);
1834 switch((
int)
$_POST[
'until_type'])
1837 $this->rec->setFrequenceUntilDate(null);
1842 $this->rec->setFrequenceUntilDate(null);
1843 $this->rec->setFrequenceUntilCount((
int) $_POST[
'count']);
1847 $end_dt[
'year'] = (int) $_POST[
'until_end'][
'date'][
'y'];
1848 $end_dt[
'mon'] = (int) $_POST[
'until_end'][
'date'][
'm'];
1849 $end_dt[
'mday'] = (int) $_POST[
'until_end'][
'date'][
'd'];
1851 $this->rec->setFrequenceUntilCount(0);
1867 return mktime($time[
'h'],$time[
'm'],0,$date[
'm'],$date[
'd'],$date[
'y']);
1880 if (is_object($this->
object))
1883 include_once
'./Modules/Session/classes/class.ilSessionAppointment.php';
1884 $title = strlen($this->object->getTitle()) ? (
': '.$this->object->getTitle()) :
'';
1885 $title = $this->
object->getFirstAppointment()->appointmentToString().$title;
1887 $ilLocator->addItem($title, $this->ctrl->getLinkTarget($this,
"infoScreen"),
"",
$_GET[
"ref_id"]);
1901 $ilHelp->setScreenIdComponent(
"sess");
1903 $parent_id = $tree->getParentId($this->object->getRefId());
1908 $ilCtrl->setParameterByClass(
"ilrepositorygui",
"ref_id", $parent_id);
1909 $tabs_gui->setBackTarget($this->lng->txt(
'back_to_'.$parent_type.
'_content'),
1910 $ilCtrl->getLinkTargetByClass(
"ilrepositorygui",
""));
1911 $ilCtrl->setParameterByClass(
"ilrepositorygui",
"ref_id",
$_GET[
"ref_id"]);
1913 $tabs_gui->addTarget(
'info_short',
1914 $this->ctrl->getLinkTarget($this,
'infoScreen'));
1916 if($ilAccess->checkAccess(
'write',
'',$this->object->getRefId()))
1918 $tabs_gui->addTarget(
'settings',
1919 $this->ctrl->getLinkTarget($this,
'edit'));
1920 $tabs_gui->addTarget(
'crs_materials',
1921 $this->ctrl->getLinkTarget($this,
'materials'));
1922 $tabs_gui->addTarget(
'event_edit_members',
1923 $this->ctrl->getLinkTarget($this,
'members'));
1927 include_once
'./Services/Tracking/classes/class.ilLearningProgressAccess.php';
1930 $tabs_gui->addTarget(
'learning_progress',
1931 $this->ctrl->getLinkTargetByClass(array(
'ilobjsessiongui',
'illearningprogressgui'),
''),
1933 array(
'illplistofobjectsgui',
'illplistofsettingsgui',
'illearningprogressgui',
'illplistofprogressgui'));
1937 if ($ilAccess->checkAccess(
"write",
"", $this->object->getRefId()))
1939 $ilTabs->addTarget(
"export",
1940 $this->ctrl->getLinkTargetByClass(
"ilexportgui",
""),
"",
"ilexportgui");
1945 if ($ilAccess->checkAccess(
'edit_permission',
"", $this->object->getRefId()))
1947 $tabs_gui->addTarget(
"perm_settings",
1948 $this->ctrl->getLinkTargetByClass(
"ilpermissiongui",
"perm"), array(
"perm",
"info",
"owner"),
'ilpermissiongui');
1961 include_once
'./Modules/Session/classes/class.ilEventItems.php';
1962 $event_items =
new ilEventItems($this->object->getId());
1964 $event_items->update();
1977 $GLOBALS[
'ilCtrl']->setReturn($this,
'members');
1978 $GLOBALS[
'ilCtrl']->setCmdClass(
'ilmembershipgui');
1979 include_once
'./Services/Membership/classes/class.ilMembershipGUI.php';
1981 $GLOBALS[
'ilCtrl']->forwardCommand($mem);
1989 $tmp_data = array();
1990 foreach ($a_usr_ids as $usr_id)
1992 $tmp_data[$usr_id] = array();
2008 if(!count(
$_POST[
"waiting"]))
2015 include_once(
'./Modules/Session/classes/class.ilSessionWaitingList.php');
2018 include_once
'./Modules/Session/classes/class.ilEventParticipants.php';
2022 foreach(
$_POST[
"waiting"] as $user_id)
2025 $waiting_list->removeFromList($user_id);
2027 include_once
'./Modules/Session/classes/class.ilSessionMembershipMailNotification.php';
2029 $noti->setRefId($this->object->getRefId());
2030 $noti->setRecipients(array($user_id));
2046 $this->searchObject();
2061 if(!count(
$_POST[
'waiting']))
2068 include_once(
'./Modules/Session/classes/class.ilSessionWaitingList.php');
2071 foreach(
$_POST[
"waiting"] as $user_id)
2075 include_once
'./Modules/Session/classes/class.ilSessionMembershipMailNotification.php';
2077 $noti->setRefId($this->object->getRefId());
2078 $noti->setRecipients(array($user_id));
2101 if(!count(
$_POST[
'subscribers']))
2108 include_once
'./Services/Membership/classes/class.ilParticipants.php';
2111 foreach(
$_POST[
'subscribers'] as $usr_id)
2113 $part->add($usr_id);
2114 $part->deleteSubscriber($usr_id);
2116 include_once
'./Modules/Session/classes/class.ilSessionMembershipMailNotification.php';
2118 $noti->setRefId($this->object->getRefId());
2119 $noti->setRecipients(array($usr_id));
2124 $this->ctrl->redirect($this,
'members');
2140 if(!count(
$_POST[
'subscribers']))
2147 include_once
'./Services/Membership/classes/class.ilParticipants.php';
2149 foreach(
$_POST[
'subscribers'] as $usr_id)
2151 $part->deleteSubscriber($usr_id);
2153 include_once
'./Modules/Session/classes/class.ilSessionMembershipMailNotification.php';
2155 $noti->setRefId($this->object->getRefId());
2156 $noti->setRecipients(array($usr_id));
2171 if(!$this->container_ref_id)
2180 if(!is_array(
$_POST[
"subscribers"]))
2188 $this->lng->loadLanguageModule(
'mmbr');
2191 $this->tabs_gui->setTabActive(
'event_edit_members');
2193 include_once(
"Services/Utilities/classes/class.ilConfirmationGUI.php");
2197 $c_gui->setFormAction($this->ctrl->getFormAction($this,
"refuseSubscribers"));
2198 $c_gui->setHeaderText($this->lng->txt(
"info_refuse_sure"));
2199 $c_gui->setCancel($this->lng->txt(
"cancel"),
"members");
2200 $c_gui->setConfirm($this->lng->txt(
"confirm"),
"refuseSubscribers");
2202 foreach(
$_POST[
"subscribers"] as $subscribers)
2206 $c_gui->addItem(
'subscribers[]',
2208 $name[
'lastname'].
', '.$name[
'firstname'].
' ['.$name[
'login'].
']',
2212 $this->tpl->setContent($c_gui->getHTML());
2218 if(!is_array(
$_POST[
"subscribers"]))
2226 $this->tabs_gui->setTabActive(
'event_edit_members');
2228 include_once(
"Services/Utilities/classes/class.ilConfirmationGUI.php");
2232 $c_gui->setFormAction($this->ctrl->getFormAction($this,
"assignSubscribers"));
2233 $c_gui->setHeaderText($this->lng->txt(
"info_assign_sure"));
2234 $c_gui->setCancel($this->lng->txt(
"cancel"),
"members");
2235 $c_gui->setConfirm($this->lng->txt(
"confirm"),
"assignSubscribers");
2237 foreach(
$_POST[
"subscribers"] as $subscribers)
2241 $c_gui->addItem(
'subscribers[]',
2243 $name[
'lastname'].
', '.$name[
'firstname'].
' ['.$name[
'login'].
']',
2247 $this->tpl->setContent($c_gui->getHTML());
2253 if(!is_array(
$_POST[
"waiting"]))
2261 $this->lng->loadLanguageModule(
'mmbr');
2264 $this->tabs_gui->setTabActive(
'event_edit_members');
2266 include_once(
"Services/Utilities/classes/class.ilConfirmationGUI.php");
2270 $c_gui->setFormAction($this->ctrl->getFormAction($this,
"refuseFromList"));
2271 $c_gui->setHeaderText($this->lng->txt(
"info_refuse_sure"));
2272 $c_gui->setCancel($this->lng->txt(
"cancel"),
"members");
2273 $c_gui->setConfirm($this->lng->txt(
"confirm"),
"refuseFromList");
2275 foreach(
$_POST[
"waiting"] as $waiting)
2279 $c_gui->addItem(
'waiting[]',
2281 $name[
'lastname'].
', '.$name[
'firstname'].
' ['.$name[
'login'].
']',
2285 $this->tpl->setContent($c_gui->getHTML());
2291 if(!is_array(
$_POST[
"waiting"]))
2299 $this->tabs_gui->setTabActive(
'event_edit_members');
2301 include_once(
"Services/Utilities/classes/class.ilConfirmationGUI.php");
2305 $c_gui->setFormAction($this->ctrl->getFormAction($this,
"assignFromWaitingList"));
2306 $c_gui->setHeaderText($this->lng->txt(
"info_assign_sure"));
2307 $c_gui->setCancel($this->lng->txt(
"cancel"),
"members");
2308 $c_gui->setConfirm($this->lng->txt(
"confirm"),
"assignFromWaitingList");
2310 foreach(
$_POST[
"waiting"] as $waiting)
2314 $c_gui->addItem(
'waiting[]',
2316 $name[
'lastname'].
', '.$name[
'firstname'].
' ['.$name[
'login'].
']',
2320 $this->tpl->setContent($c_gui->getHTML());
2327 $parent_id = $tree->getParentId($this->object->getRefId());
2328 $ilCtrl->setParameterByClass(
"ilrepositorygui",
"ref_id", $parent_id);
2329 $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 _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
_lookupLogin($a_user_id)
lookup login
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
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.