From 75c54f7f5e4170ad6d826b1d20725da712098c43 Mon Sep 17 00:00:00 2001 From: Matt Friedman Date: Mon, 27 Jan 2014 18:51:39 -0800 Subject: [PATCH 1/2] [ticket/12100] Ensure enabled extensions are fresh in Twig environment PHPBB3-12100 --- phpBB/phpbb/template/twig/environment.php | 12 ++++++------ phpBB/phpbb/template/twig/twig.php | 2 +- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/phpBB/phpbb/template/twig/environment.php b/phpBB/phpbb/template/twig/environment.php index 24bd55b3c5..53e3785e6d 100644 --- a/phpBB/phpbb/template/twig/environment.php +++ b/phpBB/phpbb/template/twig/environment.php @@ -11,8 +11,8 @@ namespace phpbb\template\twig; class environment extends \Twig_Environment { - /** @var array */ - protected $phpbb_extensions; + /** @var \phpbb\extension\manager */ + protected $extension_manager; /** @var \phpbb\config\config */ protected $phpbb_config; @@ -33,16 +33,16 @@ class environment extends \Twig_Environment * Constructor * * @param \phpbb\config\config $phpbb_config - * @param array $phpbb_extensions Array of enabled extensions (name => path) + * @param \phpbb\extension\manager * @param \phpbb\path_helper * @param string $phpbb_root_path * @param Twig_LoaderInterface $loader * @param array $options Array of options to pass to Twig */ - public function __construct($phpbb_config, $phpbb_extensions, \phpbb\path_helper $path_helper, \Twig_LoaderInterface $loader = null, $options = array()) + public function __construct($phpbb_config, \phpbb\extension\manager $extension_manager = null, \phpbb\path_helper $path_helper, \Twig_LoaderInterface $loader = null, $options = array()) { $this->phpbb_config = $phpbb_config; - $this->phpbb_extensions = $phpbb_extensions; + $this->extension_manager = $extension_manager; $this->phpbb_path_helper = $path_helper; $this->phpbb_root_path = $this->phpbb_path_helper->get_phpbb_root_path(); @@ -60,7 +60,7 @@ class environment extends \Twig_Environment */ public function get_phpbb_extensions() { - return $this->phpbb_extensions; + return ($this->extension_manager) ? $this->extension_manager->all_enabled() : array(); } /** diff --git a/phpBB/phpbb/template/twig/twig.php b/phpBB/phpbb/template/twig/twig.php index ddadcfd89a..b05beeca7d 100644 --- a/phpBB/phpbb/template/twig/twig.php +++ b/phpBB/phpbb/template/twig/twig.php @@ -94,7 +94,7 @@ class twig extends \phpbb\template\base $this->twig = new \phpbb\template\twig\environment( $this->config, - ($this->extension_manager) ? $this->extension_manager->all_enabled() : array(), + $this->extension_manager, $this->path_helper, $loader, array( From d3ce584dc785cb033fb2b4f0808a62c51af4791e Mon Sep 17 00:00:00 2001 From: Matt Friedman Date: Mon, 27 Jan 2014 20:38:15 -0800 Subject: [PATCH 2/2] [ticket/12100] Re-order arguments in template environment constructor PHPBB3-12100 --- phpBB/phpbb/template/twig/environment.php | 13 +++++++------ phpBB/phpbb/template/twig/twig.php | 2 +- 2 files changed, 8 insertions(+), 7 deletions(-) diff --git a/phpBB/phpbb/template/twig/environment.php b/phpBB/phpbb/template/twig/environment.php index 53e3785e6d..aa55f1e011 100644 --- a/phpBB/phpbb/template/twig/environment.php +++ b/phpBB/phpbb/template/twig/environment.php @@ -11,15 +11,15 @@ namespace phpbb\template\twig; class environment extends \Twig_Environment { - /** @var \phpbb\extension\manager */ - protected $extension_manager; - /** @var \phpbb\config\config */ protected $phpbb_config; /** @var \phpbb\path_helper */ protected $phpbb_path_helper; + /** @var \phpbb\extension\manager */ + protected $extension_manager; + /** @var string */ protected $phpbb_root_path; @@ -33,18 +33,19 @@ class environment extends \Twig_Environment * Constructor * * @param \phpbb\config\config $phpbb_config - * @param \phpbb\extension\manager * @param \phpbb\path_helper + * @param \phpbb\extension\manager * @param string $phpbb_root_path * @param Twig_LoaderInterface $loader * @param array $options Array of options to pass to Twig */ - public function __construct($phpbb_config, \phpbb\extension\manager $extension_manager = null, \phpbb\path_helper $path_helper, \Twig_LoaderInterface $loader = null, $options = array()) + public function __construct($phpbb_config, \phpbb\path_helper $path_helper, \phpbb\extension\manager $extension_manager = null, \Twig_LoaderInterface $loader = null, $options = array()) { $this->phpbb_config = $phpbb_config; - $this->extension_manager = $extension_manager; $this->phpbb_path_helper = $path_helper; + $this->extension_manager = $extension_manager; + $this->phpbb_root_path = $this->phpbb_path_helper->get_phpbb_root_path(); $this->web_root_path = $this->phpbb_path_helper->get_web_root_path(); diff --git a/phpBB/phpbb/template/twig/twig.php b/phpBB/phpbb/template/twig/twig.php index b05beeca7d..83630f5992 100644 --- a/phpBB/phpbb/template/twig/twig.php +++ b/phpBB/phpbb/template/twig/twig.php @@ -94,8 +94,8 @@ class twig extends \phpbb\template\base $this->twig = new \phpbb\template\twig\environment( $this->config, - $this->extension_manager, $this->path_helper, + $this->extension_manager, $loader, array( 'cache' => (defined('IN_INSTALL')) ? false : $this->cachepath,