/**
  * 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));
         }
     }
 }
Exemplo n.º 2
0
 /**
  * Test for SettingsContainer get.
  */
 public function testGet()
 {
     $pool = new Pool();
     $settingsContainer = new SettingsContainer($pool);
     $provider = new ManagerAwareSettingProvider();
     $provider->setManager($this->getManager());
     $settingsContainer->addProvider($provider);
     // First time, it should be loaded from database.
     $settings = $settingsContainer->get('test');
     $this->assertEquals('test1', $settings);
     // Second time it should be loaded from object itself.
     $this->getManager()->getConnection()->dropIndex();
     $settings = $settingsContainer->get('test');
     $this->assertEquals('test1', $settings);
     $settings = $settingsContainer->get('test2');
     $this->assertEquals('test2', $settings);
 }
Exemplo n.º 3
0
 /**
  * Test if get method works.
  *
  * @param array  $settings
  * @param string $toGet
  * @param string $expected
  *
  * @dataProvider getTestProvidersData
  */
 public function testGet($settings, $toGet, $expected)
 {
     // Loads from provider.
     $poolMock = $this->getPool();
     $providerMock = $this->getProvider('default', $settings);
     $container = new SettingsContainer($poolMock);
     $container->addProvider($providerMock);
     $result = $container->get($toGet);
     $this->assertEquals($expected, $result, 'failed to get parameter from provider');
     // Loads from stored local property.
     $result2 = $container->get($toGet);
     $this->assertEquals($expected, $result2, 'failed to get parameter from local property');
     // Loads from cached stash.
     $poolMock3 = $this->getPool(false, $settings);
     $container3 = new SettingsContainer($poolMock3);
     $result3 = $container3->get($toGet);
     $this->assertEquals($expected, $result3, 'failed to get parameter from stash');
 }