From 495aecfe7417918c45d8ea32b1ee8903018449cd Mon Sep 17 00:00:00 2001 From: Jeremy Date: Sun, 1 Mar 2015 08:22:29 +0100 Subject: Cleanup & simplify theme --- .../CoreBundle/Helper/DetectActiveTheme.php | 25 ++++++++++++++++------ 1 file changed, 19 insertions(+), 6 deletions(-) (limited to 'src/Wallabag/CoreBundle/Helper/DetectActiveTheme.php') diff --git a/src/Wallabag/CoreBundle/Helper/DetectActiveTheme.php b/src/Wallabag/CoreBundle/Helper/DetectActiveTheme.php index 2a943bb7..2c742e6a 100644 --- a/src/Wallabag/CoreBundle/Helper/DetectActiveTheme.php +++ b/src/Wallabag/CoreBundle/Helper/DetectActiveTheme.php @@ -6,13 +6,26 @@ 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 +34,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 +45,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(); -- cgit v1.2.3