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

LegacySonataBlockPass::process()   A

Complexity

Conditions 3
Paths 3

Size

Total Lines 20

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
dl 0
loc 20
rs 9.6
c 0
b 0
f 0
cc 3
nc 3
nop 1
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