[WebProfilerBundle] converted the configuration to the new system
This commit is contained in:
parent
c8fe15bfcf
commit
bdc07ad13e
@ -0,0 +1,45 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
/*
|
||||||
|
* This file is part of the Symfony package.
|
||||||
|
*
|
||||||
|
* (c) Fabien Potencier <fabien@symfony.com>
|
||||||
|
*
|
||||||
|
* For the full copyright and license information, please view the LICENSE
|
||||||
|
* file that was distributed with this source code.
|
||||||
|
*/
|
||||||
|
|
||||||
|
namespace Symfony\Bundle\WebProfilerBundle\DependencyInjection;
|
||||||
|
|
||||||
|
use Symfony\Component\Config\Definition\Builder\TreeBuilder;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* This class contains the configuration information for the bundle
|
||||||
|
*
|
||||||
|
* This information is solely responsible for how the different configuration
|
||||||
|
* sections are normalized, and merged.
|
||||||
|
*
|
||||||
|
* @author Fabien Potencier <fabien@symfony.com>
|
||||||
|
*/
|
||||||
|
class Configuration
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* Generates the configuration tree.
|
||||||
|
*
|
||||||
|
* @return \Symfony\Component\Config\Definition\ArrayNode The config tree
|
||||||
|
*/
|
||||||
|
public function getConfigTree()
|
||||||
|
{
|
||||||
|
$treeBuilder = new TreeBuilder();
|
||||||
|
$rootNode = $treeBuilder->root('swiftmailer');
|
||||||
|
|
||||||
|
$rootNode
|
||||||
|
->children()
|
||||||
|
->booleanNode('toolbar')->defaultFalse()->end()
|
||||||
|
->scalarNode('intercept_redirects')->defaultFalse()->end()
|
||||||
|
->end()
|
||||||
|
;
|
||||||
|
|
||||||
|
return $treeBuilder->buildTree();
|
||||||
|
}
|
||||||
|
}
|
@ -13,9 +13,9 @@ namespace Symfony\Bundle\WebProfilerBundle\DependencyInjection;
|
|||||||
|
|
||||||
use Symfony\Component\HttpKernel\DependencyInjection\Extension;
|
use Symfony\Component\HttpKernel\DependencyInjection\Extension;
|
||||||
use Symfony\Component\DependencyInjection\Loader\XmlFileLoader;
|
use Symfony\Component\DependencyInjection\Loader\XmlFileLoader;
|
||||||
use Symfony\Component\Config\Resource\FileResource;
|
|
||||||
use Symfony\Component\DependencyInjection\ContainerBuilder;
|
use Symfony\Component\DependencyInjection\ContainerBuilder;
|
||||||
use Symfony\Component\Config\FileLocator;
|
use Symfony\Component\Config\FileLocator;
|
||||||
|
use Symfony\Component\Config\Definition\Processor;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* WebProfilerExtension.
|
* WebProfilerExtension.
|
||||||
@ -31,36 +31,23 @@ use Symfony\Component\Config\FileLocator;
|
|||||||
*/
|
*/
|
||||||
class WebProfilerExtension extends Extension
|
class WebProfilerExtension extends Extension
|
||||||
{
|
{
|
||||||
public function load(array $configs, ContainerBuilder $container)
|
|
||||||
{
|
|
||||||
foreach ($configs as $config) {
|
|
||||||
$this->doConfigLoad($config, $container);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Loads the web profiler configuration.
|
* Loads the web profiler configuration.
|
||||||
*
|
*
|
||||||
* @param array $config An array of configuration settings
|
* @param array $config An array of configuration settings
|
||||||
* @param ContainerBuilder $container A ContainerBuilder instance
|
* @param ContainerBuilder $container A ContainerBuilder instance
|
||||||
*/
|
*/
|
||||||
protected function doConfigLoad(array $config, ContainerBuilder $container)
|
public function load(array $configs, ContainerBuilder $container)
|
||||||
{
|
{
|
||||||
if (isset($config['toolbar'])) {
|
$configuration = new Configuration();
|
||||||
if ($config['toolbar']) {
|
$processor = new Processor();
|
||||||
if (!$container->hasDefinition('debug.toolbar')) {
|
$config = $processor->process($configuration->getConfigTree(), $configs);
|
||||||
$loader = new XmlFileLoader($container, new FileLocator(__DIR__.'/../Resources/config'));
|
|
||||||
$loader->load('toolbar.xml');
|
|
||||||
}
|
|
||||||
} elseif ($container->hasDefinition('debug.toolbar')) {
|
|
||||||
$container->getDefinition('debug.toolbar')->clearTags();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
foreach (array('intercept-redirects', 'intercept_redirects') as $key) {
|
if ($config['toolbar']) {
|
||||||
if (isset($config[$key])) {
|
$loader = new XmlFileLoader($container, new FileLocator(__DIR__.'/../Resources/config'));
|
||||||
$container->setParameter('debug.toolbar.intercept_redirects', (Boolean) $config[$key]);
|
$loader->load('toolbar.xml');
|
||||||
}
|
|
||||||
|
$container->getDefinition('debug.toolbar')->setArgument(1, $config['intercept_redirects']);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -6,14 +6,13 @@
|
|||||||
|
|
||||||
<parameters>
|
<parameters>
|
||||||
<parameter key="debug.toolbar.class">Symfony\Bundle\WebProfilerBundle\WebDebugToolbarListener</parameter>
|
<parameter key="debug.toolbar.class">Symfony\Bundle\WebProfilerBundle\WebDebugToolbarListener</parameter>
|
||||||
<parameter key="debug.toolbar.intercept_redirects">false</parameter>
|
|
||||||
</parameters>
|
</parameters>
|
||||||
|
|
||||||
<services>
|
<services>
|
||||||
<service id="debug.toolbar" class="%debug.toolbar.class%">
|
<service id="debug.toolbar" class="%debug.toolbar.class%">
|
||||||
<tag name="kernel.listener" event="onCoreResponse" priority="-128" />
|
<tag name="kernel.listener" event="onCoreResponse" priority="-128" />
|
||||||
<argument type="service" id="templating.engine.twig" />
|
<argument type="service" id="templating.engine.twig" />
|
||||||
<argument>%debug.toolbar.intercept_redirects%</argument>
|
<argument /> <!-- intercept_redirects -->
|
||||||
</service>
|
</service>
|
||||||
</services>
|
</services>
|
||||||
</container>
|
</container>
|
||||||
|
Reference in New Issue
Block a user