mirror of
https://github.com/smarty-php/smarty.git
synced 2025-08-06 11:24:27 +02:00
- bugfix {assign} with scope root and global did not work in all cases
This commit is contained in:
@@ -3,6 +3,7 @@
|
|||||||
- bugfix removed debug echo output while compiling template inheritance
|
- bugfix removed debug echo output while compiling template inheritance
|
||||||
- bugfix relative paths in $template_dir broke relative path resolving in {include "../foo.tpl"}
|
- bugfix relative paths in $template_dir broke relative path resolving in {include "../foo.tpl"}
|
||||||
- bugfix {include} did not work inside nested {block} tags
|
- bugfix {include} did not work inside nested {block} tags
|
||||||
|
- bugfix {assign} with scope root and global did not work in all cases
|
||||||
|
|
||||||
19.09.2011
|
19.09.2011
|
||||||
- bugfix regression in Smarty_CacheReource_KeyValueStore introduced by r4261
|
- bugfix regression in Smarty_CacheReource_KeyValueStore introduced by r4261
|
||||||
|
@@ -60,11 +60,15 @@ class Smarty_Internal_Compile_Assign extends Smarty_Internal_CompileBase {
|
|||||||
} else {
|
} else {
|
||||||
$output = "<?php \$_smarty_tpl->tpl_vars[$_attr[var]] = new Smarty_variable($_attr[value], $_nocache, $_scope);";
|
$output = "<?php \$_smarty_tpl->tpl_vars[$_attr[var]] = new Smarty_variable($_attr[value], $_nocache, $_scope);";
|
||||||
}
|
}
|
||||||
if ($_scope != Smarty::SCOPE_LOCAL) {
|
if ($_scope == Smarty::SCOPE_PARENT) {
|
||||||
$output .= "\nif (\$tmp_ptr = &\$_smarty_tpl->getScope($_scope) != null) \$tmp_ptr[$_attr[var]] = clone \$_smarty_tpl->tpl_vars[$_attr[var]];?>";
|
$output .= "\nif (\$_smarty_tpl->parent != null) \$_smarty_tpl->parent->tpl_vars[$_attr[var]] = clone \$_smarty_tpl->tpl_vars[$_attr[var]];";
|
||||||
} else {
|
} elseif ($_scope == Smarty::SCOPE_ROOT || $_scope == Smarty::SCOPE_GLOBAL) {
|
||||||
$output .= '?>';
|
$output .= "\n\$_ptr = \$_smarty_tpl->parent; while (\$_ptr != null) {\$_ptr->tpl_vars[$_attr[var]] = clone \$_smarty_tpl->tpl_vars[$_attr[var]]; \$_ptr = \$_ptr->parent; }";
|
||||||
}
|
}
|
||||||
|
if ( $_scope == Smarty::SCOPE_GLOBAL) {
|
||||||
|
$output .= "\nSmarty::\$global_tpl_vars[$_attr[var]] = clone \$_smarty_tpl->tpl_vars[$_attr[var]];";
|
||||||
|
}
|
||||||
|
$output .= '?>';
|
||||||
return $output;
|
return $output;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user