mirror of
https://github.com/phpbb/phpbb.git
synced 2025-06-28 06:08:52 +00:00
[feature/template-engine] Fix recompilation logic.
Do not change $recompile from true to false - any recompilation condition alone is sufficient to force recompilation. Also uncomment the nonexistent file test which passes with this fix. PHPBB3-9726
This commit is contained in:
parent
4dfe4c7f13
commit
203187a841
2 changed files with 14 additions and 11 deletions
|
@ -343,19 +343,22 @@ class phpbb_template
|
||||||
$recompile = false;
|
$recompile = false;
|
||||||
$recompile = (!file_exists($filename) || @filesize($filename) === 0 || ($config['load_tplcompile'] && @filemtime($filename) < @filemtime($this->files[$handle]))) ? true : false;
|
$recompile = (!file_exists($filename) || @filesize($filename) === 0 || ($config['load_tplcompile'] && @filemtime($filename) < @filemtime($this->files[$handle]))) ? true : false;
|
||||||
|
|
||||||
if (defined('DEBUG_EXTRA'))
|
if (!$recompile)
|
||||||
{
|
{
|
||||||
$recompile = true;
|
if (defined('DEBUG_EXTRA'))
|
||||||
}
|
|
||||||
else if ($config['load_tplcompile'])
|
|
||||||
{
|
|
||||||
// No way around it: we need to check inheritance here
|
|
||||||
if ($user->theme['template_inherits_id'] && !file_exists($this->files[$handle]))
|
|
||||||
{
|
{
|
||||||
$this->files[$handle] = $this->files_inherit[$handle];
|
$recompile = true;
|
||||||
$this->files_template[$handle] = $user->theme['template_inherits_id'];
|
}
|
||||||
|
else if ($config['load_tplcompile'])
|
||||||
|
{
|
||||||
|
// No way around it: we need to check inheritance here
|
||||||
|
if ($user->theme['template_inherits_id'] && !file_exists($this->files[$handle]))
|
||||||
|
{
|
||||||
|
$this->files[$handle] = $this->files_inherit[$handle];
|
||||||
|
$this->files_template[$handle] = $user->theme['template_inherits_id'];
|
||||||
|
}
|
||||||
|
$recompile = (@filemtime($filename) < @filemtime($this->files[$handle])) ? true : false;
|
||||||
}
|
}
|
||||||
$recompile = (@filemtime($filename) < @filemtime($this->files[$handle])) ? true : false;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// Recompile page if the original template is newer, otherwise load the compiled version
|
// Recompile page if the original template is newer, otherwise load the compiled version
|
||||||
|
|
|
@ -267,7 +267,7 @@ class phpbb_template_template_test extends phpbb_test_case
|
||||||
$this->assertFileNotExists($this->template_path . '/' . $filename, 'Testing missing file, file cannot exist');
|
$this->assertFileNotExists($this->template_path . '/' . $filename, 'Testing missing file, file cannot exist');
|
||||||
|
|
||||||
$expecting = sprintf('template->_tpl_load_file(): File %s does not exist or is empty', realpath($this->template_path . '/../') . '/templates/' . $filename);
|
$expecting = sprintf('template->_tpl_load_file(): File %s does not exist or is empty', realpath($this->template_path . '/../') . '/templates/' . $filename);
|
||||||
// $this->setExpectedTriggerError(E_USER_ERROR, $expecting);
|
$this->setExpectedTriggerError(E_USER_ERROR, $expecting);
|
||||||
|
|
||||||
$this->display('test');
|
$this->display('test');
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Reference in a new issue