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
|
<?php
namespace Wallabag\UserBundle\DependencyInjection;
use Symfony\Component\Config\FileLocator;
use Symfony\Component\DependencyInjection\ContainerBuilder;
use Symfony\Component\DependencyInjection\Loader;
use Symfony\Component\HttpKernel\DependencyInjection\Extension;
use Symfony\Component\DependencyInjection\Extension\PrependExtensionInterface;
class WallabagUserExtension extends Extension implements PrependExtensionInterface
{
public function prepend(ContainerBuilder $container)
{
$ldap = $container->getParameter('ldap_enabled');
if ($ldap) {
$container->prependExtensionConfig('security', array(
'providers' => array(
'chain_provider' => array(),
),
));
$loader = new Loader\YamlFileLoader($container, new FileLocator(__DIR__.'/../Resources/config'));
$loader->load('ldap.yml');
} elseif ($container->hasExtension('fr3d_ldap')) {
$container->prependExtensionConfig('fr3_d_ldap', array(
'driver' => array(
'host' => 'localhost',
),
'user' => array(
'baseDn' => 'dc=example,dc=com',
),
));
}
}
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');
if ($container->getParameter('ldap_enabled')) {
$loader->load('ldap_services.yml');
}
$container->setParameter('wallabag_user.registration_enabled', $config['registration_enabled']);
}
public function getAlias()
{
return 'wallabag_user';
}
}
|