FenrizbesUploadableExtension   A
last analyzed

Complexity

Total Complexity 5

Size/Duplication

Total Lines 36
Duplicated Lines 0 %

Coupling/Cohesion

Components 0
Dependencies 5

Importance

Changes 0
Metric Value
wmc 5
lcom 0
cbo 5
dl 0
loc 36
rs 10
c 0
b 0
f 0

2 Methods

Rating   Name   Duplication   Size   Complexity  
A load() 0 18 3
A registerResources() 0 11 2
1
<?php
2
3
namespace Fenrizbes\UploadableBundle\DependencyInjection;
4
5
use Symfony\Component\DependencyInjection\ContainerBuilder;
6
use Symfony\Component\Config\FileLocator;
7
use Symfony\Component\HttpKernel\DependencyInjection\Extension;
8
use Symfony\Component\DependencyInjection\Loader;
9
10
/**
11
 * This is the class that loads and manages your bundle configuration
12
 *
13
 * To learn more see {@link http://symfony.com/doc/current/cookbook/bundles/extension.html}
14
 */
15
class FenrizbesUploadableExtension extends Extension
16
{
17
    /**
18
     * {@inheritdoc}
19
     */
20
    public function load(array $configs, ContainerBuilder $container)
21
    {
22
        $configuration = new Configuration();
23
        $config = $this->processConfiguration($configuration, $configs);
24
25
        if (isset($config['root_path']) && !empty($config['root_path'])) {
26
            $root_path = rtrim($config['root_path'], '/');
27
        } else {
28
            $root_path = $container->getParameter('kernel.root_dir') .'/../web';
29
        }
30
31
        $container->setParameter('fenrizbes_uploadable.root_path', $root_path);
32
33
        $loader = new Loader\YamlFileLoader($container, new FileLocator(__DIR__.'/../Resources/config'));
34
        $loader->load('services.yml');
35
36
        $this->registerResources($container);
37
    }
38
39
    protected function registerResources(ContainerBuilder $container)
40
    {
41
        $templatingEngines = $container->getParameter('templating.engines');
42
43
        if (in_array('twig', $templatingEngines)) {
44
            $container->setParameter('twig.form.resources', array_merge(
45
                array('FenrizbesUploadableBundle:Form:fields.html.twig'),
46
                $container->getParameter('twig.form.resources')
47
            ));
48
        }
49
    }
50
}
51