3 namespace Wallabag\CoreBundle\Helper
;
5 use Symfony\Component\Routing\Router
;
6 use Symfony\Component\Security\Core\Authentication\Token\Storage\TokenStorageInterface
;
7 use Wallabag\CoreBundle\Entity\Config
;
10 * Manage redirections to avoid redirecting to empty routes.
15 private $tokenStorage;
16 private $actionMarkAsRead;
18 public function __construct(Router
$router, TokenStorageInterface
$tokenStorage)
20 $this->router
= $router;
21 $this->tokenStorage
= $tokenStorage;
25 * @param string $url URL to redirect
26 * @param string $fallback Fallback URL if $url is null
30 public function to($url, $fallback = '')
32 $user = $this->tokenStorage
->getToken() ? $this->tokenStorage
->getToken()->getUser() : null;
34 if (null === $user || !is_object($user)) {
38 if (Config
::REDIRECT_TO_HOMEPAGE
=== $user->getConfig()->getActionMarkAsRead()) {
39 return $this->router
->generate('homepage');
46 if ('' === $fallback) {
47 return $this->router
->generate('homepage');