/**
  * Populates a feed entry with data coming from Package objects.
  *
  * @param \Zend\Feed\Writer\Entry $entry
  * @param Package                 $package
  */
 protected function populatePackageData(Entry $entry, Package $package)
 {
     $entry->setTitle($package->getName());
     $entry->setLink($this->generateUrl('view_package', array('name' => $package->getName()), true));
     $entry->setId($package->getName());
     $entry->setDateModified($package->getCreatedAt());
     $entry->setDateCreated($package->getCreatedAt());
     $entry->setDescription($package->getDescription() ?: ' ');
 }
Exemple #2
0
 public function testSetLinkThrowsExceptionOnInvalidUri()
 {
     $entry = new Writer\Entry();
     try {
         $entry->setLink('http://');
         $this->fail();
     } catch (Writer\Exception $e) {
     }
 }
 /**
  * RSS feed
  *
  * @param Request $request
  *
  * @return Response
  *
  * @Route("/blog/rss", name="blog_rss")
  */
 public function rssAction(Request $request)
 {
     $feed = new Feed();
     $config = $this->container->getParameter('stfalcon_blog.config');
     $feed->setTitle($config['rss']['title']);
     $feed->setDescription($config['rss']['description']);
     $feed->setLink($this->generateUrl('blog_rss', array(), true));
     $posts = $this->get('doctrine')->getManager()->getRepository("StfalconBlogBundle:Post")->getAllPublishedPosts($request->getLocale());
     /** @var Post $post */
     foreach ($posts as $post) {
         $entry = new Entry();
         $entry->setTitle($post->getTitle());
         $entry->setLink($this->generateUrl('blog_post_view', array('slug' => $post->getSlug()), true));
         $feed->addEntry($entry);
     }
     $response = new Response($feed->export('rss'));
     $response->headers->add(array('Content-Type' => 'application/xml'));
     return $response;
 }