示例#1
0
文件: Ical.php 项目: perburn/kanboard
 /**
  * Common method to render iCal events
  *
  * @access private
  */
 private function renderCalendar(TaskFilter $filter, iCalendar $calendar)
 {
     $start = $this->request->getStringParam('start', strtotime('-2 month'));
     $end = $this->request->getStringParam('end', strtotime('+6 months'));
     // Tasks
     if ($this->config->get('calendar_project_tasks', 'date_started') === 'date_creation') {
         $filter->copy()->filterByCreationDateRange($start, $end)->setColumns('date_creation', 'date_completed')->setCalendar($calendar)->addDateTimeEvents();
     } else {
         $filter->copy()->filterByStartDateRange($start, $end)->setColumns('date_started', 'date_completed')->setCalendar($calendar)->addDateTimeEvents($calendar);
     }
     // Tasks with due date
     $filter->copy()->filterByDueDateRange($start, $end)->setColumns('date_due')->setCalendar($calendar)->addFullDayEvents($calendar);
     $this->response->contentType('text/calendar; charset=utf-8');
     echo $filter->setCalendar($calendar)->format();
 }