]> git.immae.eu Git - github/wallabag/wallabag.git/blobdiff - src/Wallabag/CoreBundle/Controller/FeedController.php
Merge pull request #4150 from ldidry/fix-3804
[github/wallabag/wallabag.git] / src / Wallabag / CoreBundle / Controller / FeedController.php
index 9d55a9b7bf7cf50ed632e58db6798964588971d8..95c3427b87f282c2d81a5439c931f1cb64419e79 100644 (file)
@@ -8,7 +8,6 @@ use Pagerfanta\Exception\OutOfRangeCurrentPageException;
 use Pagerfanta\Pagerfanta;
 use Sensio\Bundle\FrameworkExtraBundle\Configuration\ParamConverter;
 use Symfony\Bundle\FrameworkBundle\Controller\Controller;
-use Symfony\Component\HttpFoundation\Request;
 use Symfony\Component\HttpFoundation\Response;
 use Symfony\Component\Routing\Annotation\Route;
 use Symfony\Component\Routing\Generator\UrlGeneratorInterface;
@@ -20,11 +19,10 @@ class FeedController extends Controller
     /**
      * Shows unread entries for current user.
      *
-     * @Route("/feed/{username}/{token}/unread/{page}", name="unread_feed", defaults={"page": 1})
-     * @Route("/{username}/{token}/unread.xml", defaults={"page": 1})
+     * @Route("/feed/{username}/{token}/unread/{page}", name="unread_feed", defaults={"page"=1, "_format"="xml"})
+     *
      * @ParamConverter("user", class="WallabagUserBundle:User", converter="username_feed_token_converter")
      *
-     * @param User $user
      * @param $page
      *
      * @return \Symfony\Component\HttpFoundation\Response
@@ -37,11 +35,10 @@ class FeedController extends Controller
     /**
      * Shows read entries for current user.
      *
-     * @Route("/feed/{username}/{token}/archive/{page}", name="archive_feed", defaults={"page": 1})
-     * @Route("/{username}/{token}/archive.xml", defaults={"page": 1})
+     * @Route("/feed/{username}/{token}/archive/{page}", name="archive_feed", defaults={"page"=1, "_format"="xml"})
+     *
      * @ParamConverter("user", class="WallabagUserBundle:User", converter="username_feed_token_converter")
      *
-     * @param User $user
      * @param $page
      *
      * @return \Symfony\Component\HttpFoundation\Response
@@ -54,11 +51,10 @@ class FeedController extends Controller
     /**
      * Shows starred entries for current user.
      *
-     * @Route("/feed/{username}/{token}/starred/{page}", name="starred_feed", defaults={"page": 1})
-     * @Route("/{username}/{token}/starred.xml", defaults={"page": 1})
+     * @Route("/feed/{username}/{token}/starred/{page}", name="starred_feed", defaults={"page"=1, "_format"="xml"})
+     *
      * @ParamConverter("user", class="WallabagUserBundle:User", converter="username_feed_token_converter")
      *
-     * @param User $user
      * @param $page
      *
      * @return \Symfony\Component\HttpFoundation\Response
@@ -71,29 +67,29 @@ class FeedController extends Controller
     /**
      * Shows all entries for current user.
      *
-     * @Route("/{username}/{token}/all.xml", name="all_feed", defaults={"_format"="xml"})
+     * @Route("/feed/{username}/{token}/all/{page}", name="all_feed", defaults={"page"=1, "_format"="xml"})
+     *
      * @ParamConverter("user", class="WallabagUserBundle:User", converter="username_feed_token_converter")
      *
      * @return \Symfony\Component\HttpFoundation\Response
      */
-    public function showAllFeedAction(Request $request, User $user)
+    public function showAllFeedAction(User $user, $page)
     {
-        return $this->showEntries('all', $user, $request->query->get('page', 1));
+        return $this->showEntries('all', $user, $page);
     }
 
     /**
      * Shows entries associated to a tag for current user.
      *
-     * @Route("/{username}/{token}/tags/{slug}.xml", name="tag_feed", defaults={"_format"="xml"})
+     * @Route("/feed/{username}/{token}/tags/{slug}/{page}", name="tag_feed", defaults={"page"=1, "_format"="xml"})
+     *
      * @ParamConverter("user", class="WallabagUserBundle:User", converter="username_feed_token_converter")
      * @ParamConverter("tag", options={"mapping": {"slug": "slug"}})
      *
      * @return \Symfony\Component\HttpFoundation\Response
      */
-    public function showTagsFeedAction(Request $request, User $user, Tag $tag)
+    public function showTagsFeedAction(User $user, Tag $tag, $page)
     {
-        $page = $request->query->get('page', 1);
-
         $url = $this->generateUrl(
             'tag_feed',
             [
@@ -148,7 +144,6 @@ class FeedController extends Controller
      * It returns the response to be send.
      *
      * @param string $type Entries type: unread, starred or archive
-     * @param User   $user
      * @param int    $page
      *
      * @return \Symfony\Component\HttpFoundation\Response
@@ -177,7 +172,7 @@ class FeedController extends Controller
         $pagerAdapter = new DoctrineORMAdapter($qb->getQuery(), true, false);
         $entries = new Pagerfanta($pagerAdapter);
 
-        $perPage = $user->getConfig()->getFeedLimit() ?: $this->getParameter('wallabag_core.Feed_limit');
+        $perPage = $user->getConfig()->getFeedLimit() ?: $this->getParameter('wallabag_core.feed_limit');
         $entries->setMaxPerPage($perPage);
 
         $url = $this->generateUrl(