mirror of
https://github.com/smarty-php/smarty.git
synced 2025-08-07 03:44:26 +02:00
fixed problems with cached templates containing nocache sections when
they where displayed multiple times during a single request
This commit is contained in:
@@ -20,6 +20,11 @@ function smarty_core_process_compiled_include($params, &$smarty)
|
|||||||
$smarty->_cache_including = true;
|
$smarty->_cache_including = true;
|
||||||
|
|
||||||
$_return = $params['results'];
|
$_return = $params['results'];
|
||||||
|
|
||||||
|
foreach ($smarty->_cache_info['cache_serials'] as $_include_file_path=>$_cache_serial) {
|
||||||
|
$smarty->_include($_include_file_path, true);
|
||||||
|
}
|
||||||
|
|
||||||
foreach ($smarty->_cache_serials as $_include_file_path=>$_cache_serial) {
|
foreach ($smarty->_cache_serials as $_include_file_path=>$_cache_serial) {
|
||||||
$_return = preg_replace_callback('!(\{nocache\:('.$_cache_serial.')#(\d+)\})!s',
|
$_return = preg_replace_callback('!(\{nocache\:('.$_cache_serial.')#(\d+)\})!s',
|
||||||
array(&$smarty, '_process_compiled_include_callback'),
|
array(&$smarty, '_process_compiled_include_callback'),
|
||||||
|
@@ -90,16 +90,6 @@ function smarty_core_read_cache_file(&$params, &$smarty)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
foreach ($_cache_info['cache_serials'] as $_include_file_path=>$_cache_serial) {
|
|
||||||
if (empty($smarty->_cache_serials[$_include_file_path])) {
|
|
||||||
$smarty->_include($_include_file_path, true);
|
|
||||||
}
|
|
||||||
|
|
||||||
if ($smarty->_cache_serials[$_include_file_path] != $_cache_serial) {
|
|
||||||
/* regenerate */
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
$content_cache[$params['tpl_file'].','.$params['cache_id'].','.$params['compile_id']] = array($params['results'], $_cache_info);
|
$content_cache[$params['tpl_file'].','.$params['cache_id'].','.$params['compile_id']] = array($params['results'], $_cache_info);
|
||||||
|
|
||||||
$smarty->_cache_info = $_cache_info;
|
$smarty->_cache_info = $_cache_info;
|
||||||
|
Reference in New Issue
Block a user