Completed
Push — master ( 1de9b7...830752 )
by Kristof
38:46 queued 24:09
created

DependencyInjection/KunstmaanNodeExtension.php (1 issue)

Upgrade to new PHP Analysis Engine

These results are based on our legacy PHP analysis, consider migrating to our new PHP analysis engine instead. Learn more

1
<?php
2
3
namespace Kunstmaan\NodeBundle\DependencyInjection;
4
5
use Symfony\Component\Config\FileLocator;
6
use Symfony\Component\DependencyInjection\ContainerBuilder;
7
use Symfony\Component\DependencyInjection\Definition;
8
use Symfony\Component\DependencyInjection\Extension\PrependExtensionInterface;
9
use Symfony\Component\DependencyInjection\Loader;
10
use Symfony\Component\HttpKernel\DependencyInjection\Extension;
11
12
/**
13
 * This is the class that loads and manages your bundle configuration
14
 *
15
 * To learn more see {@link http://symfony.com/doc/current/cookbook/bundles/extension.html}
16
 */
17
class KunstmaanNodeExtension extends Extension implements PrependExtensionInterface
18
{
19
    /**
20
     * {@inheritdoc}
21
     */
22
    public function load(array $configs, ContainerBuilder $container)
23
    {
24
        $configuration = new Configuration();
25
        $config = $this->processConfiguration($configuration, $configs);
26
27
        $loader = new Loader\YamlFileLoader($container, new FileLocator(__DIR__.'/../Resources/config'));
28
29
        $container->setParameter('twig.form.resources', array_merge(
30
            $container->getParameter('twig.form.resources'),
31
            array('KunstmaanNodeBundle:Form:formWidgets.html.twig')
32
        ));
33
34
        $nodePagesDefinition = new Definition('Kunstmaan\NodeBundle\Helper\PagesConfiguration', [$config['pages']]);
35
        $nodePagesDefinition->setPublic(true);
36
        $container->setDefinition('kunstmaan_node.pages_configuration', $nodePagesDefinition);
37
38
        $container->setParameter('kunstmaan_node.show_add_homepage', $config['show_add_homepage']);
39
        $container->setParameter('kunstmaan_node.enable_export_page_template', $config['enable_export_page_template']);
40
        $container->setParameter('kunstmaan_node.lock_check_interval', $config['lock']['check_interval']);
41
        $container->setParameter('kunstmaan_node.lock_threshold', $config['lock']['threshold']);
42
        $container->setParameter('kunstmaan_node.lock_enabled', $config['lock']['enabled']);
43
44
        $loader->load('services.yml');
45
    }
46
47
    public function prepend(ContainerBuilder $container)
48
    {
49
        $cmfRoutingExtraConfig['chain']['routers_by_id']['router.default'] = 100;
0 ignored issues
show
Coding Style Comprehensibility introduced by
$cmfRoutingExtraConfig was never initialized. Although not strictly required by PHP, it is generally a good practice to add $cmfRoutingExtraConfig = array(); before regardless.

Adding an explicit array definition is generally preferable to implicit array definition as it guarantees a stable state of the code.

Let’s take a look at an example:

foreach ($collection as $item) {
    $myArray['foo'] = $item->getFoo();

    if ($item->hasBar()) {
        $myArray['bar'] = $item->getBar();
    }

    // do something with $myArray
}

As you can see in this example, the array $myArray is initialized the first time when the foreach loop is entered. You can also see that the value of the bar key is only written conditionally; thus, its value might result from a previous iteration.

This might or might not be intended. To make your intention clear, your code more readible and to avoid accidental bugs, we recommend to add an explicit initialization $myArray = array() either outside or inside the foreach loop.

Loading history...
50
        $cmfRoutingExtraConfig['chain']['replace_symfony_router'] = true;
51
        $container->prependExtensionConfig('cmf_routing', $cmfRoutingExtraConfig);
52
53
        $configs = $container->getExtensionConfig($this->getAlias());
54
        $config = $this->processConfiguration(new Configuration(), $configs);
55
56
        // set twig global params
57
        $twigConfig['globals']['nodebundleisactive'] = true;
58
        $twigConfig['globals']['publish_later_stepping'] = $config['publish_later_stepping'];
59
        $twigConfig['globals']['unpublish_later_stepping'] = $config['unpublish_later_stepping'];
60
        $container->prependExtensionConfig('twig', $twigConfig);
61
    }
62
}
63