Completed
Branch master (01610a)
by Arnaud
06:29
created

LAGAdminExtension::getAlias()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 4
Code Lines 2

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 0
CRAP Score 2

Importance

Changes 1
Bugs 0 Features 0
Metric Value
c 1
b 0
f 0
dl 0
loc 4
ccs 0
cts 4
cp 0
rs 10
cc 1
eloc 2
nc 1
nop 0
crap 2
1
<?php
2
3
namespace LAG\AdminBundle\DependencyInjection;
4
5
use Symfony\Component\Config\Definition\Exception\InvalidConfigurationException;
6
use Symfony\Component\Config\FileLocator;
7
use Symfony\Component\DependencyInjection\ContainerBuilder;
8
use Symfony\Component\DependencyInjection\Loader;
9
use Symfony\Component\HttpKernel\DependencyInjection\Extension;
10
11
/**
12
 * This is the class that loads and manages your bundle configuration.
13
 */
14
class LAGAdminExtension extends Extension
15
{
16
    /**
17
     * @param array $configs
18
     * @param ContainerBuilder $container
19
     */
20
    public function load(array $configs, ContainerBuilder $container)
21
    {
22
        $configuration = new Configuration();
23
        $config = $this->processConfiguration($configuration, $configs);
24
25
        $loader = new Loader\YamlFileLoader($container, new FileLocator(__DIR__.'/../Resources/config'));
26
        $loader->load('services.yml');
27
28
        if (!array_key_exists('application', $config)) {
29
            throw new InvalidConfigurationException('Your section "application" is not found for AdminBundle configuration');
30
        }
31
        if (!array_key_exists('admins', $config)) {
32
            throw new InvalidConfigurationException('Your section "admins" is not found for AdminBundle configuration');
33
        }
34
        if (!array_key_exists('enable_extra_configuration', $config['application'])) {
35
            $config['application']['enable_extra_configuration'] = true;
36
        }
37
        $container->setParameter('lag.admins', $config['admins']);
38
        $container->setParameter('lag.menus', $config['menus']);
39
        $container->setParameter('lag.admin.application_configuration', $config['application']);
40
        $container->setParameter('lag.enable_extra_configuration', $config['application']['enable_extra_configuration']);
41
    }
42
43
    /**
44
     * @return string
45
     */
46
    public function getAlias()
47
    {
48
        return 'lag_admin';
49
    }
50
}
51