/** * Get formatted calendar task due events * * @access public * @param QueryBuilder $queryBuilder * @param string $start * @param string $end * @return array */ public function getTaskDateDueEvents(QueryBuilder $queryBuilder, $start, $end) { $formatter = new TaskCalendarFormatter($this->container); $formatter->setFullDay(); $formatter->setColumns('date_due'); return $queryBuilder->withFilter(new TaskDueDateRangeFilter(array($start, $end)))->format($formatter); }
/** * Get formatted calendar task due events * * @access public * @param QueryBuilder $queryBuilder * @param iCalendar $calendar * @param string $start * @param string $end */ public function addTaskDateDueEvents(QueryBuilder $queryBuilder, iCalendar $calendar, $start, $end) { $queryBuilder->withFilter(new TaskDueDateRangeFilter(array($start, $end))); $formatter = new TaskICalFormatter($this->container); $formatter->setColumns('date_due'); $formatter->setCalendar($calendar); $formatter->withQuery($queryBuilder->getQuery()); $formatter->addFullDayEvents(); }
/** * Apply filters to the query * * @access protected * @param FilterInterface $filter * @param array $values */ protected function applyFilters(FilterInterface $filter, array $values) { $len = count($values); if ($len > 1) { $criteria = new OrCriteria(); $criteria->withQuery($this->query); foreach ($values as $value) { $currentFilter = clone $filter; $criteria->withFilter($currentFilter->withValue($value)); } $this->queryBuilder->withCriteria($criteria); } elseif ($len === 1) { $this->queryBuilder->withFilter($filter->withValue($values[0])); } }