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

smarty_internal_compile_append.php (1579B)


      1 <?php
      2 /**
      3  * Smarty Internal Plugin Compile Append
      4  * Compiles the {append} tag
      5  *
      6  * @package    Smarty
      7  * @subpackage Compiler
      8  * @author     Uwe Tews
      9  */
     10 
     11 /**
     12  * Smarty Internal Plugin Compile Append Class
     13  *
     14  * @package    Smarty
     15  * @subpackage Compiler
     16  */
     17 class Smarty_Internal_Compile_Append extends Smarty_Internal_Compile_Assign
     18 {
     19     /**
     20      * Compiles code for the {append} tag
     21      *
     22      * @param  array  $args      array with attributes from parser
     23      * @param  object $compiler  compiler object
     24      * @param  array  $parameter array with compilation parameter
     25      *
     26      * @return string compiled code
     27      */
     28     public function compile($args, $compiler, $parameter)
     29     {
     30         // the following must be assigned at runtime because it will be overwritten in parent class
     31         $this->required_attributes = array('var', 'value');
     32         $this->shorttag_order = array('var', 'value');
     33         $this->optional_attributes = array('scope', 'index');
     34         // check and get attributes
     35         $_attr = $this->getAttributes($compiler, $args);
     36         // map to compile assign attributes
     37         if (isset($_attr['index'])) {
     38             $_params['smarty_internal_index'] = '[' . $_attr['index'] . ']';
     39             unset($_attr['index']);
     40         } else {
     41             $_params['smarty_internal_index'] = '[]';
     42         }
     43         $_new_attr = array();
     44         foreach ($_attr as $key => $value) {
     45             $_new_attr[] = array($key => $value);
     46         }
     47         // call compile assign
     48         return parent::compile($_new_attr, $compiler, $_params);
     49     }
     50 }