X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=src%2FWallabag%2FCoreBundle%2FHelper%2FPreparePagerForEntries.php;h=183d394a08a3a19bdded9b59ea3b10762d060012;hb=963b87362624a39f5443b31a6b3591d70c63493b;hp=f9066bee7dfab1d24acaf2a9cee41bcd01809467;hpb=cdd3010b478c9ca818dd6d22d03c81ef4a5ab208;p=github%2Fwallabag%2Fwallabag.git diff --git a/src/Wallabag/CoreBundle/Helper/PreparePagerForEntries.php b/src/Wallabag/CoreBundle/Helper/PreparePagerForEntries.php index f9066bee..183d394a 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 + * @return Pagerfanta|null */ - 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; }