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_capture.php | 85 ++++++++++++---------- 1 file changed, 46 insertions(+), 39 deletions(-) (limited to 'lib/smarty/sysplugins/smarty_internal_compile_capture.php') diff --git a/lib/smarty/sysplugins/smarty_internal_compile_capture.php b/lib/smarty/sysplugins/smarty_internal_compile_capture.php index 9a5071e..a4ffbc9 100644 --- a/lib/smarty/sysplugins/smarty_internal_compile_capture.php +++ b/lib/smarty/sysplugins/smarty_internal_compile_capture.php @@ -1,22 +1,21 @@ smarty->ext->_capture->getBuffer($_smarty_tpl' . + (isset($parameter[ 1 ]) ? ", {$parameter[ 1 ]})" : ')'); + } + /** * Compiles code for the {capture} tag * - * @param array $args array with attributes from parser - * @param object $compiler compiler object + * @param array $args array with attributes from parser + * @param \Smarty_Internal_TemplateCompilerBase $compiler compiler object + * @param null $parameter + * * @return string compiled code */ - public function compile($args, $compiler) + public function compile($args, Smarty_Internal_TemplateCompilerBase $compiler, $parameter = null) { // check and get attributes - $_attr = $this->getAttributes($compiler, $args); - - $buffer = isset($_attr['name']) ? $_attr['name'] : "'default'"; - $assign = isset($_attr['assign']) ? $_attr['assign'] : 'null'; - $append = isset($_attr['append']) ? $_attr['append'] : 'null'; - - $compiler->_capture_stack[0][] = array($buffer, $assign, $append, $compiler->nocache); + $_attr = $this->getAttributes($compiler, $args, $parameter, 'capture'); + $buffer = isset($_attr[ 'name' ]) ? $_attr[ 'name' ] : "'default'"; + $assign = isset($_attr[ 'assign' ]) ? $_attr[ 'assign' ] : 'null'; + $append = isset($_attr[ 'append' ]) ? $_attr[ 'append' ] : 'null'; + $compiler->_cache[ 'capture_stack' ][] = array($compiler->nocache); // maybe nocache because of nocache variables $compiler->nocache = $compiler->nocache | $compiler->tag_nocache; - $_output = "_capture_stack[0][] = array($buffer, $assign, $append); ob_start(); ?>"; - + $_output = "smarty->ext->_capture->open(\$_smarty_tpl, $buffer, $assign, $append);?>"; return $_output; } - } /** * Smarty Internal Plugin Compile Captureclose Class * - * @package Smarty + * @package Smarty * @subpackage Compiler */ -class Smarty_Internal_Compile_CaptureClose extends Smarty_Internal_CompileBase { - +class Smarty_Internal_Compile_CaptureClose extends Smarty_Internal_CompileBase +{ /** * Compiles code for the {/capture} tag * - * @param array $args array with attributes from parser - * @param object $compiler compiler object + * @param array $args array with attributes from parser + * @param \Smarty_Internal_TemplateCompilerBase $compiler compiler object + * @param null $parameter + * * @return string compiled code */ - public function compile($args, $compiler) + public function compile($args, Smarty_Internal_TemplateCompilerBase $compiler, $parameter) { // check and get attributes - $_attr = $this->getAttributes($compiler, $args); + $_attr = $this->getAttributes($compiler, $args, $parameter, '/capture'); // must endblock be nocache? if ($compiler->nocache) { $compiler->tag_nocache = true; } - - list($buffer, $assign, $append, $compiler->nocache) = array_pop($compiler->_capture_stack[0]); - - $_output = "_capture_stack[0]);\n"; - $_output .= "if (!empty(\$_capture_buffer)) {\n"; - $_output .= " if (isset(\$_capture_assign)) \$_smarty_tpl->assign(\$_capture_assign, ob_get_contents());\n"; - $_output .= " if (isset( \$_capture_append)) \$_smarty_tpl->append( \$_capture_append, ob_get_contents());\n"; - $_output .= " Smarty::\$_smarty_vars['capture'][\$_capture_buffer]=ob_get_clean();\n"; - $_output .= "} else \$_smarty_tpl->capture_error();?>"; - return $_output; + list($compiler->nocache) = array_pop($compiler->_cache[ 'capture_stack' ]); + return "smarty->ext->_capture->close(\$_smarty_tpl);?>"; } - } - -?> \ No newline at end of file -- cgit v1.2.3