8
8
use Admingenerator \FormExtensionsBundle \Form \Extension \NoValidateExtension ;
9
9
use Admingenerator \FormExtensionsBundle \Form \Extension \SingleUploadExtension ;
10
10
use Admingenerator \FormExtensionsBundle \Twig \Extension \ImageAssetsExtension ;
11
+ use Admingenerator \FormExtensionsBundle \Twig \Extension \IncludeGlobalsExtension ;
12
+ use Admingenerator \FormExtensionsBundle \Twig \Extension \LegacyIncludeGlobalsExtension ;
11
13
use Symfony \Component \Config \FileLocator ;
12
14
use Symfony \Component \DependencyInjection \ContainerBuilder ;
13
15
use Symfony \Component \DependencyInjection \Loader ;
16
18
use Symfony \Component \HttpKernel \DependencyInjection \Extension ;
17
19
use Symfony \Component \DependencyInjection \Definition ;
18
20
use Symfony \Component \DependencyInjection \Reference ;
21
+ use Twig \Environment ;
19
22
20
23
/**
21
24
* Loads FormExtensions configuration
@@ -46,9 +49,11 @@ public function load(array $configs, ContainerBuilder $container)
46
49
47
50
$ this ->configureAssetsExtension ($ container , $ config ['upload_manager ' ], $ config ['image_manipulator ' ]);
48
51
49
- $ this ->configureExtensions ($ config ['extensions ' ], $ container );
52
+ $ this ->configureFormExtensions ($ config ['extensions ' ], $ container );
50
53
51
54
$ this ->loadUploadCollectionListener ($ config ['upload_collection ' ], $ container );
55
+
56
+ $ this ->loadGlobalsExtension ($ container );
52
57
}
53
58
54
59
/**
@@ -57,7 +62,7 @@ public function load(array $configs, ContainerBuilder $container)
57
62
* @param array $config
58
63
* @param ContainerBuilder $container
59
64
*/
60
- private function configureExtensions (array $ config , ContainerBuilder $ container ) {
65
+ private function configureFormExtensions (array $ config , ContainerBuilder $ container ) {
61
66
if ($ config ['autocomplete ' ]) {
62
67
$ this ->registerExtension ($ container , 'form.type_extension.autocomplete ' , AutocompleteExtension::class);
63
68
}
@@ -143,4 +148,11 @@ private function configureAssetsExtension(ContainerBuilder $container, string $u
143
148
$ assetsExtensionDefinition ->addTag ('twig.extension ' );
144
149
$ container ->setDefinition ('admingenerator.twig.extension.image_assets ' , $ assetsExtensionDefinition );
145
150
}
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
+ }
146
158
}
0 commit comments