]> git.immae.eu Git - github/wallabag/wallabag.git/blame - src/Wallabag/CoreBundle/Helper/PreparePagerForEntries.php
Update deps
[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;
f808b016 9use Wallabag\UserBundle\Entity\User;
891456ba
NL
10
11class PreparePagerForEntries
12{
891456ba 13 private $router;
2fe2e411 14 private $tokenStorage;
891456ba 15
2fe2e411 16 public function __construct(TokenStorageInterface $tokenStorage, Router $router)
891456ba 17 {
2fe2e411 18 $this->tokenStorage = $tokenStorage;
891456ba
NL
19 $this->router = $router;
20 }
21
22 /**
8d4ed0df 23 * @param User $user If user isn't logged in, we can force it (like for feed)
891456ba 24 *
3afc8742 25 * @return Pagerfanta|null
891456ba 26 */
18c38dff 27 public function prepare(AdapterInterface $adapter, User $user = null)
891456ba 28 {
18c38dff
JB
29 if (null === $user) {
30 $user = $this->tokenStorage->getToken() ? $this->tokenStorage->getToken()->getUser() : null;
31 }
2fe2e411 32
2a1ceb67 33 if (null === $user || !\is_object($user)) {
53da8ad8 34 return;
2fe2e411
NL
35 }
36
891456ba 37 $entries = new Pagerfanta($adapter);
2fe2e411 38 $entries->setMaxPerPage($user->getConfig()->getItemsPerPage());
891456ba
NL
39
40 return $entries;
41 }
42}