| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253 | <?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);    }}?>
 |