mirror of
https://github.com/smarty-php/smarty.git
synced 2025-08-06 11:24:27 +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;
|
||||
|
||||
$_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) {
|
||||
$_return = preg_replace_callback('!(\{nocache\:('.$_cache_serial.')#(\d+)\})!s',
|
||||
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);
|
||||
|
||||
$smarty->_cache_info = $_cache_info;
|
||||
|
Reference in New Issue
Block a user