packages/ssoinabox-webui/root/usr/local/share/ssoinabox/htdocs/includes/smarty/sysplugins/smarty_internal_compile_append.php
changeset 0 3906ca745819
equal deleted inserted replaced
-1:000000000000 0:3906ca745819
       
     1 <?php
       
     2 /**
       
     3  * Smarty Internal Plugin Compile Append
       
     4  *
       
     5  * Compiles the {append} tag
       
     6  *
       
     7  * @package Smarty
       
     8  * @subpackage Compiler
       
     9  * @author Uwe Tews
       
    10  */
       
    11 
       
    12 /**
       
    13  * Smarty Internal Plugin Compile Append Class
       
    14  *
       
    15  * @package Smarty
       
    16  * @subpackage Compiler
       
    17  */
       
    18 class Smarty_Internal_Compile_Append extends Smarty_Internal_Compile_Assign {
       
    19 
       
    20     /**
       
    21      * Compiles code for the {append} tag
       
    22      *
       
    23      * @param array $args array with attributes from parser
       
    24      * @param object $compiler compiler object
       
    25      * @param array $parameter array with compilation parameter
       
    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 
       
    51 }
       
    52 
       
    53 ?>