3 namespace Wallabag\CoreBundle\Controller
;
5 use Sensio\Bundle\FrameworkExtraBundle\Configuration\Route
;
6 use Sensio\Bundle\FrameworkExtraBundle\Configuration\ParamConverter
;
7 use Symfony\Bundle\FrameworkBundle\Controller\Controller
;
8 use Wallabag\CoreBundle\Entity\User
;
9 use Wallabag\CoreBundle\Entity\Entry
;
10 use Pagerfanta\Adapter\DoctrineORMAdapter
;
11 use Pagerfanta\Pagerfanta
;
13 class RssController
extends Controller
16 * Shows unread entries for current user.
18 * @Route("/{username}/{token}/unread.xml", name="unread_rss", defaults={"_format"="xml"})
19 * @ParamConverter("user", class="WallabagCoreBundle:User", converter="username_rsstoken_converter")
21 * @return \Symfony\Component\HttpFoundation\Response
23 public function showUnreadAction(User
$user)
25 $qb = $this->getDoctrine()
26 ->getRepository('WallabagCoreBundle:Entry')
31 $pagerAdapter = new DoctrineORMAdapter($qb->getQuery());
32 $entries = new Pagerfanta($pagerAdapter);
34 $perPage = $user->getConfig()->getRssLimit() ?: $this->container
->getParameter('rss_limit');
35 $entries->setMaxPerPage($perPage);
37 return $this->render('WallabagCoreBundle:Entry:entries.xml.twig', array(
39 'entries' => $entries,
44 * Shows read entries for current user.
46 * @Route("/{username}/{token}/archive.xml", name="archive_rss")
47 * @ParamConverter("user", class="WallabagCoreBundle:User", converter="username_rsstoken_converter")
49 * @return \Symfony\Component\HttpFoundation\Response
51 public function showArchiveAction(User
$user)
53 $qb = $this->getDoctrine()
54 ->getRepository('WallabagCoreBundle:Entry')
59 $pagerAdapter = new DoctrineORMAdapter($qb->getQuery());
60 $entries = new Pagerfanta($pagerAdapter);
62 $perPage = $user->getConfig()->getRssLimit() ?: $this->container
->getParameter('rss_limit');
63 $entries->setMaxPerPage($perPage);
65 return $this->render('WallabagCoreBundle:Entry:entries.xml.twig', array(
67 'entries' => $entries,
72 * Shows starred entries for current user.
74 * @Route("/{username}/{token}/starred.xml", name="starred_rss")
75 * @ParamConverter("user", class="WallabagCoreBundle:User", converter="username_rsstoken_converter")
77 * @return \Symfony\Component\HttpFoundation\Response
79 public function showStarredAction(User
$user)
81 $qb = $this->getDoctrine()
82 ->getRepository('WallabagCoreBundle:Entry')
87 $pagerAdapter = new DoctrineORMAdapter($qb->getQuery());
88 $entries = new Pagerfanta($pagerAdapter);
90 $perPage = $user->getConfig()->getRssLimit() ?: $this->container
->getParameter('rss_limit');
91 $entries->setMaxPerPage($perPage);
93 return $this->render('WallabagCoreBundle:Entry:entries.xml.twig', array(
95 'entries' => $entries,