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; }
/** * Returns a list of CalendarEntry beans for the given event * * @param bean Schedule * @param bean subclassed Event * @param boolean end is this an endTime entry (default to false) * @return bean CalendarEntry */ private function setCalendarEntry($sched, $event, $end = false) { global $logger; $logger->debug(get_class($this) . "::setCalendarEntry({$sched}, {$event}, {$end})"); $ce = new CalendarEntry(); $ce->setOid($event->getOid()); $ce->setScope(get_class($event)); $ce->setStartTime($sched->getStartTime()); $ce->setSummary($event->getSummary()); if ($event->getDefaultVenue()) { $ce->setVenue($event->getDefaultVenue()->getName()); } if ($event->getGallery() > 0 && $_REQUEST['task'] != "feed") { $event = $this->setGallery($event, true, true); } // from MasterAction $ce->setGallery($event->getGallery()); if ($ce->getScope() != Event::EXHIBITION && $event->getPrimaryGenre()) { $ce->setFid($event->getPrimaryGenre()->getOid()); // the primary genre id } if ($ce->getScope() == Event::EXHIBITION) { // check for endTime flag if (!$end) { $ce->setTitle($event->getTitle() . " opens"); } else { $ce->setTitle($event->getTitle() . " closes"); $ce->setStartTime($sched->getEndTime()); } $ce->setGenre(Event::EXHIBITION); } else { $ce->setTitle($event->getTitle()); if ($event->getPrimaryGenre()) { $ce->setGenre($event->getPrimaryGenre()->getName()); } else { $ce->setGenre($ce->getScope()); } } $family = false; $cats = $event->getCategories(); if (isset($cats['Audience'])) { $family = $this->isFamilyFriendly($cats['Audience']); } $ce->setFamily($family); return $ce; }