gluon-web-remote

Web remote Administration for big size of gluon routers
git clone git://archive.git.mtrnord.blog/MTRNord/gluon-web-remote.git
Log | Files | Refs | README

commit 1f7b3815c0199a3abc446d9990fad6433f6744a1
parent 12a6f5c67054d3aafd38ff922c38ba46aad6dbf8
Author: Marcel <MTRNord@users.noreply.github.com>
Date:   Sat, 31 Oct 2015 17:44:32 +0100

Create smarty_internal_parsetree_tag.php
Diffstat:
Alibs/smarty/sysplugins/smarty_internal_parsetree_tag.php | 66++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 66 insertions(+), 0 deletions(-)

diff --git a/libs/smarty/sysplugins/smarty_internal_parsetree_tag.php b/libs/smarty/sysplugins/smarty_internal_parsetree_tag.php @@ -0,0 +1,66 @@ +<?php +/** + * Smarty Internal Plugin Templateparser Parse Tree + * These are classes to build parse tree in the template parser + * + * @package Smarty + * @subpackage Compiler + * @author Thue Kristensen + * @author Uwe Tews + */ + +/** + * A complete smarty tag. + * + * @package Smarty + * @subpackage Compiler + * @ignore + */ +class Smarty_Internal_ParseTree_Tag extends Smarty_Internal_ParseTree +{ + + /** + * Saved block nesting level + * + * @var int + */ + public $saved_block_nesting; + + /** + * Create parse tree buffer for Smarty tag + * + * @param object $parser parser object + * @param string $data content + */ + public function __construct($parser, $data) + { + $this->parser = $parser; + $this->data = $data; + $this->saved_block_nesting = $parser->block_nesting_level; + } + + /** + * Return buffer content + * + * @return string content + */ + public function to_smarty_php() + { + return $this->data; + } + + /** + * Return complied code that loads the evaluated output of buffer content into a temporary variable + * + * @return string template code + */ + public function assign_to_var() + { + $var = sprintf('$_tmp%d', ++ Smarty_Internal_Templateparser::$prefix_number); + $tmp = $this->parser->compiler->appendCode('<?php ob_start();?>', $this->data); + $tmp = $this->parser->compiler->appendCode($tmp, "<?php {$var}=ob_get_clean();?>"); + $this->parser->compiler->prefix_code[] = sprintf("%s", $tmp); + + return $var; + } +}