1
0
mirror of https://github.com/phpbb/phpbb.git synced 2025-05-06 07:35:29 +02:00

Fix #51285 and more issues with template inherence on set_custom_template

Conflict introduced with r9839 and r9823

Authorised by: AcydBurn

git-svn-id: file:///svn/phpbb/branches/phpBB-3_0_0@10150 89ea8834-ac86-4346-8a33-228a782c2dd0
This commit is contained in:
Joas Schilling 2009-09-16 08:11:52 +00:00
parent b27e96cf62
commit 697fd5a134
3 changed files with 11 additions and 6 deletions

View File

@ -128,7 +128,7 @@ class bbcode
*/ */
function bbcode_cache_init() function bbcode_cache_init()
{ {
global $user, $phpbb_root_path; global $phpbb_root_path, $template, $user;
if (empty($this->template_filename)) if (empty($this->template_filename))
{ {
@ -137,7 +137,7 @@ class bbcode
if (!@file_exists($this->template_filename)) if (!@file_exists($this->template_filename))
{ {
if (isset($user->theme['template_inherits_id']) && $user->theme['template_inherits_id']) if (isset($template->orig_tpl_inherits_id) && $template->orig_tpl_inherits_id)
{ {
$this->template_filename = $phpbb_root_path . 'styles/' . $user->theme['template_inherit_path'] . '/template/bbcode.html'; $this->template_filename = $phpbb_root_path . 'styles/' . $user->theme['template_inherit_path'] . '/template/bbcode.html';
if (!@file_exists($this->template_filename)) if (!@file_exists($this->template_filename))

View File

@ -199,7 +199,7 @@ class messenger
$template_path .= $template_lang . '/email'; $template_path .= $template_lang . '/email';
} }
$tpl->set_custom_template($template_path, $template_lang . '_email'); $tpl->set_custom_template($template_path, $template_lang . '_email', 'email');
$tpl->set_filenames(array( $tpl->set_filenames(array(
'body' => $template_file . '.txt', 'body' => $template_file . '.txt',

View File

@ -90,7 +90,7 @@ class template
* Set custom template location (able to use directory outside of phpBB) * Set custom template location (able to use directory outside of phpBB)
* @access public * @access public
*/ */
function set_custom_template($template_path, $template_name) function set_custom_template($template_path, $template_name, $template_mode = 'template')
{ {
global $phpbb_root_path, $user; global $phpbb_root_path, $user;
@ -102,8 +102,13 @@ class template
$this->root = $template_path; $this->root = $template_path;
$this->cachepath = $phpbb_root_path . 'cache/ctpl_' . str_replace('_', '-', $template_name) . '_'; $this->cachepath = $phpbb_root_path . 'cache/ctpl_' . str_replace('_', '-', $template_name) . '_';
$user->theme['template_storedb'] = false;
$user->theme['template_inherits_id'] = false; // As the template-engine is used for more than the template (emails, etc.), we should not set $user->theme in all cases, but only on the real template.
if ($template_mode == 'template')
{
$user->theme['template_storedb'] = false;
$user->theme['template_inherits_id'] = false;
}
$this->_rootref = &$this->_tpldata['.'][0]; $this->_rootref = &$this->_tpldata['.'][0];