<?php
namespace Waaz\OpengraphBundle\DependencyInjection;
use Symfony\Component\DependencyInjection\ContainerBuilder;
use Symfony\Component\Config\FileLocator;
use Symfony\Component\HttpKernel\DependencyInjection\Extension;
use Symfony\Component\DependencyInjection\Loader;
use Symfony\Component\DependencyInjection\Extension\PrependExtensionInterface;
/**
* 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 WaazOpengraphExtension extends Extension implements PrependExtensionInterface
{
/**
* {@inheritdoc}
*/
public function prepend(ContainerBuilder $container)
{
$configs = $container->getExtensionConfig($this->getAlias());
$resolvingBag = $container->getParameterBag();
$configs = $resolvingBag->resolveValue($configs);
$config = $this->processConfiguration(new Configuration(), $configs);
if ($container->hasExtension('twig') && \class_exists(ExceptionController::class)) {
$container->prependExtensionConfig('twig', [
'exception_controller' => null,
]);
}
if ($container->hasExtension('sulu_admin')) {
$container->prependExtensionConfig(
'sulu_admin',
[
'forms' => [
'directories' => [
__DIR__ . '/../Resources/config/forms',
],
],
]
);
}
if ($container->hasExtension('sulu_media')) {
$container->prependExtensionConfig(
'sulu_media',
[
'image_format_files' => [
__DIR__ . '/../Resources/config/image-formats.xml',
'%kernel.project_dir%/config/image-formats.xml',
],
]
);
}
}
/**
* {@inheritdoc}
*/
public function load(array $configs, ContainerBuilder $container)
{
$configuration = new Configuration();
$config = $this->processConfiguration($configuration, $configs);
$loader = new Loader\XmlFileLoader($container, new FileLocator(__DIR__.'/../Resources/config'));
$loader->load('services.xml');
}
}