public function feed() { $this->Event->contain(array('Artist' => array('fields' => array('id', 'title')), 'Type' => array('fields' => array('id', 'title')), 'Place' => array('fields' => array('id', 'title')))); $start = $this->request->query['start']; $end = $this->request->query['end']; $this->Event->recursive = 1; $events = $this->Event->find('all', array('conditions' => array('AND' => array('start >=' => $start, 'start <=' => $end)), 'fields' => array('Event.start', 'Event.end', 'Event.title', 'Event.id', 'Event.regular_ticket_price', 'Event.discounted_ticket_price'))); foreach ($events as $key => $event) { $events[$key]['start'] = CakeTime::toAtom($event['Event']['start']); $events[$key]['start_day'] = CakeTime::format($event['Event']['start'], '%e %B %Y'); $events[$key]['start_time'] = CakeTime::format($event['Event']['start'], '%Hh%M'); $events[$key]['end'] = CakeTime::toAtom($event['Event']['end']); $events[$key]['title'] = $event['Event']['title']; $events[$key]['regular_ticket_price'] = $event['Event']['regular_ticket_price']; $events[$key]['discounted_ticket_price'] = $event['Event']['discounted_ticket_price']; unset($events[$key]['Event']); } $this->set('data', $events); $this->layout = 'ajax'; $this->render('../Shared/json/data'); return; }
/** * Returns a date formatted for Atom RSS feeds. * * @param int|string|DateTime $dateString UNIX timestamp, strtotime() valid string or DateTime object * @param string|DateTimeZone $timezone User's timezone string or DateTimeZone object * * @return string Formatted date string * @see CakeTime::toAtom() * @link http://book.cakephp.org/2.0/en/core-libraries/helpers/time.html#formatting */ public function toAtom($dateString, $timezone = NULL) { return $this->_engine->toAtom($dateString, $timezone); }