X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;ds=sidebyside;f=src%2FWallabag%2FCoreBundle%2FHelper%2FDetectActiveTheme.php;h=446629db2196ad5a76f460e2b5b45cd6e85c6ef8;hb=930334cd6d486843b536412391a549815efd038e;hp=2a943bb7d2400e3489ea49438ab97759a3929c16;hpb=32da2a70ef278bd42f66eb82c3fbf1905a417b87;p=github%2Fwallabag%2Fwallabag.git diff --git a/src/Wallabag/CoreBundle/Helper/DetectActiveTheme.php b/src/Wallabag/CoreBundle/Helper/DetectActiveTheme.php index 2a943bb7..446629db 100644 --- a/src/Wallabag/CoreBundle/Helper/DetectActiveTheme.php +++ b/src/Wallabag/CoreBundle/Helper/DetectActiveTheme.php @@ -6,13 +6,25 @@ use Liip\ThemeBundle\Helper\DeviceDetectionInterface; use Symfony\Component\Security\Core\SecurityContextInterface; use Wallabag\CoreBundle\Entity\User; +/** + * This class intend to detect the active theme for the logged in user. + * It will retrieve the configured theme of the user. + * + * If no user where logged in, it will returne the default theme + */ class DetectActiveTheme implements DeviceDetectionInterface { protected $securityContext; + protected $defaultTheme; - public function __construct(SecurityContextInterface $securityContext) + /** + * @param SecurityContextInterface $securityContext Needed to retrieve the current user + * @param string $defaultTheme Default theme when user isn't logged in + */ + public function __construct(SecurityContextInterface $securityContext, $defaultTheme) { $this->securityContext = $securityContext; + $this->defaultTheme = $defaultTheme; } public function setUserAgent($userAgent) @@ -21,9 +33,10 @@ class DetectActiveTheme implements DeviceDetectionInterface /** * This should return the active theme for the logged in user. - * No active theme for: + * + * Default theme for: * - anonymous user - * - user without a config (shouldn't happen..) + * - user without a config (shouldn't happen ..) * * @return string */ @@ -31,15 +44,14 @@ class DetectActiveTheme implements DeviceDetectionInterface { $user = $this->securityContext->getToken()->getUser(); - // anon user don't deserve a theme if (!$user instanceof User) { - return false; + return $this->defaultTheme; } $config = $user->getConfig(); if (!$config) { - return false; + return $this->defaultTheme; } return $config->getTheme();