diff options
author | mrjive <mrjive@mrjive.it> | 2016-01-03 09:52:37 +0100 |
---|---|---|
committer | mrjive <mrjive@mrjive.it> | 2016-01-03 09:52:37 +0100 |
commit | 07f5bdde60f55e3b217aee9e33c3175e90a5f0f1 (patch) | |
tree | 2b5988c7661c9a5a67f5da8797ca57381e2aad7a /library/Smarty/libs/sysplugins/smarty_internal_parsetree_tag.php | |
parent | 051346325609f5f2e78ef0deaf182c65d7823bbc (diff) | |
parent | 5b0a17359d6b5b3e27219c9e56117f1017996175 (diff) | |
download | volse-hubzilla-07f5bdde60f55e3b217aee9e33c3175e90a5f0f1.tar.gz volse-hubzilla-07f5bdde60f55e3b217aee9e33c3175e90a5f0f1.tar.bz2 volse-hubzilla-07f5bdde60f55e3b217aee9e33c3175e90a5f0f1.zip |
Merge pull request #10 from redmatrix/master
updating from original codebase
Diffstat (limited to 'library/Smarty/libs/sysplugins/smarty_internal_parsetree_tag.php')
-rw-r--r-- | library/Smarty/libs/sysplugins/smarty_internal_parsetree_tag.php | 69 |
1 files changed, 69 insertions, 0 deletions
diff --git a/library/Smarty/libs/sysplugins/smarty_internal_parsetree_tag.php b/library/Smarty/libs/sysplugins/smarty_internal_parsetree_tag.php new file mode 100644 index 000000000..575c8c9e8 --- /dev/null +++ b/library/Smarty/libs/sysplugins/smarty_internal_parsetree_tag.php @@ -0,0 +1,69 @@ +<?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 \Smarty_Internal_Templateparser $parser parser object + * @param string $data content + */ + public function __construct(Smarty_Internal_Templateparser $parser, $data) + { + $this->data = $data; + $this->saved_block_nesting = $parser->block_nesting_level; + } + + /** + * Return buffer content + * + * @param \Smarty_Internal_Templateparser $parser + * + * @return string content + */ + public function to_smarty_php(Smarty_Internal_Templateparser $parser) + { + return $this->data; + } + + /** + * Return complied code that loads the evaluated output of buffer content into a temporary variable + * + * @param \Smarty_Internal_Templateparser $parser + * + * @return string template code + */ + public function assign_to_var(Smarty_Internal_Templateparser $parser) + { + $var = sprintf('$_tmp%d', ++ Smarty_Internal_Templateparser::$prefix_number); + $tmp = $parser->compiler->appendCode('<?php ob_start();?>', $this->data); + $tmp = $parser->compiler->appendCode($tmp, "<?php {$var}=ob_get_clean();?>"); + $parser->compiler->prefix_code[] = sprintf("%s", $tmp); + + return $var; + } +} |