function getData() { global $ilCtrl, $lng; $seed = new ilDate(date('Y-m-d', time()), IL_CAL_DATE); include_once './Services/Calendar/classes/class.ilCalendarSchedule.php'; $schedule = new ilCalendarSchedule($seed, ilCalendarSchedule::TYPE_PD_UPCOMING); $schedule->addSubitemCalendars(true); // #12007 $schedule->setEventsLimit(20); $schedule->calculate(); $events = $schedule->getScheduledEvents(); // #13809 $data = array(); if (sizeof($events)) { foreach ($events as $item) { $start = $item["dstart"]; $end = $item["dend"]; if ($item["fullday"]) { $start = new ilDate($start, IL_CAL_UNIX); $end = new ilDate($end, IL_CAL_UNIX); } else { $start = new ilDateTime($start, IL_CAL_UNIX); $end = new ilDateTime($end, IL_CAL_UNIX); } $ilCtrl->clearParametersByClass('ilcalendardaygui'); $ilCtrl->setParameterByClass('ilcalendardaygui', 'seed', $start->get(IL_CAL_DATE)); $link = $ilCtrl->getLinkTargetByClass('ilcalendardaygui', ''); $ilCtrl->clearParametersByClass('ilcalendardaygui'); $data[] = array("date" => ilDatePresentation::formatPeriod($start, $end), "title" => $item["event"]->getPresentationTitle(), "url" => $link); } $this->setEnableNumInfo(true); } else { $data[] = array("date" => $lng->txt("msg_no_search_result"), "title" => "", "url" => ""); $this->setEnableNumInfo(false); } return $data; }
/** * show inbox * * @access protected * @return */ protected function inbox() { global $ilCtrl; $this->tpl = new ilTemplate('tpl.inbox.html', true, true, 'Services/Calendar'); include_once './Services/Calendar/classes/class.ilCalendarInboxSharedTableGUI.php'; include_once './Services/Calendar/classes/class.ilCalendarShared.php'; $table = new ilCalendarInboxSharedTableGUI($this, 'inbox'); $table->setCalendars(ilCalendarShared::getSharedCalendarsForUser()); if ($table->parse()) { $this->tpl->setVariable('SHARED_CAL_TABLE', $table->getHTML()); } include_once './Services/Calendar/classes/class.ilCalendarChangedAppointmentsTableGUI.php'; $table_gui = new ilCalendarChangedAppointmentsTableGUI($this, 'inbox'); $schedule = new ilCalendarSchedule(new ilDate(time(), IL_CAL_UNIX), ilCalendarSchedule::TYPE_INBOX); $schedule->setEventsLimit($table_gui->getLimit()); $schedule->addSubitemCalendars(true); $schedule->calculate(); if (isset($_GET['changed'])) { $title = $this->lng->txt('cal_changed_events_header'); $events = $schedule->getChangedEvents(true); $ilCtrl->setParameter($this, 'changed', 1); } else { // type inbox will show upcoming events (today or later) $title = $this->lng->txt('cal_upcoming_events_header'); //$events = $schedule->getEvents(); $events = $schedule->getScheduledEvents(); } $table_gui->setTitle($title); $table_gui->setAppointments($events); $this->tpl->setVariable('CHANGED_TABLE', $table_gui->getHTML()); }