From 50809d2ae03d4ce0d744ff6fd2b3c515da353d6c Mon Sep 17 00:00:00 2001 From: Fabien Potencier Date: Fri, 7 Jan 2011 17:49:43 +0100 Subject: [PATCH] [TwigBundle] added the security context and the user as global variables when they are defined --- .../Bundle/TwigBundle/Renderer/Renderer.php | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/src/Symfony/Bundle/TwigBundle/Renderer/Renderer.php b/src/Symfony/Bundle/TwigBundle/Renderer/Renderer.php index 42bed0e465..f5020a4d1b 100644 --- a/src/Symfony/Bundle/TwigBundle/Renderer/Renderer.php +++ b/src/Symfony/Bundle/TwigBundle/Renderer/Renderer.php @@ -4,6 +4,7 @@ namespace Symfony\Bundle\TwigBundle\Renderer; use Symfony\Component\Templating\Renderer\Renderer as BaseRenderer; use Symfony\Component\Templating\Storage\Storage; +use Symfony\Component\Templating\Engine; /* * This file is part of the Symfony package. @@ -27,6 +28,24 @@ class Renderer extends BaseRenderer $this->environment = $environment; } + /** + * {@inheritdoc} + */ + public function setEngine(Engine $engine) + { + parent::setEngine($engine); + + $container = $engine->getContainer(); + if ($container->has('security.context')) { + $security = $container->get('security.context'); + $this->environment->addGlobal('security', $security); + + if ($user = $security->getUser()) { + $this->environment->addGlobal('user', $user); + } + } + } + /** * Evaluates a template. *