/
FacebookExtension.php
50 lines (40 loc) · 1.46 KB
/
FacebookExtension.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
<?php
namespace Bundle\Kris\FacebookBundle\DependencyInjection;
use Symfony\Components\DependencyInjection\Loader\LoaderExtension;
use Symfony\Components\DependencyInjection\Loader\XmlFileLoader;
use Symfony\Components\DependencyInjection\BuilderConfiguration;
use Symfony\Components\DependencyInjection\ContainerInterface;
class FacebookExtension extends LoaderExtension
{
protected $resources = array(
'facebook' => 'facebook.xml',
);
public function apiLoad($config, BuilderConfiguration $configuration)
{
if (!$configuration->hasDefinition('kris.facebook')) {
$loader = new XmlFileLoader(__DIR__.'/../Resources/config');
$configuration->merge($loader->load($this->resources['facebook']));
}
if (isset($config['alias'])) {
$configuration->setAlias($config['alias'], 'kris.facebook');
}
foreach (array('class', 'app_id', 'secret', 'cookie', 'domain', 'logging', 'culture') as $attribute) {
if (isset($config[$attribute])) {
$configuration->setParameter('kris.facebook.'.$attribute, $config[$attribute]);
}
}
return $configuration;
}
public function getXsdValidationBasePath()
{
return __DIR__.'/../Resources/config/schema';
}
public function getNamespace()
{
return 'http://kriswallsmith.net/schema/dic/facebook';
}
public function getAlias()
{
return 'facebook';
}
}