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);
 }