diff options
author | Nils Adermann <naderman@naderman.de> | 2011-08-30 01:32:11 -0400 |
---|---|---|
committer | Nils Adermann <naderman@naderman.de> | 2011-09-29 16:15:53 +0200 |
commit | ea46feb11542a9cf54ce083ee0ad03f4c5e02a1e (patch) | |
tree | 0990527e0c05bd9da495a063350ec199eb2ed227 /phpBB/includes/functions_messenger.php | |
parent | 6ea6d50ccb9607429486a01d3144c7d32322e1b5 (diff) | |
download | forums-ea46feb11542a9cf54ce083ee0ad03f4c5e02a1e.tar forums-ea46feb11542a9cf54ce083ee0ad03f4c5e02a1e.tar.gz forums-ea46feb11542a9cf54ce083ee0ad03f4c5e02a1e.tar.bz2 forums-ea46feb11542a9cf54ce083ee0ad03f4c5e02a1e.tar.xz forums-ea46feb11542a9cf54ce083ee0ad03f4c5e02a1e.zip |
[feature/extension-manager] Add support for templates in extensions.
This commit adds a template path provider to separate the process of locating
(cached) paths in extensions from the template engine. The locator is supplied
with a list of paths from the path provider.
Admin templates can now be created in ext/<ext>/adm/style/ and regular
templates go into ext/<ext>/styles/<style>/template/. Extension templates
override regular templates. So if an extension supplies a file with a name
used in phpBB, the extension's file will be used.
A side-effect of this commit: Locator and Provider are now able to deal with
arbitrary levels of template inheritance. So we can expose this through
phpbb_template if we choose to, and allow styles to inherit from inherited
styles.
PHPBB3-10323
Diffstat (limited to 'phpBB/includes/functions_messenger.php')
-rw-r--r-- | phpBB/includes/functions_messenger.php | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/phpBB/includes/functions_messenger.php b/phpBB/includes/functions_messenger.php index b94957a85f..2a206af7a9 100644 --- a/phpBB/includes/functions_messenger.php +++ b/phpBB/includes/functions_messenger.php @@ -175,7 +175,7 @@ class messenger */ function template($template_file, $template_lang = '', $template_path = '') { - global $config, $phpbb_root_path, $phpEx, $user; + global $config, $phpbb_root_path, $phpEx, $user, $phpbb_extension_manager; if (!trim($template_file)) { @@ -194,7 +194,8 @@ class messenger if (!isset($this->tpl_msg[$template_lang . $template_file])) { $template_locator = new phpbb_template_locator(); - $this->tpl_msg[$template_lang . $template_file] = new phpbb_template($phpbb_root_path, $phpEx, $config, $user, $template_locator); + $template_path_provider = new phpbb_template_path_provider($phpbb_extension_manager); + $this->tpl_msg[$template_lang . $template_file] = new phpbb_template($phpbb_root_path, $phpEx, $config, $user, $template_locator, $template_path_provider); $tpl = &$this->tpl_msg[$template_lang . $template_file]; $fallback_template_path = false; |