]> git.immae.eu Git - github/wallabag/wallabag.git/blame - src/Wallabag/CoreBundle/Controller/RssController.php
Merge pull request #1317 from wallabag/v2-fix-typo
[github/wallabag/wallabag.git] / src / Wallabag / CoreBundle / Controller / RssController.php
CommitLineData
0c83fd59
J
1<?php
2
3namespace Wallabag\CoreBundle\Controller;
4
5use Sensio\Bundle\FrameworkExtraBundle\Configuration\Route;
6use Sensio\Bundle\FrameworkExtraBundle\Configuration\ParamConverter;
7use Symfony\Bundle\FrameworkBundle\Controller\Controller;
8use Wallabag\CoreBundle\Entity\User;
9use Wallabag\CoreBundle\Entity\Entry;
10
11class RssController extends Controller
12{
13 /**
4346a860 14 * Shows unread entries for current user.
0c83fd59
J
15 *
16 * @Route("/{username}/{token}/unread.xml", name="unread_rss", defaults={"_format"="xml"})
17 * @ParamConverter("user", class="WallabagCoreBundle:User", converter="username_rsstoken_converter")
18 *
19 * @return \Symfony\Component\HttpFoundation\Response
20 */
21 public function showUnreadAction(User $user)
22 {
23 $entries = $this->getDoctrine()
24 ->getRepository('WallabagCoreBundle:Entry')
25 ->findUnreadByUser(
9fb6ac83 26 $user->getId()
0c83fd59
J
27 );
28
9fb6ac83
FG
29 $perPage = $user->getConfig()->getRssLimit() ?: $this->container->getParameter('rss_limit');
30 $entries->setMaxPerPage($perPage);
31
0c83fd59
J
32 return $this->render('WallabagCoreBundle:Entry:entries.xml.twig', array(
33 'type' => 'unread',
34 'entries' => $entries,
35 ));
36 }
37
38 /**
4346a860 39 * Shows read entries for current user.
0c83fd59
J
40 *
41 * @Route("/{username}/{token}/archive.xml", name="archive_rss")
42 * @ParamConverter("user", class="WallabagCoreBundle:User", converter="username_rsstoken_converter")
43 *
44 * @return \Symfony\Component\HttpFoundation\Response
45 */
46 public function showArchiveAction(User $user)
47 {
48 $entries = $this->getDoctrine()
49 ->getRepository('WallabagCoreBundle:Entry')
50 ->findArchiveByUser(
9fb6ac83 51 $user->getId()
0c83fd59
J
52 );
53
9fb6ac83
FG
54 $perPage = $user->getConfig()->getRssLimit() ?: $this->container->getParameter('rss_limit');
55 $entries->setMaxPerPage($perPage);
56
0c83fd59
J
57 return $this->render('WallabagCoreBundle:Entry:entries.xml.twig', array(
58 'type' => 'archive',
59 'entries' => $entries,
60 ));
61 }
62
63 /**
4346a860 64 * Shows starred entries for current user.
0c83fd59
J
65 *
66 * @Route("/{username}/{token}/starred.xml", name="starred_rss")
67 * @ParamConverter("user", class="WallabagCoreBundle:User", converter="username_rsstoken_converter")
68 *
69 * @return \Symfony\Component\HttpFoundation\Response
70 */
71 public function showStarredAction(User $user)
72 {
73 $entries = $this->getDoctrine()
74 ->getRepository('WallabagCoreBundle:Entry')
75 ->findStarredByUser(
9fb6ac83 76 $user->getId()
0c83fd59
J
77 );
78
9fb6ac83
FG
79 $perPage = $user->getConfig()->getRssLimit() ?: $this->container->getParameter('rss_limit');
80 $entries->setMaxPerPage($perPage);
81
0c83fd59
J
82 return $this->render('WallabagCoreBundle:Entry:entries.xml.twig', array(
83 'type' => 'starred',
84 'entries' => $entries,
85 ));
86 }
87}