From ab5d8d4e07bb3c8230d0285ef8902ef1979fce51 Mon Sep 17 00:00:00 2001 From: emkael Date: Thu, 18 Oct 2018 02:39:34 +0200 Subject: Updating Smarty --- .../sysplugins/smarty_internal_compile_call.php | 87 ++++++---------------- 1 file changed, 23 insertions(+), 64 deletions(-) (limited to 'lib/smarty/sysplugins/smarty_internal_compile_call.php') diff --git a/lib/smarty/sysplugins/smarty_internal_compile_call.php b/lib/smarty/sysplugins/smarty_internal_compile_call.php index af12a04..445cabc 100644 --- a/lib/smarty/sysplugins/smarty_internal_compile_call.php +++ b/lib/smarty/sysplugins/smarty_internal_compile_call.php @@ -1,22 +1,21 @@ getAttributes($compiler, $args); // save possible attributes - if (isset($_attr['assign'])) { - // output will be stored in a smarty variable instead of beind displayed - $_assign = $_attr['assign']; + if (isset($_attr[ 'assign' ])) { + // output will be stored in a smarty variable instead of being displayed + $_assign = $_attr[ 'assign' ]; } - $_name = $_attr['name']; - if ($compiler->compiles_template_function) { - $compiler->called_functions[] = trim($_name, "'\""); - } - unset($_attr['name'], $_attr['assign'], $_attr['nocache']); + //$_name = trim($_attr['name'], "''"); + $_name = $_attr[ 'name' ]; + unset($_attr[ 'name' ], $_attr[ 'assign' ], $_attr[ 'nocache' ]); // set flag (compiled code of {function} must be included in cache file - if ($compiler->nocache || $compiler->tag_nocache) { + if (!$compiler->template->caching || $compiler->nocache || $compiler->tag_nocache) { $_nocache = 'true'; } else { $_nocache = 'false'; @@ -75,56 +74,16 @@ class Smarty_Internal_Compile_Call extends Smarty_Internal_CompileBase { $_paramsArray[] = "'$_key'=>$_value"; } } - 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)) { - $_paramsArray[] = "$_key=>$_value"; - } else { - $_paramsArray[] = "'$_key'=>$_value"; - } - } - } - } elseif (isset($compiler->smarty->template_functions[$_name]['parameter'])) { - foreach ($compiler->smarty->template_functions[$_name]['parameter'] as $_key => $_value) { - if (!isset($_attr[$_key])) { - if (is_int($_key)) { - $_paramsArray[] = "$_key=>$_value"; - } else { - $_paramsArray[] = "'$_key'=>$_value"; - } - } - } - } - //varibale name? - if (!(strpos($_name, '$') === false)) { - $call_cache = $_name; - $call_function = '$tmp = "smarty_template_function_".' . $_name . '; $tmp'; - } else { - $_name = trim($_name, "'\""); - $call_cache = "'{$_name}'"; - $call_function = 'smarty_template_function_' . $_name; - } - - $_params = 'array(' . implode(",", $_paramsArray) . ')'; - $_hash = str_replace('-', '_', $compiler->template->properties['nocache_hash']); + $_params = 'array(' . implode(',', $_paramsArray) . ')'; + //$compiler->suppressNocacheProcessing = true; // was there an assign attribute if (isset($_assign)) { - if ($compiler->template->caching) { - $_output = "assign({$_assign}, ob_get_clean());?>\n"; - } else { - $_output = "assign({$_assign}, ob_get_clean());?>\n"; - } + $_output = + "smarty->ext->_tplFunction->callTemplateFunction(\$_smarty_tpl, {$_name}, {$_params}, {$_nocache});\n\$_smarty_tpl->assign({$_assign}, ob_get_clean());?>\n"; } else { - if ($compiler->template->caching) { - $_output = "\n"; - } else { - $_output = "\n"; - } + $_output = + "smarty->ext->_tplFunction->callTemplateFunction(\$_smarty_tpl, {$_name}, {$_params}, {$_nocache});?>\n"; } return $_output; } - } - -?> \ No newline at end of file -- cgit v1.2.3