Completed
Push — issue/AZ_53_respond_to_spam_ev... ( b7bb66...684b25 )
by Dominik
02:16
created

AzineMailgunWebhooksExtension::load()   B

Complexity

Conditions 3
Paths 4

Size

Total Lines 24
Code Lines 16

Duplication

Lines 4
Ratio 16.67 %

Importance

Changes 0
Metric Value
dl 4
loc 24
rs 8.9713
c 0
b 0
f 0
cc 3
eloc 16
nc 4
nop 2
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
    const TICKET_SUBJECT = "ticket_subject";
25
    const TICKET_MESSAGE = "ticket_message";
26
    const ALERTS_RECIPIENT_EMAIL = "alerts_recipient_email";
27
28
    /**
29
     * {@inheritDoc}
30
     */
31
    public function load(array $configs, ContainerBuilder $container)
32
    {
33
        $configuration = new Configuration();
34
        $config = $this->processConfiguration($configuration, $configs);
35
36 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 View Code Duplication
        if(array_key_exists(self::PUBLIC_API_KEY, $config))
40
           $container->setParameter(self::PREFIX."_".self::PUBLIC_API_KEY, $config[self::PUBLIC_API_KEY]);
41
        
42
        $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