88use Admingenerator \FormExtensionsBundle \Form \Extension \NoValidateExtension ;
99use Admingenerator \FormExtensionsBundle \Form \Extension \SingleUploadExtension ;
1010use Admingenerator \FormExtensionsBundle \Twig \Extension \ImageAssetsExtension ;
11+ use Admingenerator \FormExtensionsBundle \Twig \Extension \IncludeGlobalsExtension ;
12+ use Admingenerator \FormExtensionsBundle \Twig \Extension \LegacyIncludeGlobalsExtension ;
1113use Symfony \Component \Config \FileLocator ;
1214use Symfony \Component \DependencyInjection \ContainerBuilder ;
1315use Symfony \Component \DependencyInjection \Loader ;
1618use Symfony \Component \HttpKernel \DependencyInjection \Extension ;
1719use Symfony \Component \DependencyInjection \Definition ;
1820use Symfony \Component \DependencyInjection \Reference ;
21+ use Twig \Environment ;
1922
2023/**
2124 * Loads FormExtensions configuration
@@ -46,9 +49,11 @@ public function load(array $configs, ContainerBuilder $container)
4649
4750 $ this ->configureAssetsExtension ($ container , $ config ['upload_manager ' ], $ config ['image_manipulator ' ]);
4851
49- $ this ->configureExtensions ($ config ['extensions ' ], $ container );
52+ $ this ->configureFormExtensions ($ config ['extensions ' ], $ container );
5053
5154 $ this ->loadUploadCollectionListener ($ config ['upload_collection ' ], $ container );
55+
56+ $ this ->loadGlobalsExtension ($ container );
5257 }
5358
5459 /**
@@ -57,7 +62,7 @@ public function load(array $configs, ContainerBuilder $container)
5762 * @param array $config
5863 * @param ContainerBuilder $container
5964 */
60- private function configureExtensions (array $ config , ContainerBuilder $ container ) {
65+ private function configureFormExtensions (array $ config , ContainerBuilder $ container ) {
6166 if ($ config ['autocomplete ' ]) {
6267 $ this ->registerExtension ($ container , 'form.type_extension.autocomplete ' , AutocompleteExtension::class);
6368 }
@@ -143,4 +148,11 @@ private function configureAssetsExtension(ContainerBuilder $container, string $u
143148 $ assetsExtensionDefinition ->addTag ('twig.extension ' );
144149 $ container ->setDefinition ('admingenerator.twig.extension.image_assets ' , $ assetsExtensionDefinition );
145150 }
151+
152+ private function loadGlobalsExtension (ContainerBuilder $ container ) {
153+ $ globalsExtensionDefinition = Environment::MAJOR_VERSION > 2 ? new Definition (IncludeGlobalsExtension::class) : new Definition (LegacyIncludeGlobalsExtension::class);
154+ $ globalsExtensionDefinition ->setArgument ('$container ' , new Reference ('service_container ' ));
155+ $ globalsExtensionDefinition ->addTag ('twig.extension ' );
156+ $ container ->setDefinition ('admingenerator.twig.extension.include_globals ' , $ globalsExtensionDefinition );
157+ }
146158}
0 commit comments