X-Git-Url: https://git.rapsys.eu/airbundle/blobdiff_plain/ca269c96e6d812c9c886099f204ce9128d5851ca..b48ad31b0d479ccbbeb4557a9439587b9f137aec:/DependencyInjection/RapsysAirExtension.php

diff --git a/DependencyInjection/RapsysAirExtension.php b/DependencyInjection/RapsysAirExtension.php
index 777a9c1..3f7ea09 100644
--- a/DependencyInjection/RapsysAirExtension.php
+++ b/DependencyInjection/RapsysAirExtension.php
@@ -20,6 +20,41 @@ class RapsysAirExtension extends Extension implements PrependExtensionInterface
 	 * {@inheritdoc}
 	 */
 	public function prepend(ContainerBuilder $container) {
+		//Load framework configurations
+		//XXX: required to extract default_locale and translation.fallbacks
+		$frameworks = $container->getExtensionConfig('framework');
+
+		//Recursively merge framework configurations
+		$framework = array_reduce(
+			$frameworks,
+			function ($res, $i) {
+				return array_merge_recursive($res, $i);
+			},
+			[]
+		);
+
+		//Set translator fallbacks
+		$container->setParameter('kernel.translator.fallbacks', $framework['translator']['fallbacks']);
+
+		//Set default locale
+		$container->setParameter('kernel.default_locale', $framework['default_locale']);
+
+		//Load rapsys_user configurations
+		//XXX: required to extract default_locale and translation.fallbacks
+		$rapsys_users = $container->getExtensionConfig('rapsys_user');
+
+		//Recursively merge rapsys_user configurations
+		$rapsys_user = array_reduce(
+			$rapsys_users,
+			function ($res, $i) {
+				return array_merge_recursive($res, $i);
+			},
+			[]
+		);
+
+		//Set rapsys_user.languages key
+		$container->setParameter('rapsys_user.languages', $rapsys_user['languages']);
+
 		//Process the configuration
 		$configs = $container->getExtensionConfig($this->getAlias());
 
@@ -40,7 +75,7 @@ class RapsysAirExtension extends Extension implements PrependExtensionInterface
 
 		//Store flattened array in parameters
 		//XXX: don't flatten rapsys_air.site.png key which is required to be an array
-		foreach($this->flatten($config, $this->getAlias(), 10, '.', ['rapsys_air.site.png']) as $k => $v) {
+		foreach($this->flatten($config, $this->getAlias(), 10, '.', ['rapsys_air.site.png', 'rapsys_air.facebook.apps', 'rapsys_air.locales', 'rapsys_air.languages']) as $k => $v) {
 			$container->setParameter($k, $v);
 		}
 	}