- move some code from parser into compiler

This commit is contained in:
uwetews
2016-02-09 04:48:08 +01:00
parent b04486a091
commit 37e6d26b23

View File

@@ -59,7 +59,7 @@ class Smarty_Internal_ParseTree_Tag extends Smarty_Internal_ParseTree
*/ */
public function assign_to_var(Smarty_Internal_Templateparser $parser) public function assign_to_var(Smarty_Internal_Templateparser $parser)
{ {
$var = sprintf('$_tmp%d', ++ Smarty_Internal_Templateparser::$prefix_number); $var = $parser->compiler->getNewPrefixVariable();
$tmp = $parser->compiler->appendCode('<?php ob_start();?>', $this->data); $tmp = $parser->compiler->appendCode('<?php ob_start();?>', $this->data);
$tmp = $parser->compiler->appendCode($tmp, "<?php {$var}=ob_get_clean();?>"); $tmp = $parser->compiler->appendCode($tmp, "<?php {$var}=ob_get_clean();?>");
$parser->compiler->prefix_code[] = sprintf("%s", $tmp); $parser->compiler->prefix_code[] = sprintf("%s", $tmp);