6 include_once
'./Services/Calendar/classes/class.ilCalendarSettings.php';
84 $this->ctrl = $DIC->ctrl();
85 $this->lng = $DIC->language();
86 $this->lng->loadLanguageModule(
'dateplaner');
88 $this->tpl = $DIC[
"tpl"];
89 $this->tabs_gui = $DIC->tabs();
90 $this->
user = $DIC->user();
91 $this->rbacsystem = $DIC->rbac()->system();
92 $this->help = $DIC[
"ilHelp"];
93 $this->ui = $DIC->ui();
94 $this->toolbar = $DIC->toolbar();
95 $this->ref_id = $a_ref_id;
96 $this->category_id =
$_GET[
"category_id"];
97 $this->ctrl->saveParameter($this,
"category_id");
100 include_once(
'./Services/Calendar/classes/class.ilCalendarCategories.php');
103 include_once
'./Services/Calendar/classes/class.ilCalendarUserSettings.php';
105 $this->repository_mode =
true;
107 if ($this->category_id > 0) {
109 include_once(
"./Services/Calendar/classes/class.ilCalendarVisibility.php");
111 $vis->forceVisibility($this->category_id);
126 include_once(
"./Services/Calendar/classes/class.ilCalendarActions.php");
148 foreach ($this->cats->getCategoriesInfo() as
$info) {
153 $v = $visibility->getVisible();
154 if (!in_array(
$info[
"cat_id"], $v)) {
155 $v[] =
$info[
"cat_id"];
157 $visibility->showSelected($v);
159 $this->ctrl->redirect($this,
"");
175 $cmd = $this->ctrl->getCmd();
179 include_once(
'./Services/Calendar/classes/class.ilCalendarSettings.php');
189 case 'selectCHCalendarOfUser':
194 switch ($next_class) {
195 case 'ilcalendarinboxgui':
196 $this->tabs_gui->activateTab(
'cal_agenda');
201 $inbox_gui->addToolbarActions();
206 case 'ilconsultationhoursgui':
207 $this->tabs_gui->activateTab(
'app_consultation_hours');
208 $this->tabs_gui->clearTargets();
211 $this->tabs_gui->setBackTarget(
212 $this->lng->txt(
'cal_back_to_cal'),
216 include_once
'./Services/Calendar/classes/ConsultationHours/class.ilConsultationHoursGUI.php';
218 $this->ctrl->forwardCommand($gui);
224 case 'ilcalendarmonthgui':
225 $this->tabs_gui->activateTab(
'cal_agenda');
231 $month_gui->addToolbarActions();
235 case 'ilcalendarweekgui':
236 $this->tabs_gui->activateTab(
'cal_agenda');
241 $week_gui->addToolbarActions();
246 case 'ilcalendardaygui':
247 $this->tabs_gui->activateTab(
'cal_agenda');
252 $day_gui->addToolbarActions();
256 case 'ilcalendarusersettingsgui':
257 $this->ctrl->setReturn($this,
'');
258 $this->tabs_gui->activateTab(
'settings');
261 include_once(
'./Services/Calendar/classes/class.ilCalendarUserSettingsGUI.php');
263 $this->ctrl->forwardCommand($user_settings);
267 case 'ilcalendarappointmentgui':
268 $this->ctrl->setReturn($this,
'');
269 $this->tabs_gui->activateTab(
$_SESSION[
'cal_last_tab']);
271 include_once(
'./Services/Calendar/classes/class.ilCalendarAppointmentGUI.php');
273 $this->ctrl->forwardCommand($app);
276 case 'ilcalendarsubscriptiongui':
277 $this->ctrl->setReturn($this,
'');
279 $this->tabs_gui->activateTab(
"cal_agenda");
280 include_once
'./Services/Calendar/classes/class.ilCalendarSubscriptionGUI.php';
282 $this->ctrl->forwardCommand($sub);
288 case 'ilcalendarcategorygui':
289 $this->ctrl->setReturn($this,
'');
290 $this->tabs_gui->activateTab(
"cal_manage");
291 include_once(
'Services/Calendar/classes/class.ilCalendarCategoryGUI.php');
293 if ($this->ctrl->forwardCommand($category)) {
300 $this->tabs_gui->setBackTarget($this->lng->txt(
"back"), $this->ctrl->getLinkTarget($this,
""));
308 case 'ilcalendarblockgui':
310 $side_cal->setAvailableDetailLevels(2, 2);
312 $side_cal->setForceMonthView(
true);
313 $this->ctrl->forwardCommand($side_cal);
317 case 'ilpdcalendarblockgui':
319 $side_cal->setAvailableDetailLevels(2, 2);
321 $side_cal->setForceMonthView(
true);
322 $this->ctrl->forwardCommand($side_cal);
326 case 'ilpublicuserprofilegui':
327 include_once(
"./Services/User/classes/class.ilPublicUserProfileGUI.php");
329 $html = $this->ctrl->forwardCommand($user_profile);
330 $this->tpl->setContent(
$html);
334 $cmd = $this->ctrl->getCmd(
"show");
361 $lng->txt(
"app_day") =>
$ctrl->getLinkTargetByClass(
'ilCalendarDayGUI',
''),
362 $lng->txt(
"app_week") =>
$ctrl->getLinkTargetByClass(
'ilCalendarWeekGUI',
''),
363 $lng->txt(
"app_month") =>
$ctrl->getLinkTargetByClass(
'ilCalendarMonthGUI',
''),
364 $lng->txt(
"cal_list") =>
$ctrl->getLinkTargetByClass(
'ilCalendarInboxGUI',
'')
367 $aria_label =
$lng->txt(
"cal_change_calendar_view");
368 $view_control = $f->viewControl()->mode($actions, $aria_label)->withActive(
$lng->txt($a_active));
370 $toolbar->addComponent($view_control);
372 $ctrl->setParameterByClass(
"ilcalendarappointmentgui",
"seed", $this->seed->get(
IL_CAL_DATE,
''));
373 $ctrl->setParameterByClass(
"ilcalendarappointmentgui",
"app_id",
"");
374 $ctrl->setParameterByClass(
"ilcalendarappointmentgui",
"dt",
"");
376 $extra_button_added =
false;
378 if ($this->category_id == 0 || $this->actions->checkAddEvent($this->category_id)) {
380 $extra_button_added =
true;
381 $add_button = $f->button()->standard(
382 $lng->txt(
"cal_add_appointment"),
383 $ctrl->getLinkTargetByClass(
"ilcalendarappointmentgui",
"add")
385 $toolbar->addComponent($add_button);
389 if ($this->category_id > 0 && $this->actions->checkAddEvent($this->category_id)) {
390 if (!$extra_button_added) {
393 $add_button = $f->button()->standard(
394 $lng->txt(
"cal_import_appointments"),
395 $ctrl->getLinkTargetByClass(
"ilcalendarcategorygui",
"importAppointments")
397 $toolbar->addComponent($add_button);
409 if (strlen($next_class = $this->ctrl->getNextClass())) {
412 if ($this->ctrl->getCmdClass() == strtolower(get_class($this)) or $this->ctrl->getCmdClass() ==
'') {
425 return $ilUser->getPref(
'cal_last_class') ?
$ilUser->getPref(
'cal_last_class') :
'ilcalendarinboxgui';
433 if ($this->ctrl->getCmdClass() == strtolower(get_class($this))) {
434 $this->ctrl->setCmdClass(strtolower($a_class));
449 case 'ilcalendarmonthgui':
450 $ilUser->writePref(
'cal_last_class', $a_class);
453 include_once(
'./Services/Calendar/classes/class.ilCalendarMonthGUI.php');
455 $this->ctrl->forwardCommand($month_gui);
459 case 'ilcalendarweekgui':
460 $ilUser->writePref(
'cal_last_class', $a_class);
463 include_once(
'./Services/Calendar/classes/class.ilCalendarWeekGUI.php');
465 $this->ctrl->forwardCommand($week_gui);
469 case 'ilcalendardaygui':
470 $ilUser->writePref(
'cal_last_class', $a_class);
473 include_once(
'./Services/Calendar/classes/class.ilCalendarDayGUI.php');
475 $this->ctrl->forwardCommand($day_gui);
479 case 'ilcalendarinboxgui':
481 if ($view_option =
$_GET[
'cal_agenda_per']) {
486 $ilUser->writePref(
'cal_last_class', $a_class);
487 $_SESSION[
'cal_last_tab'] =
'cal_upcoming_events_header';
489 include_once(
'./Services/Calendar/classes/class.ilCalendarInboxGUI.php');
490 $inbox_gui =
new ilCalendarinboxGUI($this->seed);
491 $this->ctrl->forwardCommand($inbox_gui);
508 $this->ctrl->setCmd(
'');
509 $history =
$ilUser->getPref(
'cal_last_class') ?
$ilUser->getPref(
'cal_last_class') :
'ilcalendarmonthgui';
525 $tpl =
new ilTemplate(
'tpl.cal_side_block.html',
true,
true,
'Services/Calendar');
538 include_once(
"./Services/Calendar/classes/class.ilCalendarBlockGUI.php");
541 include_once(
"./Services/Calendar/classes/class.ilPDCalendarBlockGUI.php");
544 $side_cal->setAvailableDetailLevels(2, 2);
545 $side_cal->setParentGUI(
"ilCalendarPresentationGUI");
546 $side_cal->setForceMonthView(
true);
548 $tpl->setVariable(
'MINICAL',
$ilCtrl->getHTML($side_cal));
550 if ($this->category_id == 0) {
551 include_once(
'./Services/Calendar/classes/class.ilCalendarCategoryGUI.php');
553 $tpl->setVariable(
'CATEGORIES',
$ilCtrl->getHTML($cat));
556 $this->tpl->setRightContent(
$tpl->get());
588 $ilHelp->setScreenIdComponent(
"cal");
591 $this->tabs_gui->clearTargets();
592 $this->tabs_gui->setBackTarget($this->lng->txt(
"back"), $this->ctrl->getParentReturn($this));
594 $this->tabs_gui->addTab(
596 $this->lng->txt(
"cal_agenda"),
597 $this->ctrl->getLinkTarget($this,
'')
605 $this->tabs_gui->addTarget(
'app_consultation_hours', $this->ctrl->getLinkTargetByClass(
'ilConsultationHoursGUI',
''));
607 $this->tabs_gui->addTarget(
'cal_manage', $this->ctrl->getLinkTargetByClass(
'ilCalendarCategoryGUI',
'manage'));
608 $this->tabs_gui->addTarget(
'settings', $this->ctrl->getLinkTargetByClass(
'ilCalendarUserSettingsGUI',
''));
612 if ($this->category_id > 0) {
624 switch ($category->getType()) {
626 $header = $this->lng->txt(
'cal_type_personal') .
": " . $category->getTitle();
630 $header = $this->lng->txt(
'cal_type_system') .
": " . $category->getTitle();
634 $header = $this->lng->txt(
'cal_type_' . $category->getObjType()) .
": " . $category->getTitle();
642 $header = $category->getTitle();
649 $this->action_menu->setAsynch(
false);
650 $this->action_menu->setAsynchUrl(
'');
651 $this->action_menu->setListTitle(
$lng->txt(
'actions'));
652 $this->action_menu->setId(
'act_cal');
653 $this->action_menu->setSelectionHeaderClass(
'small');
654 $this->action_menu->setItemLinkClass(
'xsmall');
655 $this->action_menu->setLinksMode(
'il_ContainerItemCommand2');
657 $this->action_menu->setUseImages(
false);
660 $ctrl->setParameterByClass(
"ilcalendarsubscriptiongui",
"category_id", $this->category_id);
661 $this->action_menu->addItem(
$lng->txt(
"cal_ical_url"),
"",
$ctrl->getLinkTargetByClass(
"ilcalendarsubscriptiongui",
""));
664 if ($this->actions->checkDeleteCal($this->category_id)) {
665 $ctrl->setParameterByClass(
"ilcalendarcategorygui",
"category_id", $this->category_id);
666 $ctrl->setParameterByClass(
"ilcalendarcategorygui",
"backv",
"1");
667 $this->action_menu->addItem(
$lng->txt(
"cal_delete_cal"),
"",
$ctrl->getLinkTargetByClass(
"ilcalendarcategorygui",
"confirmDelete"));
668 $ctrl->clearParameterByClass(
'ilcalendarcategorygui',
'backv');
671 $tpl->setHeaderActionMenu($this->action_menu->getHTML());
674 $tabs->clearTargets();
675 $ctrl->setParameterByClass(
"ilcalendarcategorygui",
"category_id",
"");
676 $ctrl->setParameterByClass(
"ilcalendarpresentationgui",
"category_id",
"");
678 if ($this->ref_id > 0) {
679 $tabs->setBackTarget(
$lng->txt(
"back"),
$ctrl->getLinkTargetByClass(
"ilcalendarpresentationgui",
""));
681 $tabs->setBackTarget(
$lng->txt(
"back"),
$ctrl->getLinkTargetByClass(
"ilcalendarcategorygui",
"manage"));
683 $ctrl->setParameterByClass(
"ilcalendarcategorygui",
"category_id",
$_GET[
"category_id"]);
684 $ctrl->setParameterByClass(
"ilcalendarpresentationgui",
"category_id",
$_GET[
"category_id"]);
687 $tabs->addTab(
"cal_agenda",
$lng->txt(
"cal_agenda"),
$ctrl->getLinkTargetByClass(
"ilcalendarpresentationgui",
""));
690 if ($this->actions->checkShareCal($this->category_id)) {
691 $tabs->addTab(
"share",
$lng->txt(
"cal_share"),
$ctrl->getLinkTargetByClass(
"ilcalendarcategorygui",
"shareSearch"));
695 if ($this->actions->checkSettingsCal($this->category_id)) {
696 $tabs->addTab(
"edit",
$lng->txt(
"settings"),
$ctrl->getLinkTargetByClass(
"ilcalendarcategorygui",
"edit"));
698 $tabs->activateTab(
"cal_agenda");
709 include_once(
'Services/Calendar/classes/class.ilDate.php');
712 $this->ctrl->saveParameter($this,
array(
'seed'));
731 foreach ($cats->getCategoriesInfo() as $cat_id =>
$info) {
732 if (
$info[
'remote']) {
741 include_once
'./Services/Calendar/classes/class.ilCalendarRemoteReader.php';
743 $remote->
setUser($category->getRemoteUser());
744 $remote->setPass($category->getRemotePass());
746 $remote->import($category);
757 if ($this->ctrl->getCmdClass() ==
"ilcalendarappointmentgui" || $this->ctrl->getCmdClass() ==
'ilconsultationhoursgui') {
synchroniseExternalCalendars()
Sync external calendars.
Consultation hours editor.
static _getInstance()
get singleton instance
readLastClass()
Read last class from history.
static getStyleSheetLocation($mode="output", $a_css_name="", $a_css_location="")
get full style sheet file name (path inclusive) of current user
const MODE_PERSONAL_DESKTOP_MEMBERSHIP
static _lookupFullname($a_user_id)
Lookup Full Name.
static _before(ilDateTime $start, ilDateTime $end, $a_compare_field='', $a_tz='')
compare two dates and check start is before end This method does not consider tz offsets.
initSeed()
init the seed date for presentations (month view, minicalendar)
static getInstance()
Get instance.
static get($a_var)
Get a value.
const CAL_SELECTION_MEMBERSHIP
forwardToClass($a_class)
forward to class
executeCommand()
Execute command.
static set($a_var, $a_val)
Set a value.
getNextClass()
get next class
Stores calendar categories.
const MODE_SINGLE_CALENDAR
Reader for remote ical calendars.
__construct($a_ref_id=0)
Constructor.
Show calendar subscription info.
Calendar blocks, displayed on personal desktop.
static _getInstanceByUserId($a_user_id, $a_ref_id=0)
get instance by user id
showSideBlocks()
show side blocks
GUI class for public user profile presentation.
showViewSelection($a_active="cal_list")
Show view selection.
static getImagePath($img, $module_path="", $mode="output", $offline=false)
get image path (for images located in a template directory)
getRepositoryMode()
Get RepositoryMode.
static _getInstance()
get instance for logged in user
date( 'd-M-Y', $objPHPExcel->getProperties() ->getCreated())
special template class to simplify handling of ITX/PEAR
initAndRedirectToConsultationHours()
Init and redirect to consultation hours.
static _getInstance($a_usr_id=0)
get singleton instance
Create styles array
The data for the language used.
static sendFailure($a_info="", $a_keep=false)
Send Failure Message to Screen.
if(!empty($this->data['faventry'])) $tabs
User interface class for advanced drop-down selection lists.
Administrate calendar appointments.
Calendar blocks, displayed in different contexts, e.g.
Add data(end) time
Method that wraps PHPs time in order to allow simulations with the workflow.
static redirect($a_script)
loadHistory()
forward to last presentation class
Administration, Side-Block presentation of calendar categories.
const MODE_PERSONAL_DESKTOP_ITEMS