- bugfix on template functions used with template inheritance

This commit is contained in:
Uwe.Tews
2010-06-01 17:10:39 +00:00
parent 72d41f3b59
commit c82455c145
3 changed files with 9 additions and 3 deletions

View File

@@ -1,3 +1,6 @@
01/06/2010
- bugfix on template functions used with template inheritance
31/05/2010
- bugfix the parser did not allow some smarty variables with special name like $for, $if, $else and others.

View File

@@ -49,7 +49,7 @@ class Smarty_Internal_Compile_Call extends Smarty_Internal_CompileBase {
$_paramsArray[] = "'$_key'=>$_value";
}
}
if (isset($compiler->template->properties['function'][$_name])) {
if (isset($compiler->template->properties['function'][$_name]['parameter'])) {
foreach ($compiler->template->properties['function'][$_name]['parameter'] as $_key => $_value) {
if (!isset($_attr[$_key])) {
if (is_int($_key)) {
@@ -59,8 +59,8 @@ class Smarty_Internal_Compile_Call extends Smarty_Internal_CompileBase {
}
}
}
} elseif (isset($this->smarty->template->properties['function'][$_name])) {
foreach ($this->smarty->template->properties['function'][$_name]['parameter'] as $_key => $_value) {
} elseif (isset($this->smarty->template_functions[$_name]['parameter'])) {
foreach ($this->smarty->template_functions[$_name]['parameter'] as $_key => $_value) {
if (!isset($_attr[$_key])) {
if (is_int($_key)) {
$_paramsArray[] = "$_key=>$_value";

View File

@@ -34,6 +34,9 @@ class Smarty_Internal_Compile_Function extends Smarty_Internal_CompileBase {
foreach ($_attr as $_key => $_data) {
$compiler->template->properties['function'][$_name]['parameter'][$_key] = $_data;
}
if (isset($compiler->template->properties['function'][$_name]['parameter'])) {
$compiler->smarty->template_functions[$_name]['parameter'] = $compiler->template->properties['function'][$_name]['parameter'];
}
if ($compiler->template->caching) {
$output = '';
} else {