public function rss()
 {
     $this->setDefaultView();
     $events = $this->Events();
     foreach ($events as $event) {
         $event->Title = strip_tags($event->DateRange()) . " : " . $event->getTitle();
         $event->Description = $event->getContent();
     }
     $rss_title = $this->RSSTitle ? $this->RSSTitle : sprintf(_t("Calendar.UPCOMINGEVENTSFOR", "Upcoming Events for %s"), $this->Title);
     $rss = new RSSFeed($events, $this->Link(), $rss_title, "", "Title", "Description");
     if (is_int($rss->lastModified)) {
         HTTP::register_modification_timestamp($rss->lastModified);
         header('Last-Modified: ' . gmdate("D, d M Y H:i:s", $rss->lastModified) . ' GMT');
     }
     if (!empty($rss->etag)) {
         HTTP::register_etag($rss->etag);
     }
     $xml = str_replace(' ', ' ', $rss->renderWith('RSSFeed'));
     $xml = preg_replace('/<!--(.|\\s)*?-->/', '', $xml);
     $xml = trim($xml);
     HTTP::add_cache_headers();
     $this->getResponse()->addHeader('Content-Type', 'application/rss+xml');
     echo $xml;
 }
예제 #2
0
 public function rss()
 {
     $events = $this->getModel()->UpcomingEvents(null, $this->DefaultEventDisplay);
     foreach ($events as $event) {
         $event->Title = strip_tags($event->_Dates()) . " : " . $event->EventTitle();
         $event->Description = $event->EventContent();
     }
     $rss = new RSSFeed($events, $this->Link(), sprintf(_t("Calendar.UPCOMINGEVENTSFOR", "Upcoming Events for %s"), $this->Title), "", "Title", "Description");
     if (is_int($rss->lastModified)) {
         HTTP::register_modification_timestamp($rss->lastModified);
         header('Last-Modified: ' . gmdate("D, d M Y H:i:s", $rss->lastModified) . ' GMT');
     }
     if (!empty($rss->etag)) {
         HTTP::register_etag($rss->etag);
     }
     $xml = str_replace('&nbsp;', '&#160;', $rss->renderWith('RSSFeed'));
     $xml = preg_replace('/<!--(.|\\s)*?-->/', '', $xml);
     $xml = trim($xml);
     HTTP::add_cache_headers();
     header("Content-type: text/xml");
     echo $xml;
 }