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;
/**
* 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
/**
* 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
/**
* 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
/**
* 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',
[
* 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
$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(