From 967ab871b836f618107fe144978bd1453c3c6634 Mon Sep 17 00:00:00 2001 From: Thomas Willingham Date: Thu, 11 Dec 2014 20:15:27 +0000 Subject: Update Smarty --- ...y_internal_compile_private_special_variable.php | 39 +++++++++++++--------- 1 file changed, 23 insertions(+), 16 deletions(-) (limited to 'library/Smarty/libs/sysplugins/smarty_internal_compile_private_special_variable.php') diff --git a/library/Smarty/libs/sysplugins/smarty_internal_compile_private_special_variable.php b/library/Smarty/libs/sysplugins/smarty_internal_compile_private_special_variable.php index 4760dbe3f..23b17ae14 100644 --- a/library/Smarty/libs/sysplugins/smarty_internal_compile_private_special_variable.php +++ b/library/Smarty/libs/sysplugins/smarty_internal_compile_private_special_variable.php @@ -1,32 +1,33 @@ trigger_template_error("(secure mode) super globals not permitted"); break; } - $compiled_ref = '$_'.strtoupper($variable); + $compiled_ref = '$_' . strtoupper($variable); break; case 'template': @@ -70,6 +71,7 @@ class Smarty_Internal_Compile_Private_Special_Variable extends Smarty_Internal_C case 'version': $_version = Smarty::SMARTY_VERSION; + return "'$_version'"; case 'const': @@ -77,16 +79,23 @@ class Smarty_Internal_Compile_Private_Special_Variable extends Smarty_Internal_C $compiler->trigger_template_error("(secure mode) constants not permitted"); break; } - return '@' . trim($_index[1], "'"); + + return "@constant({$_index[1]})"; case 'config': - return "\$_smarty_tpl->getConfigVariable($_index[1])"; + if (isset($_index[2])) { + return "(is_array(\$tmp = \$_smarty_tpl->getConfigVariable($_index[1])) ? \$tmp[$_index[2]] : null)"; + } else { + return "\$_smarty_tpl->getConfigVariable($_index[1])"; + } case 'ldelim': $_ldelim = $compiler->smarty->left_delimiter; + return "'$_ldelim'"; case 'rdelim': $_rdelim = $compiler->smarty->right_delimiter; + return "'$_rdelim'"; default: @@ -99,9 +108,7 @@ class Smarty_Internal_Compile_Private_Special_Variable extends Smarty_Internal_C $compiled_ref = $compiled_ref . "[$_ind]"; } } + return $compiled_ref; } - } - -?> \ No newline at end of file -- cgit v1.2.3