Completed
Push — 1.7-experimental-and-deprecate... ( c676ff )
by Kamil
05:01
created

LegacySonataBlockPass   A

Complexity

Total Complexity 3

Size/Duplication

Total Lines 23
Duplicated Lines 0 %

Coupling/Cohesion

Components 0
Dependencies 0

Importance

Changes 0
Metric Value
wmc 3
lcom 0
cbo 0
dl 0
loc 23
rs 10
c 0
b 0
f 0

1 Method

Rating   Name   Duplication   Size   Complexity  
A process() 0 20 3
1
<?php
2
3
declare(strict_types=1);
4
5
namespace Sylius\Bundle\UiBundle\DependencyInjection\Compiler;
6
7
use Symfony\Component\DependencyInjection\Compiler\CompilerPassInterface;
8
use Symfony\Component\DependencyInjection\ContainerBuilder;
9
10
/**
11
 * @internal
12
 * @experimental
13
 */
14
final class LegacySonataBlockPass implements CompilerPassInterface
15
{
16
    public function process(ContainerBuilder $container): void
17
    {
18
        $whitelistedVariables = [];
19
        $configs = $container->getExtensionConfig('sonata_block');
20
21
        foreach ($configs as $config) {
22
            if (!isset($config['blocks']['sonata.block.service.template']['settings'])) {
23
                continue;
24
            }
25
26
            $whitelistedVariables = array_merge(
27
                $whitelistedVariables,
28
                array_keys($config['blocks']['sonata.block.service.template']['settings'])
29
            );
30
        }
31
32
        $whitelistedVariables = array_unique($whitelistedVariables);
33
34
        $container->setParameter('sylius_ui.sonata_block.whitelisted_variables', $whitelistedVariables);
35
    }
36
}
37