chengkun
2025-04-27 577277838f1596979dc0f7791303ab5155f223b9
提交
1 files modified
18 ■■■■■ changed files
app/include/libs/sysplugins/smarty_internal_function_call_handler.php 18 ●●●●● patch | view | raw | blame | history
app/include/libs/sysplugins/smarty_internal_function_call_handler.php
@@ -13,20 +13,18 @@
 * @package    Smarty
 * @subpackage PluginsInternal
 */
class Smarty_Internal_Function_Call_Handler
{
class Smarty_Internal_Function_Call_Handler {
    /**
     * This function handles calls to template functions defined by {function}
     * It does create a PHP function at the first call
     *
     * @param string                   $_name     template function name
     * @param string $_name template function name
     * @param Smarty_Internal_Template $_template template object
     * @param array                    $_params   Smarty variables passed as call parameter
     * @param string                   $_hash     nocache hash value
     * @param bool                     $_nocache  nocache flag
     * @param array $_params Smarty variables passed as call parameter
     * @param string $_hash nocache hash value
     * @param bool $_nocache nocache flag
     */
    public static function call($_name, Smarty_Internal_Template $_template, $_params, $_hash, $_nocache)
    {
    public static function call(string $_name, Smarty_Internal_Template $_template, array $_params, string $_hash, bool $_nocache) {
        if ($_nocache) {
            $_function = "smarty_template_function_{$_name}_nocache";
        } else {
@@ -39,8 +37,8 @@
    foreach (\$params as \$key => \$value) {\$_smarty_tpl->tpl_vars[\$key] = new Smarty_variable(\$value);}?>";
            if ($_nocache) {
                $_code .= preg_replace(array("!<\?php echo \\'/\*%%SmartyNocache:{$_template->smarty->template_functions[$_name]['nocache_hash']}%%\*/|/\*/%%SmartyNocache:{$_template->smarty->template_functions[$_name]['nocache_hash']}%%\*/\\';\?>!",
                                             "!\\\'!"), array('', "'"), $_template->smarty->template_functions[$_name]['compiled']);
                $_template->smarty->template_functions[$_name]['called_nocache'] = true;
                    "!\\\'!"), array('', "'"), $_template->smarty->template_functions[$_name]['compiled']);
                $_template->smarty->template_functions[$_name]['called_nocache'] = TRUE;
            } else {
                $_code .= preg_replace("/{$_template->smarty->template_functions[$_name]['nocache_hash']}/", $_template->properties['nocache_hash'], $_template->smarty->template_functions[$_name]['compiled']);
            }