public function executeFeed($request) { $feed = new sfRssDomFeed(); $link = '@homepage'; if ($request->hasParameter('slug') && $request->hasParameter('podcast_slug')) { $podcast = CommonBehavior::retrieveBySlug('PodcastPeer', $request->getParameter('podcast_slug')); $c = new Criteria(); if (!$podcast) { $this->forward404(); } $link = $podcast->getLink() ? $podcast->getLink() : $podcast->getUri(); $podcast_feed = CommonBehavior::retrieveBySlug('FeedPeer', $request->getParameter('slug'), $c); } $format = $request->getParameter('format'); // not "content format" but "delivery method enclosure format" $feed->initialize(array('title' => $podcast->getTitle(), 'link' => $link, 'generator' => sfConfig::get('app_version_url'), 'authorEmail' => $podcast->getEmail(), 'authorName' => $podcast->getAuthor(), 'description' => $podcast->getDescription(), 'image' => new sfFeedImage(array("image" => $podcast->getImageUrl())))); $pager = $this->getPager($podcast_feed->getId()); $pager->init(); $result_set = $pager->getResults(); $objects = array(); // temporary until we port convertObjectsToItems into sfDomFeed foreach ($result_set as $torrent) { $torrent->setFeedEnclosure($format); $objects[] = new sfDomFeedItem($torrent, array('enclosure' => new sfDomFeedEnclosure($torrent))); } $feed->addItems($objects); $this->feed = $feed; }
public function executeView($request) { $this->podcast = $podcast = CommonBehavior::retrieveBySlug('PodcastPeer', $request->getParameter('slug')); $this->forward404Unless($this->podcast); $this->form = new PodcastForm($podcast); $this->episodes = $this->podcast->getEpisodes(); $this->feeds = $this->podcast->getFeeds(); }
public function executeView($request) { $slug = $request->getParameter('slug'); $podcast_slug = $request->getParameter('podcast_slug'); $this->podcast = $podcast = CommonBehavior::retrieveBySlug('PodcastPeer', $podcast_slug); $this->forward404Unless($podcast); $c = new Criteria(); $c->add(EpisodePeer::PODCAST_ID, $podcast->getId()); $this->episode = $episode = CommonBehavior::retrieveBySlug('EpisodePeer', $slug, $c); $this->forward404Unless($episode); $this->torrents = $torrents = $episode->getTorrentsJoinFeed(); $this->feeds = $feeds = $podcast->getFeeds(); $this->form = new EpisodeForm($episode); }