forked from excelwebzone/EWZRecaptchaBundle
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathEWZRecaptchaExtension.php
60 lines (49 loc) · 1.9 KB
/
EWZRecaptchaExtension.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
<?php
namespace EWZ\Bundle\RecaptchaBundle\DependencyInjection;
use Symfony\Component\DependencyInjection\ContainerBuilder;
use Symfony\Component\Config\FileLocator;
use Symfony\Component\HttpKernel\DependencyInjection\Extension;
use Symfony\Component\DependencyInjection\Loader;
/**
* This is the class that loads and manages your bundle configuration
*
* To learn more see {@link http://symfony.com/doc/current/cookbook/bundles/extension.html}
*/
class EWZRecaptchaExtension extends Extension
{
/**
* {@inheritDoc}
*/
public function load(array $configs, ContainerBuilder $container)
{
$configuration = new Configuration();
$config = $this->processConfiguration($configuration, $configs);
$loader = new Loader\YamlFileLoader($container, new FileLocator(__DIR__.'/../Resources/config'));
$loader->load('services.yml');
foreach ($config as $key => $value) {
$container->setParameter('ewz_recaptcha.'.$key, $value);
}
$this->registerWidget($container);
}
/**
* Registers the form widget.
*/
protected function registerWidget(ContainerBuilder $container)
{
$templatingEngines = $container->getParameter('templating.engines');
if (in_array('php', $templatingEngines)) {
$formRessource = 'EWZRecaptchaBundle:Form';
$container->setParameter('templating.helper.form.resources', array_merge(
$container->getParameter('templating.helper.form.resources'),
array($formRessource)
));
}
if (in_array('twig', $templatingEngines)) {
$formRessource = 'EWZRecaptchaBundle:Form:ewz_recaptcha_widget.html.twig';
$container->setParameter('twig.form.resources', array_merge(
$container->getParameter('twig.form.resources'),
array($formRessource)
));
}
}
}