aboutsummaryrefslogtreecommitdiffstats
path: root/phpBB/phpbb/template/twig/environment.php
diff options
context:
space:
mode:
authorTristan Darricau <github@nicofuma.fr>2014-08-02 19:09:42 +0200
committerTristan Darricau <github@nicofuma.fr>2014-08-09 16:13:22 +0200
commit192b8e2568f499aa2ead98a24d8dd5541b1f315a (patch)
tree0371c204bba34dd9eb480292de6144dbc021fa50 /phpBB/phpbb/template/twig/environment.php
parent56ca276dcf080972ad2c5ae411b37c392ffed24d (diff)
downloadforums-192b8e2568f499aa2ead98a24d8dd5541b1f315a.tar
forums-192b8e2568f499aa2ead98a24d8dd5541b1f315a.tar.gz
forums-192b8e2568f499aa2ead98a24d8dd5541b1f315a.tar.bz2
forums-192b8e2568f499aa2ead98a24d8dd5541b1f315a.tar.xz
forums-192b8e2568f499aa2ead98a24d8dd5541b1f315a.zip
[ticket/11649] Expose Twig through the container
PHPBB3-11649
Diffstat (limited to 'phpBB/phpbb/template/twig/environment.php')
-rw-r--r--phpBB/phpbb/template/twig/environment.php30
1 files changed, 29 insertions, 1 deletions
diff --git a/phpBB/phpbb/template/twig/environment.php b/phpBB/phpbb/template/twig/environment.php
index 476ffd935e..df586af9e5 100644
--- a/phpBB/phpbb/template/twig/environment.php
+++ b/phpBB/phpbb/template/twig/environment.php
@@ -13,6 +13,9 @@
namespace phpbb\template\twig;
+use Twig_Lexer;
+use Twig_LexerInterface;
+
class environment extends \Twig_Environment
{
/** @var \phpbb\config\config */
@@ -21,6 +24,9 @@ class environment extends \Twig_Environment
/** @var \phpbb\path_helper */
protected $phpbb_path_helper;
+ /** @var \Symfony\Component\DependencyInjection\ContainerInterface */
+ protected $container;
+
/** @var \phpbb\extension\manager */
protected $extension_manager;
@@ -38,24 +44,46 @@ class environment extends \Twig_Environment
*
* @param \phpbb\config\config $phpbb_config The phpBB configuration
* @param \phpbb\path_helper $path_helper phpBB path helper
+ * @param \Symfony\Component\DependencyInjection\ContainerInterface $container
* @param \phpbb\extension\manager $extension_manager phpBB extension manager
* @param \Twig_LoaderInterface $loader Twig loader interface
* @param array $options Array of options to pass to Twig
*/
- public function __construct($phpbb_config, \phpbb\path_helper $path_helper, \phpbb\extension\manager $extension_manager = null, \Twig_LoaderInterface $loader = null, $options = array())
+ public function __construct($phpbb_config, \phpbb\path_helper $path_helper, \Symfony\Component\DependencyInjection\ContainerInterface $container, $cache_path, \phpbb\extension\manager $extension_manager = null, \Twig_LoaderInterface $loader = null, $options = array())
{
$this->phpbb_config = $phpbb_config;
$this->phpbb_path_helper = $path_helper;
$this->extension_manager = $extension_manager;
+ $this->container = $container;
$this->phpbb_root_path = $this->phpbb_path_helper->get_phpbb_root_path();
$this->web_root_path = $this->phpbb_path_helper->get_web_root_path();
+ $options = array_merge(array(
+ 'cache' => (defined('IN_INSTALL')) ? false : $cache_path,
+ 'debug' => defined('DEBUG'),
+ 'auto_reload' => (bool) $this->phpbb_config['load_tplcompile'],
+ 'autoescape' => false,
+ ), $options);
+
return parent::__construct($loader, $options);
}
/**
+ * {@inheritdoc}
+ */
+ public function getLexer()
+ {
+ if (null === $this->lexer) {
+ $this->lexer = $this->container->get('template.twig.lexer');
+ }
+
+ return $this->lexer;
+ }
+
+
+ /**
* Get the list of enabled phpBB extensions
*
* Used in EVENT node