diff options
author | emkael <emkael@tlen.pl> | 2018-10-18 02:39:34 +0200 |
---|---|---|
committer | emkael <emkael@tlen.pl> | 2018-10-18 02:39:42 +0200 |
commit | ab5d8d4e07bb3c8230d0285ef8902ef1979fce51 (patch) | |
tree | 0b955e585cb2fdbc7207392a5f2c97d610b6a5bc /lib/smarty/sysplugins/smarty_internal_compile_call.php | |
parent | c055ce2ab60c6582bad3e5babcb1d00384fde78a (diff) |
Updating Smarty
Diffstat (limited to 'lib/smarty/sysplugins/smarty_internal_compile_call.php')
-rw-r--r-- | lib/smarty/sysplugins/smarty_internal_compile_call.php | 87 |
1 files changed, 23 insertions, 64 deletions
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 @@ <?php /** * Smarty Internal Plugin Compile Function_Call - * * Compiles the calls of user defined tags defined by {function} * - * @package Smarty + * @package Smarty * @subpackage Compiler - * @author Uwe Tews + * @author Uwe Tews */ /** * Smarty Internal Plugin Compile Function_Call Class * - * @package Smarty + * @package Smarty * @subpackage Compiler */ -class Smarty_Internal_Compile_Call extends Smarty_Internal_CompileBase { - +class Smarty_Internal_Compile_Call extends Smarty_Internal_CompileBase +{ /** * Attribute definition: Overwrites base class. * @@ -24,6 +23,7 @@ class Smarty_Internal_Compile_Call extends Smarty_Internal_CompileBase { * @see Smarty_Internal_CompileBase */ public $required_attributes = array('name'); + /** * Attribute definition: Overwrites base class. * @@ -31,6 +31,7 @@ class Smarty_Internal_Compile_Call extends Smarty_Internal_CompileBase { * @see Smarty_Internal_CompileBase */ public $shorttag_order = array('name'); + /** * Attribute definition: Overwrites base class. * @@ -42,9 +43,9 @@ class Smarty_Internal_Compile_Call extends Smarty_Internal_CompileBase { /** * Compiles the calls of user defined tags defined by {function} * - * @param array $args array with attributes from parser - * @param object $compiler compiler object - * @param array $parameter array with compilation parameter + * @param array $args array with attributes from parser + * @param object $compiler compiler object + * * @return string compiled code */ public function compile($args, $compiler) @@ -52,17 +53,15 @@ class Smarty_Internal_Compile_Call extends Smarty_Internal_CompileBase { // check and get attributes $_attr = $this->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 = "<?php ob_start(); Smarty_Internal_Function_Call_Handler::call ({$call_cache},\$_smarty_tpl,{$_params},'{$_hash}',{$_nocache}); \$_smarty_tpl->assign({$_assign}, ob_get_clean());?>\n"; - } else { - $_output = "<?php ob_start(); {$call_function}(\$_smarty_tpl,{$_params}); \$_smarty_tpl->assign({$_assign}, ob_get_clean());?>\n"; - } + $_output = + "<?php ob_start();\n\$_smarty_tpl->smarty->ext->_tplFunction->callTemplateFunction(\$_smarty_tpl, {$_name}, {$_params}, {$_nocache});\n\$_smarty_tpl->assign({$_assign}, ob_get_clean());?>\n"; } else { - if ($compiler->template->caching) { - $_output = "<?php Smarty_Internal_Function_Call_Handler::call ({$call_cache},\$_smarty_tpl,{$_params},'{$_hash}',{$_nocache});?>\n"; - } else { - $_output = "<?php {$call_function}(\$_smarty_tpl,{$_params});?>\n"; - } + $_output = + "<?php \$_smarty_tpl->smarty->ext->_tplFunction->callTemplateFunction(\$_smarty_tpl, {$_name}, {$_params}, {$_nocache});?>\n"; } return $_output; } - } - -?>
\ No newline at end of file |