X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=src%2FWallabag%2FCoreBundle%2FHelper%2FPreparePagerForEntries.php;h=1c2c509316bd49fafb2d8eb7ed608c3c13182033;hb=2a1ceb67b4400f46f4d3067e887ff54aa906f0a2;hp=f9066bee7dfab1d24acaf2a9cee41bcd01809467;hpb=637aa17e6b52dd8021854a809053560a27caca72;p=github%2Fwallabag%2Fwallabag.git diff --git a/src/Wallabag/CoreBundle/Helper/PreparePagerForEntries.php b/src/Wallabag/CoreBundle/Helper/PreparePagerForEntries.php index f9066bee..1c2c5093 100644 --- a/src/Wallabag/CoreBundle/Helper/PreparePagerForEntries.php +++ b/src/Wallabag/CoreBundle/Helper/PreparePagerForEntries.php @@ -5,29 +5,38 @@ namespace Wallabag\CoreBundle\Helper; use Pagerfanta\Adapter\AdapterInterface; use Pagerfanta\Pagerfanta; use Symfony\Component\Routing\Router; -use Symfony\Component\Security\Core\Authentication\Token\Storage\TokenStorage; +use Symfony\Component\Security\Core\Authentication\Token\Storage\TokenStorageInterface; +use Wallabag\UserBundle\Entity\User; class PreparePagerForEntries { - private $user; private $router; + private $tokenStorage; - public function __construct(TokenStorage $token, Router $router) + public function __construct(TokenStorageInterface $tokenStorage, Router $router) { - $this->user = $token->getToken()->getUser(); + $this->tokenStorage = $tokenStorage; $this->router = $router; } /** * @param AdapterInterface $adapter - * @param int $page + * @param User $user If user isn't logged in, we can force it (like for rss) * * @return null|Pagerfanta */ - public function prepare(AdapterInterface $adapter, $page = 1) + public function prepare(AdapterInterface $adapter, User $user = null) { + if (null === $user) { + $user = $this->tokenStorage->getToken() ? $this->tokenStorage->getToken()->getUser() : null; + } + + if (null === $user || !\is_object($user)) { + return; + } + $entries = new Pagerfanta($adapter); - $entries->setMaxPerPage($this->user->getConfig()->getItemsPerPage()); + $entries->setMaxPerPage($user->getConfig()->getItemsPerPage()); return $entries; }