public function getCalendarEntry() { $Params = $this->getURLParams(); if (is_numeric($Params['ID']) && ($CalendarEntry = CalendarEntry::get()->byID((int) $Params['ID']))) { return $CalendarEntry; } }
function json() { $params = $this->getURLParams(); $filter = "(StartDate >= CURRENT_DATE"; $filter .= " OR EndDate >= CURRENT_DATE)"; if (array_key_exists('start', $params) && array_key_exists('start', $params) && is_numeric($params['start']) && is_numeric($params['end'])) { $filter = " AND (StartDate >= " . date('Y-m-d', $params['start']); $filter .= " AND StartDate <= " . date('Y-m-d', $params['end']); $filter .= " OR EndDate >= " . date('Y-m-d', $params['start']); $filter .= " AND EndDate <= " . date('Y-m-d', $params['end'] . ")"); } $entries = CalendarEntry::get()->filter(array("CalendarPageID" => $this->ID))->Sort('StartDate')->where($filter); $result = array(); foreach ($entries as $event) { array_push($result, array('id' => $event->ID, 'title' => $event->Title, 'start' => $event->StartDate, 'end' => $event->EndDate, 'url' => $event->Link)); } echo json_encode($result); }
public function getAllGroupedCalendarEntries() { $entries = GroupedList::create(CalendarEntry::get()->Sort('Date, Time')); return $entries; }