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;
17 public function __construct(Router
$router, TokenStorageInterface
$tokenStorage)
19 $this->router
= $router;
20 $this->tokenStorage
= $tokenStorage;
24 * @param string $url URL to redirect
25 * @param string $fallback Fallback URL if $url is null
29 public function to($url, $fallback = '')
31 $user = $this->tokenStorage
->getToken() ? $this->tokenStorage
->getToken()->getUser() : null;
33 if (null === $user || !is_object($user)) {
37 if (Config
::REDIRECT_TO_HOMEPAGE
=== $user->getConfig()->getActionMarkAsRead()) {
38 return $this->router
->generate('homepage');
45 if ('' === $fallback) {
46 return $this->router
->generate('homepage');