diff options
| author | Oleg Pudeyev <oleg@bsdpower.com> | 2011-11-27 00:46:36 -0500 |
|---|---|---|
| committer | Oleg Pudeyev <oleg@bsdpower.com> | 2012-11-17 16:39:54 -0500 |
| commit | d6c881d0c67de80f0b60eab6be0c1dda33296657 (patch) | |
| tree | a4eb34acd0fcd8be8bbc8d00d16dc6043ad59ff1 /phpBB/includes/template/template.php | |
| parent | ed548ae8ff0e87035c0c173d40212a96fa642135 (diff) | |
| download | forums-d6c881d0c67de80f0b60eab6be0c1dda33296657.tar forums-d6c881d0c67de80f0b60eab6be0c1dda33296657.tar.gz forums-d6c881d0c67de80f0b60eab6be0c1dda33296657.tar.bz2 forums-d6c881d0c67de80f0b60eab6be0c1dda33296657.tar.xz forums-d6c881d0c67de80f0b60eab6be0c1dda33296657.zip | |
[feature/template-events] Inject extension manager into template class.
Template class passes extension manager to template compiler.
Template compiler passes extension manager to template filter.
Template filter will use extension manager to locate hooks
as it is compiling templates.
All extension manager arguments are optional. If an extension
manager is not given, template hooks will not be invoked.
PHPBB3-9550
Diffstat (limited to 'phpBB/includes/template/template.php')
| -rw-r--r-- | phpBB/includes/template/template.php | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/phpBB/includes/template/template.php b/phpBB/includes/template/template.php index 5396ddbfad..96a16fee77 100644 --- a/phpBB/includes/template/template.php +++ b/phpBB/includes/template/template.php @@ -75,14 +75,22 @@ class phpbb_template private $locator; /** + * Extension manager. + * + * @var phpbb_extension_manager + */ + private $extension_manager; + + /** * Constructor. * * @param string $phpbb_root_path phpBB root path * @param user $user current user * @param phpbb_template_locator $locator template locator * @param phpbb_template_context $context template context + * @param phpbb_extension_manager $extension_manager extension manager, if null then template hooks will not be invoked */ - public function __construct($phpbb_root_path, $php_ext, $config, $user, phpbb_template_locator $locator, phpbb_template_context $context) + public function __construct($phpbb_root_path, $php_ext, $config, $user, phpbb_template_locator $locator, phpbb_template_context $context, phpbb_extension_manager $extension_manager = null) { $this->phpbb_root_path = $phpbb_root_path; $this->php_ext = $php_ext; @@ -90,6 +98,7 @@ class phpbb_template $this->user = $user; $this->locator = $locator; $this->context = $context; + $this->extension_manager = $extension_manager; } /** @@ -282,7 +291,7 @@ class phpbb_template return new phpbb_template_renderer_include($output_file, $this); } - $compile = new phpbb_template_compile($this->config['tpl_allow_php'], $this->locator, $this->phpbb_root_path); + $compile = new phpbb_template_compile($this->config['tpl_allow_php'], $this->locator, $this->phpbb_root_path, $this->extension_manager); if ($compile->compile_file_to_file($source_file, $output_file) !== false) { |
