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. *