Completed
Pull Request — master (#26)
by Dominik
02:16 queued 50s
created

AzineMailgunWebhooksExtension::load()   B

Complexity

Conditions 3
Paths 4

Size

Total Lines 24
Code Lines 16

Duplication

Lines 4
Ratio 16.67 %

Code Coverage

Tests 7
CRAP Score 3

Importance

Changes 0
Metric Value
dl 4
loc 24
ccs 7
cts 7
cp 1
rs 8.9713
c 0
b 0
f 0
cc 3
eloc 16
nc 4
nop 2
crap 3
1
<?php
2
namespace Azine\MailgunWebhooksBundle\DependencyInjection;
3
4
use Symfony\Component\DependencyInjection\ContainerBuilder;
5
use Symfony\Component\Config\FileLocator;
6
use Symfony\Component\HttpKernel\DependencyInjection\Extension;
7
use Symfony\Component\DependencyInjection\Loader;
8
9
/**
10
 * This is the class that loads and manages your bundle configuration
11
 *
12
 * To learn more see {@link http://symfony.com/doc/current/cookbook/bundles/extension.html}
13
 */
14
class AzineMailgunWebhooksExtension extends Extension
15
{
16
    const PREFIX = "azine_mailgun_webhooks";
17
    const API_KEY = "api_key";
18
    const PUBLIC_API_KEY = "public_api_key";
19
    const EMAIL_DOMAIN = "email_domain";
20
    const SPAM_ALERTS_PREFIX = "spam_alerts";
21
    const SEND_ENABLED = "enabled";
22
    const SEND_INTERVAL = "interval";
23
    const TICKET_ID = "ticket_id";
24 3
    const TICKET_SUBJECT = "ticket_subject";
25
    const TICKET_MESSAGE = "ticket_message";
26 3
    const ALERTS_RECIPIENT_EMAIL = "alerts_recipient_email";
27 3
28
    /**
29 2
     * {@inheritDoc}
30 2
     */
31
    public function load(array $configs, ContainerBuilder $container)
32 2
    {
33 2
        $configuration = new Configuration();
34
        $config = $this->processConfiguration($configuration, $configs);
35 2
36 2 View Code Duplication
        if(array_key_exists(self::API_KEY, $config))
37
            $container->setParameter(self::PREFIX."_".self::API_KEY, $config[self::API_KEY]);
38
39 2 View Code Duplication
        if(array_key_exists(self::PUBLIC_API_KEY, $config))
40 2
           $container->setParameter(self::PREFIX."_".self::PUBLIC_API_KEY, $config[self::PUBLIC_API_KEY]);
41
        
42 2
        $container->setParameter(self::PREFIX."_".self::EMAIL_DOMAIN, $config[self::EMAIL_DOMAIN]);
43
44
        $container->setParameter(self::PREFIX."_".self::SPAM_ALERTS_PREFIX."_".self::SEND_ENABLED, $config[self::SPAM_ALERTS_PREFIX][self::SEND_ENABLED]);
45
        $container->setParameter(self::PREFIX."_".self::SPAM_ALERTS_PREFIX."_".self::SEND_INTERVAL, $config[self::SPAM_ALERTS_PREFIX][self::SEND_INTERVAL]);
46
        $container->setParameter(self::PREFIX."_".self::SPAM_ALERTS_PREFIX."_".self::TICKET_ID, $config[self::SPAM_ALERTS_PREFIX][self::TICKET_ID]);
47
        $container->setParameter(self::PREFIX."_".self::SPAM_ALERTS_PREFIX."_".self::TICKET_SUBJECT, $config[self::SPAM_ALERTS_PREFIX][self::TICKET_SUBJECT]);
48
        $container->setParameter(self::PREFIX."_".self::SPAM_ALERTS_PREFIX."_".self::TICKET_MESSAGE, $config[self::SPAM_ALERTS_PREFIX][self::TICKET_MESSAGE]);
49
        $container->setParameter(self::PREFIX."_".self::SPAM_ALERTS_PREFIX."_".self::ALERTS_RECIPIENT_EMAIL, $config[self::SPAM_ALERTS_PREFIX][self::ALERTS_RECIPIENT_EMAIL]);
50
51
        $loader = new Loader\YamlFileLoader($container, new FileLocator(__DIR__.'/../Resources/config'));
52
        $loader->load('services.yml');
53
54
    }
55
}
56