]> git.immae.eu Git - github/wallabag/wallabag.git/blame - src/Wallabag/CoreBundle/Helper/PreparePagerForEntries.php
Merge pull request #3123 from X-dark/master
[github/wallabag/wallabag.git] / src / Wallabag / CoreBundle / Helper / PreparePagerForEntries.php
CommitLineData
891456ba
NL
1<?php
2
3namespace Wallabag\CoreBundle\Helper;
4
5use Pagerfanta\Adapter\AdapterInterface;
6use Pagerfanta\Pagerfanta;
7use Symfony\Component\Routing\Router;
2fe2e411 8use Symfony\Component\Security\Core\Authentication\Token\Storage\TokenStorageInterface;
891456ba
NL
9
10class PreparePagerForEntries
11{
891456ba 12 private $router;
2fe2e411 13 private $tokenStorage;
891456ba 14
2fe2e411 15 public function __construct(TokenStorageInterface $tokenStorage, Router $router)
891456ba 16 {
2fe2e411 17 $this->tokenStorage = $tokenStorage;
891456ba
NL
18 $this->router = $router;
19 }
20
21 /**
22 * @param AdapterInterface $adapter
23 * @param int $page
24 *
25 * @return null|Pagerfanta
26 */
27 public function prepare(AdapterInterface $adapter, $page = 1)
28 {
2fe2e411
NL
29 $user = $this->tokenStorage->getToken() ? $this->tokenStorage->getToken()->getUser() : null;
30
31 if (null === $user || !is_object($user)) {
32 return null;
33 }
34
891456ba 35 $entries = new Pagerfanta($adapter);
2fe2e411 36 $entries->setMaxPerPage($user->getConfig()->getItemsPerPage());
891456ba
NL
37
38 return $entries;
39 }
40}