/**
  * Returns button which links to edit page if it is a user.
  *
  * @param \Twig_Environment $environment
  * @param string            $settingName
  * @param string            $type
  *
  * @return string
  */
 public function showSetting($environment, $settingName, $type = 'string')
 {
     if (!$this->personalSettingsManager->isAuthenticated()) {
         return '';
     }
     return $environment->render($this->template, ['setting' => $settingName, 'type' => $type]);
 }
 /**
  * On kernel request.
  *
  * @param GetResponseEvent $event
  */
 public function onKernelRequest(GetResponseEvent $event)
 {
     $settings = $this->generalSettingsManager->getSettings();
     foreach ($settings as $id => $value) {
         $prefix = 'ongr_settings_profile_';
         if (strpos($id, $prefix) === 0 && $value === true) {
             $escapedProfile = mb_substr($id, strlen($prefix), null, 'UTF-8');
             $profile = UnderscoreEscaper::unescape($escapedProfile);
             $this->settingsContainer->addProfile($profile);
             $this->settingsContainer->addProvider($this->buildProvider($profile));
         }
     }
 }
 /**
  * {@inheritdoc}
  */
 public function onKernelRequest(GetResponseEvent $event)
 {
     $settingsMap = $this->generalSettingsManager->getSettingsMap();
     $cookiesServiceNames = array_map(function ($setting) {
         return $setting['cookie'];
     }, $settingsMap);
     $cookiesServiceNames = array_unique($cookiesServiceNames);
     foreach ($cookiesServiceNames as $cookieServiceName) {
         /** @var JsonCookie $cookie */
         $cookie = $this->container->get($cookieServiceName, ContainerInterface::NULL_ON_INVALID_REFERENCE);
         if ($cookie !== null && $cookie->getValue() !== null) {
             $this->generalSettingsManager->addSettingsFromCookie($cookie->getValue());
         }
     }
 }
 /**
  * Return setting value for the current user.
  *
  * @param string $settingName
  * @param bool   $mustAuthorize
  *
  * @return mixed
  */
 public function getSettingEnabled($settingName, $mustAuthorize = true)
 {
     return $this->porsonallSettingsManager->getSettingEnabled($settingName, $mustAuthorize);
 }
 /**
  * Test setSettingsFromCookie method.
  */
 public function testSetSettingsFromCookie()
 {
     $manager = new PersonalSettingsManager(null, null);
     $manager->setSettingsFromCookie(['foo']);
     $this->assertEquals(['foo'], $manager->getSettings());
 }