- bugfix under HHVM temporary cache file must only be created when caches template was updated

This commit is contained in:
uwetews
2015-10-18 04:58:53 +02:00
parent c99fe144f6
commit 4776491a7f
4 changed files with 4 additions and 4 deletions

View File

@@ -3,6 +3,7 @@
- optimize filepath normalization - optimize filepath normalization
- rework of template inheritance - rework of template inheritance
- speed and size optimizations - speed and size optimizations
- bugfix under HHVM temporary cache file must only be created when caches template was updated
18.09.2015 18.09.2015
- bugfix {if $foo instanceof $bar} failed to compile if 2nd value is a variable https://github.com/smarty-php/smarty/issues/92 - bugfix {if $foo instanceof $bar} failed to compile if 2nd value is a variable https://github.com/smarty-php/smarty/issues/92

View File

@@ -119,7 +119,7 @@ class Smarty extends Smarty_Internal_TemplateBase
/** /**
* smarty version * smarty version
*/ */
const SMARTY_VERSION = '3.1.28-dev/63'; const SMARTY_VERSION = '3.1.28-dev/64';
/** /**
* define variable scopes * define variable scopes

View File

@@ -96,7 +96,7 @@ class Smarty_Internal_CacheResource_File extends Smarty_CacheResource
* used in included file * used in included file
*/ */
$_smarty_tpl = $_template; $_smarty_tpl = $_template;
if (strpos(phpversion(), 'hhvm') !== false) { if ($update && defined('HHVM_VERSION')) {
return Smarty_Internal_Extension_Hhvm::includeHhvm($_template, $_template->cached->filepath); return Smarty_Internal_Extension_Hhvm::includeHhvm($_template, $_template->cached->filepath);
} else { } else {
return @include $_template->cached->filepath; return @include $_template->cached->filepath;

View File

@@ -21,8 +21,7 @@ class Smarty_Internal_Extension_Hhvm
static function includeHhvm(Smarty_Internal_Template $_template, $file) static function includeHhvm(Smarty_Internal_Template $_template, $file)
{ {
$_smarty_tpl = $_template; $_smarty_tpl = $_template;
$tmp_file = $_template->smarty->getCompileDir() . 'hhvm' . $tmp_file = $file . preg_replace('![^\w]+!', '_', uniqid(rand(), true)) . '.php';
str_replace(array('.', ','), '_', uniqid(rand(), true)) . '.php';
file_put_contents($tmp_file, file_get_contents($file)); file_put_contents($tmp_file, file_get_contents($file));
$result = @include $tmp_file; $result = @include $tmp_file;
@unlink($tmp_file); @unlink($tmp_file);