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;
 }
Beispiel #4
0
 /**
  * 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;
 }