X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=src%2FWallabag%2FCoreBundle%2FController%2FRssController.php;h=0558c53b0fcbe4ba84572366523702a30aac35d7;hb=2686457448372543fdf4f1fc54c4fd20f0f02c2c;hp=86754e157e7b6ff0d1079b452d59209ab28d3660;hpb=2878416f8b4d94fb5e64c2fa61861526a7654d3d;p=github%2Fwallabag%2Fwallabag.git diff --git a/src/Wallabag/CoreBundle/Controller/RssController.php b/src/Wallabag/CoreBundle/Controller/RssController.php index 86754e15..0558c53b 100644 --- a/src/Wallabag/CoreBundle/Controller/RssController.php +++ b/src/Wallabag/CoreBundle/Controller/RssController.php @@ -7,6 +7,8 @@ use Sensio\Bundle\FrameworkExtraBundle\Configuration\ParamConverter; use Symfony\Bundle\FrameworkBundle\Controller\Controller; use Wallabag\CoreBundle\Entity\User; use Wallabag\CoreBundle\Entity\Entry; +use Pagerfanta\Adapter\DoctrineORMAdapter; +use Pagerfanta\Pagerfanta; class RssController extends Controller { @@ -20,14 +22,18 @@ class RssController extends Controller */ public function showUnreadAction(User $user) { - $entries = $this->getDoctrine() + $qb = $this->getDoctrine() ->getRepository('WallabagCoreBundle:Entry') ->findUnreadByUser( - $user->getId(), - 0, - $user->getConfig()->getRssLimit() ?: $this->container->getParameter('rss_limit') + $user->getId() ); + $pagerAdapter = new DoctrineORMAdapter($qb->getQuery()); + $entries = new Pagerfanta($pagerAdapter); + + $perPage = $user->getConfig()->getRssLimit() ?: $this->container->getParameter('rss_limit'); + $entries->setMaxPerPage($perPage); + return $this->render('WallabagCoreBundle:Entry:entries.xml.twig', array( 'type' => 'unread', 'entries' => $entries, @@ -44,14 +50,18 @@ class RssController extends Controller */ public function showArchiveAction(User $user) { - $entries = $this->getDoctrine() + $qb = $this->getDoctrine() ->getRepository('WallabagCoreBundle:Entry') ->findArchiveByUser( - $user->getId(), - 0, - $user->getConfig()->getRssLimit() ?: $this->container->getParameter('rss_limit') + $user->getId() ); + $pagerAdapter = new DoctrineORMAdapter($qb->getQuery()); + $entries = new Pagerfanta($pagerAdapter); + + $perPage = $user->getConfig()->getRssLimit() ?: $this->container->getParameter('rss_limit'); + $entries->setMaxPerPage($perPage); + return $this->render('WallabagCoreBundle:Entry:entries.xml.twig', array( 'type' => 'archive', 'entries' => $entries, @@ -68,14 +78,18 @@ class RssController extends Controller */ public function showStarredAction(User $user) { - $entries = $this->getDoctrine() + $qb = $this->getDoctrine() ->getRepository('WallabagCoreBundle:Entry') ->findStarredByUser( - $user->getId(), - 0, - $user->getConfig()->getRssLimit() ?: $this->container->getParameter('rss_limit') + $user->getId() ); + $pagerAdapter = new DoctrineORMAdapter($qb->getQuery()); + $entries = new Pagerfanta($pagerAdapter); + + $perPage = $user->getConfig()->getRssLimit() ?: $this->container->getParameter('rss_limit'); + $entries->setMaxPerPage($perPage); + return $this->render('WallabagCoreBundle:Entry:entries.xml.twig', array( 'type' => 'starred', 'entries' => $entries,