1
0
mirror of https://github.com/phpbb/phpbb.git synced 2025-05-05 23:25:30 +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()
{
global $user, $phpbb_root_path;
global $phpbb_root_path, $template, $user;
if (empty($this->template_filename))
{
@ -137,7 +137,7 @@ class bbcode
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';
if (!@file_exists($this->template_filename))

View File

@ -199,7 +199,7 @@ class messenger
$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(
'body' => $template_file . '.txt',

View File

@ -90,7 +90,7 @@ class template
* Set custom template location (able to use directory outside of phpBB)
* @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;
@ -102,8 +102,13 @@ class template
$this->root = $template_path;
$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];