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 5db431b4079e845322f261106f3528fd22b4227b
parent 86aba9931faaf0bdacf1610f61b1fe550a1f0438
Author: Marcel <MTRNord@users.noreply.github.com>
Date:   Sat, 31 Oct 2015 17:26:28 +0100

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

diff --git a/libs/smarty/sysplugins/smarty_internal_compile_append.php b/libs/smarty/sysplugins/smarty_internal_compile_append.php @@ -0,0 +1,50 @@ +<?php +/** + * Smarty Internal Plugin Compile Append + * Compiles the {append} tag + * + * @package Smarty + * @subpackage Compiler + * @author Uwe Tews + */ + +/** + * Smarty Internal Plugin Compile Append Class + * + * @package Smarty + * @subpackage Compiler + */ +class Smarty_Internal_Compile_Append extends Smarty_Internal_Compile_Assign +{ + /** + * Compiles code for the {append} tag + * + * @param array $args array with attributes from parser + * @param object $compiler compiler object + * @param array $parameter array with compilation parameter + * + * @return string compiled code + */ + public function compile($args, $compiler, $parameter) + { + // the following must be assigned at runtime because it will be overwritten in parent class + $this->required_attributes = array('var', 'value'); + $this->shorttag_order = array('var', 'value'); + $this->optional_attributes = array('scope', 'index'); + // check and get attributes + $_attr = $this->getAttributes($compiler, $args); + // map to compile assign attributes + if (isset($_attr['index'])) { + $_params['smarty_internal_index'] = '[' . $_attr['index'] . ']'; + unset($_attr['index']); + } else { + $_params['smarty_internal_index'] = '[]'; + } + $_new_attr = array(); + foreach ($_attr as $key => $value) { + $_new_attr[] = array($key => $value); + } + // call compile assign + return parent::compile($_new_attr, $compiler, $_params); + } +}