/**
  * @param \Symfony\Component\DependencyInjection\ContainerInterface $container
  * @param string                                                    $defaultLocale
  */
 public function __construct(ContainerInterface $container, $defaultLocale)
 {
     if (version_compare(SonataIntlBundle::getSymfonyVersion(Kernel::VERSION), '2.1.0', '<')) {
         throw new \RuntimeException('Invalid Symfony2 version, please use Symfony 2.1.x series');
     }
     $this->container = $container;
     $this->defaultLocale = $defaultLocale;
 }
 /**
  * @param \Symfony\Component\HttpFoundation\Session $session
  * @param string                                    $defaultLocale
  */
 public function __construct(Session $session, $defaultLocale)
 {
     if (!version_compare(SonataIntlBundle::getSymfonyVersion(Kernel::VERSION), '2.1.0', '<')) {
         throw new \RuntimeException('Invalid Symfony2 version, please use Symfony 2.0.x series');
     }
     $this->session = $session;
     $this->defaultLocale = $defaultLocale;
 }
 /**
  * @param ContainerBuilder $container
  * @param array            $config
  */
 protected function configureLocale(ContainerBuilder $container, array $config)
 {
     if (version_compare(SonataIntlBundle::getSymfonyVersion(Kernel::VERSION), '2.1.0', '>=')) {
         $container->getDefinition('sonata.intl.locale_detector.request')->replaceArgument(1, $config['locale'] ? $config['locale'] : $container->getParameter('kernel.default_locale'));
         $container->setAlias('sonata.intl.locale_detector', 'sonata.intl.locale_detector.request');
         $container->removeDefinition('sonata.intl.locale_detector.session');
     } else {
         $container->getDefinition('sonata.intl.locale_detector.session')->replaceArgument(1, $config['locale'] ? $config['locale'] : $container->getParameter('session.default_locale'));
         $container->setAlias('sonata.intl.locale_detector', 'sonata.intl.locale_detector.session');
         $container->removeDefinition('sonata.intl.locale_detector.request');
     }
 }
 /**
  * @dataProvider getVersions
  */
 public function testSymfonyVersion($currentVersion, $minVersion, $versionExpected, $versionBundle)
 {
     $this->assertEquals($versionExpected, version_compare($currentVersion, $minVersion, '>='));
     $this->assertEquals($versionBundle, version_compare(SonataIntlBundle::getSymfonyVersion($currentVersion), $minVersion, '>='));
 }