Completed
Push — api ( cecea0...116a36 )
by Kamil
29:57 queued 30s
created

LegacySonataBlockPass   A

Complexity

Total Complexity 3

Size/Duplication

Total Lines 23
Duplicated Lines 0 %

Coupling/Cohesion

Components 0
Dependencies 1

Importance

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

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