From 0c83fd5994861efa728097dd151c994796c39ae1 Mon Sep 17 00:00:00 2001 From: Jeremy Date: Sat, 28 Mar 2015 14:27:45 +0100 Subject: Add rss for entries will fix #1000 --- .../CoreBundle/Controller/RssController.php | 84 ++++++++++++++++++++++ 1 file changed, 84 insertions(+) create mode 100644 src/Wallabag/CoreBundle/Controller/RssController.php (limited to 'src/Wallabag/CoreBundle/Controller/RssController.php') diff --git a/src/Wallabag/CoreBundle/Controller/RssController.php b/src/Wallabag/CoreBundle/Controller/RssController.php new file mode 100644 index 00000000..f2f8dd65 --- /dev/null +++ b/src/Wallabag/CoreBundle/Controller/RssController.php @@ -0,0 +1,84 @@ +getDoctrine() + ->getRepository('WallabagCoreBundle:Entry') + ->findUnreadByUser( + $user->getId(), + 0, + $user->getConfig()->getRssLimit() ?: $this->getContainer()->getParameter('rss_limit') + ); + + return $this->render('WallabagCoreBundle:Entry:entries.xml.twig', array( + 'type' => 'unread', + 'entries' => $entries, + )); + } + + /** + * Shows read entries for current user + * + * @Route("/{username}/{token}/archive.xml", name="archive_rss") + * @ParamConverter("user", class="WallabagCoreBundle:User", converter="username_rsstoken_converter") + * + * @return \Symfony\Component\HttpFoundation\Response + */ + public function showArchiveAction(User $user) + { + $entries = $this->getDoctrine() + ->getRepository('WallabagCoreBundle:Entry') + ->findArchiveByUser( + $user->getId(), + 0, + $user->getConfig()->getRssLimit() ?: $this->getContainer()->getParameter('rss_limit') + ); + + return $this->render('WallabagCoreBundle:Entry:entries.xml.twig', array( + 'type' => 'archive', + 'entries' => $entries, + )); + } + + /** + * Shows starred entries for current user + * + * @Route("/{username}/{token}/starred.xml", name="starred_rss") + * @ParamConverter("user", class="WallabagCoreBundle:User", converter="username_rsstoken_converter") + * + * @return \Symfony\Component\HttpFoundation\Response + */ + public function showStarredAction(User $user) + { + $entries = $this->getDoctrine() + ->getRepository('WallabagCoreBundle:Entry') + ->findStarredByUser( + $user->getId(), + 0, + $user->getConfig()->getRssLimit() ?: $this->getContainer()->getParameter('rss_limit') + ); + + return $this->render('WallabagCoreBundle:Entry:entries.xml.twig', array( + 'type' => 'starred', + 'entries' => $entries, + )); + } +} -- cgit v1.2.3 From 371ac69a6bd6325929e4efee7958682a6b1666f7 Mon Sep 17 00:00:00 2001 From: Jeremy Date: Sat, 28 Mar 2015 21:43:49 +0100 Subject: Add tests and fix few mistakes --- src/Wallabag/CoreBundle/Controller/RssController.php | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'src/Wallabag/CoreBundle/Controller/RssController.php') diff --git a/src/Wallabag/CoreBundle/Controller/RssController.php b/src/Wallabag/CoreBundle/Controller/RssController.php index f2f8dd65..14f1dcb2 100644 --- a/src/Wallabag/CoreBundle/Controller/RssController.php +++ b/src/Wallabag/CoreBundle/Controller/RssController.php @@ -25,7 +25,7 @@ class RssController extends Controller ->findUnreadByUser( $user->getId(), 0, - $user->getConfig()->getRssLimit() ?: $this->getContainer()->getParameter('rss_limit') + $user->getConfig()->getRssLimit() ?: $this->container->getParameter('rss_limit') ); return $this->render('WallabagCoreBundle:Entry:entries.xml.twig', array( @@ -49,7 +49,7 @@ class RssController extends Controller ->findArchiveByUser( $user->getId(), 0, - $user->getConfig()->getRssLimit() ?: $this->getContainer()->getParameter('rss_limit') + $user->getConfig()->getRssLimit() ?: $this->container->getParameter('rss_limit') ); return $this->render('WallabagCoreBundle:Entry:entries.xml.twig', array( @@ -73,7 +73,7 @@ class RssController extends Controller ->findStarredByUser( $user->getId(), 0, - $user->getConfig()->getRssLimit() ?: $this->getContainer()->getParameter('rss_limit') + $user->getConfig()->getRssLimit() ?: $this->container->getParameter('rss_limit') ); return $this->render('WallabagCoreBundle:Entry:entries.xml.twig', array( -- cgit v1.2.3