diff --git a/libs/sysplugins/smarty_internal_template.php b/libs/sysplugins/smarty_internal_template.php index 93692f58..da8ab315 100644 --- a/libs/sysplugins/smarty_internal_template.php +++ b/libs/sysplugins/smarty_internal_template.php @@ -237,15 +237,6 @@ class Smarty_Internal_Template extends Smarty_Internal_TemplateBase $this->properties['cache_lifetime'] = $this->cache_lifetime; $this->properties['unifunc'] = 'content_' . str_replace(array('.', ','), '_', uniqid('', true)); $content = $this->createTemplateCodeFrame($content, true); - /** @var Smarty_Internal_Template $_smarty_tpl - * used in evaluated code - */ - /** - * $_smarty_tpl = $this; - * eval("?>" . $content); - * $this->cached->valid = true; - * $this->cached->processed = true; - */ return $this->cached->write($this, $content); } @@ -306,7 +297,6 @@ class Smarty_Internal_Template extends Smarty_Internal_TemplateBase $tpl->tpl_vars[$_key] = new Smarty_variable($_val); } } - return $tpl->fetch(null, null, null, null, false, false, true); } @@ -371,17 +361,20 @@ class Smarty_Internal_Template extends Smarty_Internal_TemplateBase public function getInlineSubTemplate($template, $cache_id, $compile_id, $caching, $cache_lifetime, $data, $parent_scope, $hash, $content_func) { $tpl = $this->setupInlineSubTemplate($template, $cache_id, $compile_id, $caching, $cache_lifetime, $data, $parent_scope, $hash); - if ($this->debugging) { + + if ($this->smarty->debugging) { Smarty_Internal_Debug::start_template($tpl); Smarty_Internal_Debug::start_render($tpl); } ob_start(); $content_func($tpl); - if ($this->debugging) { + if ($this->smarty->debugging) { Smarty_Internal_Debug::end_template($tpl); Smarty_Internal_Debug::end_render($tpl); } - + if (!empty($tpl->properties['file_dependency'])) { + $this->properties['file_dependency'] = array_merge($this->properties['file_dependency'], $tpl->properties['file_dependency']); + } return str_replace($tpl->properties['nocache_hash'], $this->properties['nocache_hash'], ob_get_clean()); } @@ -490,25 +483,6 @@ class Smarty_Internal_Template extends Smarty_Internal_TemplateBase if (!$this->source->recompiled) { $output .= "\n"; } - if ($cache && isset($this->properties['tpl_function']['param'])) { - $requiredFunctions = array(); - foreach ($this->properties['tpl_function']['param'] as $name => $param) { - if (isset($this->properties['tpl_function']['to_cache'][$name])) { - $requiredFunctions[$param['compiled_filepath']][$name] = $param; - } - } - foreach ($requiredFunctions as $filepath => $functions) { - $code = file_get_contents($filepath); - foreach ($functions as $name => $param) { - if (preg_match("/\/\* {$param['call_name']} \*\/([\S\s]*?)\/\*\/ {$param['call_name']} \*\//", $code, $match)) { - $output .= "\n"; - } - } - unset($code, $match); - } - } return $output; }