diff --git a/Smarty.class.php b/Smarty.class.php index d1a57c22..99b40b68 100644 --- a/Smarty.class.php +++ b/Smarty.class.php @@ -699,7 +699,7 @@ class Smarty &$_smarty_config_parent) { $this->_tpl_vars = array_merge($this->_tpl_vars, $_smarty_include_vars); - extract($_smarty_include_vars); + extract($this->_tpl_vars); $this->_process_template($_smarty_include_tpl_file, $compile_path); include($compile_path); diff --git a/Smarty_Compiler.class.php b/Smarty_Compiler.class.php index 885e2244..6bada0c1 100644 --- a/Smarty_Compiler.class.php +++ b/Smarty_Compiler.class.php @@ -363,9 +363,7 @@ class Smarty_Compiler extends Smarty { foreach ($attrs as $arg_name => $arg_value) { if ($arg_name == 'file') { - $_smarty_include_tpl_file = $this->_dequote($arg_value); - if ($_smarty_include_tpl_file{0} != '$') - $_smarty_include_tpl_file = '"' . $_smarty_include_tpl_file . '"'; + $_smarty_include_tpl_file = $arg_value; continue; } if (is_bool($arg_value)) @@ -378,7 +376,7 @@ class Smarty_Compiler extends Smarty { "unset(\$_smarty_defined_vars['_smarty_include_tpl_file']);\n" . "unset(\$_smarty_defined_vars['_smarty_include_vars']);\n" . "\$this->_smarty_include(".$_smarty_include_tpl_file.", array(".implode(',', (array)$arg_list)."), \$_smarty_config);\n" . - "\$this->_tpl_vars = \$_smarty_defined_vars;\n" . + "\$this->_tpl_vars = \$_smarty_tpl_vars;\n" . "unset(\$_smarty_tpl_vars); ?>"; } diff --git a/libs/Smarty.class.php b/libs/Smarty.class.php index d1a57c22..99b40b68 100644 --- a/libs/Smarty.class.php +++ b/libs/Smarty.class.php @@ -699,7 +699,7 @@ class Smarty &$_smarty_config_parent) { $this->_tpl_vars = array_merge($this->_tpl_vars, $_smarty_include_vars); - extract($_smarty_include_vars); + extract($this->_tpl_vars); $this->_process_template($_smarty_include_tpl_file, $compile_path); include($compile_path); diff --git a/libs/Smarty_Compiler.class.php b/libs/Smarty_Compiler.class.php index 885e2244..6bada0c1 100644 --- a/libs/Smarty_Compiler.class.php +++ b/libs/Smarty_Compiler.class.php @@ -363,9 +363,7 @@ class Smarty_Compiler extends Smarty { foreach ($attrs as $arg_name => $arg_value) { if ($arg_name == 'file') { - $_smarty_include_tpl_file = $this->_dequote($arg_value); - if ($_smarty_include_tpl_file{0} != '$') - $_smarty_include_tpl_file = '"' . $_smarty_include_tpl_file . '"'; + $_smarty_include_tpl_file = $arg_value; continue; } if (is_bool($arg_value)) @@ -378,7 +376,7 @@ class Smarty_Compiler extends Smarty { "unset(\$_smarty_defined_vars['_smarty_include_tpl_file']);\n" . "unset(\$_smarty_defined_vars['_smarty_include_vars']);\n" . "\$this->_smarty_include(".$_smarty_include_tpl_file.", array(".implode(',', (array)$arg_list)."), \$_smarty_config);\n" . - "\$this->_tpl_vars = \$_smarty_defined_vars;\n" . + "\$this->_tpl_vars = \$_smarty_tpl_vars;\n" . "unset(\$_smarty_tpl_vars); ?>"; }