/** * 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()); }