1 | <?php |
||
29 | class TranslationExtension extends Extension |
||
30 | { |
||
31 | /** |
||
32 | * {@inheritdoc} |
||
33 | */ |
||
34 | 17 | public function load(array $configs, ContainerBuilder $container) |
|
78 | |||
79 | /** |
||
80 | * Handle the config node to prepare the config manager. |
||
81 | * |
||
82 | * @param ContainerBuilder $container |
||
83 | * @param array $config |
||
84 | */ |
||
85 | 17 | private function handleConfigNode(ContainerBuilder $container, array $config) |
|
86 | { |
||
87 | 17 | $configurationManager = $container->getDefinition('php_translation.configuration_manager'); |
|
88 | // $first will be the "default" configuration. |
||
89 | 17 | $first = null; |
|
90 | 17 | foreach ($config['configs'] as $name => &$c) { |
|
91 | 17 | if ($first === null || $name === 'default') { |
|
92 | 17 | $first = $name; |
|
93 | 17 | } |
|
94 | 17 | if (empty($c['project_root'])) { |
|
95 | // Add a project root of none is set. |
||
96 | 17 | $c['project_root'] = dirname($container->getParameter('kernel.root_dir')); |
|
97 | 17 | } |
|
98 | 17 | $c['name'] = $name; |
|
99 | 17 | $c['locales'] = $config['locales']; |
|
100 | 17 | $configurationServiceId = 'php_translation.configuration.'.$name; |
|
101 | 17 | $configDef = $container->register($configurationServiceId, ConfigurationModel::class); |
|
102 | 17 | $configDef->setPublic(false)->addArgument($c); |
|
103 | 17 | $configurationManager->addMethodCall('addConfiguration', [$name, new Reference($configurationServiceId)]); |
|
104 | |||
105 | /* |
||
106 | * Configure storage chain service |
||
107 | */ |
||
108 | 17 | $storageDefinition = new DefinitionDecorator('php_translation.storage.abstract'); |
|
|
|||
109 | 17 | $storageDefinition->replaceArgument(2, new Reference($configurationServiceId)); |
|
110 | 17 | $container->setDefinition('php_translation.storage.'.$name, $storageDefinition); |
|
111 | |||
112 | // Add storages |
||
113 | 17 | foreach ($c['remote_storage'] as $serviceId) { |
|
114 | $storageDefinition->addMethodCall('addRemoteStorage', [new Reference($serviceId)]); |
||
115 | 17 | } |
|
116 | |||
117 | 17 | foreach ($c['local_storage'] as $serviceId) { |
|
118 | 17 | if ($serviceId !== 'php_translation.local_file_storage.abstract') { |
|
119 | $storageDefinition->addMethodCall('addLocalStorage', [new Reference($serviceId)]); |
||
120 | |||
121 | continue; |
||
122 | } |
||
123 | |||
124 | 17 | $def = new DefinitionDecorator($serviceId); |
|
125 | 17 | $def->replaceArgument(2, [$c['output_dir']]) |
|
126 | 17 | ->replaceArgument(3, [$c['local_file_storage_options']]) |
|
127 | 17 | ->addTag('php_translation.storage', ['type' => 'local', 'name' => $name]); |
|
128 | 17 | $container->setDefinition('php_translation.single_storage.file.'.$name, $def); |
|
129 | 17 | } |
|
130 | 17 | } |
|
131 | |||
132 | 17 | if ($first !== null) { |
|
133 | // Create some aliases for the default storage |
||
134 | 17 | $container->setAlias('php_translation.storage', 'php_translation.storage.'.$first); |
|
135 | 17 | if ($first !== 'default') { |
|
136 | 5 | $container->setAlias('php_translation.storage.default', 'php_translation.storage.'.$first); |
|
137 | 5 | } |
|
138 | 17 | } |
|
139 | 17 | } |
|
140 | |||
141 | /** |
||
142 | * Handle config for WebUI. |
||
143 | * |
||
144 | * @param ContainerBuilder $container |
||
145 | * @param array $config |
||
146 | */ |
||
147 | 10 | private function enableWebUi(ContainerBuilder $container, array $config) |
|
153 | |||
154 | /** |
||
155 | * Handle config for EditInPlace. |
||
156 | * |
||
157 | * @param ContainerBuilder $container |
||
158 | * @param array $config |
||
159 | */ |
||
160 | 10 | private function enableEditInPlace(ContainerBuilder $container, array $config) |
|
178 | |||
179 | /** |
||
180 | * Handle config for Symfony Profiler. |
||
181 | * |
||
182 | * @param ContainerBuilder $container |
||
183 | * @param array $config |
||
184 | */ |
||
185 | 17 | private function enableSymfonyProfiler(ContainerBuilder $container, array $config) |
|
189 | |||
190 | /** |
||
191 | * Handle config for fallback auto translate. |
||
192 | * |
||
193 | * @param ContainerBuilder $container |
||
194 | * @param array $config |
||
195 | */ |
||
196 | 1 | private function enableFallbackAutoTranslator(ContainerBuilder $container, array $config) |
|
206 | |||
207 | /** |
||
208 | * {@inheritdoc} |
||
209 | */ |
||
210 | 17 | public function getAlias() |
|
214 | } |
||
215 |
This class, trait or interface has been deprecated. The supplier of the file has supplied an explanatory message.
The explanatory message should give you some clue as to whether and when the type will be removed from the class and what other constant to use instead.