vendor/symfony/src/Symfony/Bundle/WebProfilerBundle/DependencyInjection/WebProfilerExtension.php
changeset 0 7f95f8617b0b
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/vendor/symfony/src/Symfony/Bundle/WebProfilerBundle/DependencyInjection/WebProfilerExtension.php	Sat Sep 24 15:40:41 2011 +0200
@@ -0,0 +1,74 @@
+<?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\HttpKernel\DependencyInjection\Extension;
+use Symfony\Component\DependencyInjection\Loader\XmlFileLoader;
+use Symfony\Component\DependencyInjection\ContainerBuilder;
+use Symfony\Component\Config\FileLocator;
+use Symfony\Bundle\WebProfilerBundle\EventListener\WebDebugToolbarListener;
+
+/**
+ * WebProfilerExtension.
+ *
+ * Usage:
+ *
+ *     <webprofiler:config
+ *        toolbar="true"
+ *        intercept-redirects="true"
+ *    />
+ *
+ * @author Fabien Potencier <fabien@symfony.com>
+ */
+class WebProfilerExtension extends Extension
+{
+    /**
+     * Loads the web profiler configuration.
+     *
+     * @param array            $configs   An array of configuration settings
+     * @param ContainerBuilder $container A ContainerBuilder instance
+     */
+    public function load(array $configs, ContainerBuilder $container)
+    {
+        $configuration = new Configuration();
+        $config = $this->processConfiguration($configuration, $configs);
+
+        $loader = new XmlFileLoader($container, new FileLocator(__DIR__.'/../Resources/config'));
+        $loader->load('toolbar.xml');
+
+        $container->setParameter('web_profiler.debug_toolbar.intercept_redirects', $config['intercept_redirects']);
+
+        if (!$config['toolbar']) {
+            $mode = WebDebugToolbarListener::DISABLED;
+        } elseif ($config['verbose']) {
+            $mode = WebDebugToolbarListener::ENABLED;
+        } else {
+            $mode = WebDebugToolbarListener::ENABLED_MINIMAL;
+        }
+        $container->setParameter('web_profiler.debug_toolbar.mode', $mode);
+    }
+
+    /**
+     * Returns the base path for the XSD files.
+     *
+     * @return string The XSD base path
+     */
+    public function getXsdValidationBasePath()
+    {
+        return __DIR__.'/../Resources/config/schema';
+    }
+
+    public function getNamespace()
+    {
+        return 'http://symfony.com/schema/dic/webprofiler';
+    }
+}