Вход Регистрация
Файл: app/lib/smarty/sysplugins/smarty_internal_compile_append.php
Строк: 49
<?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);
    }
}
Онлайн: 0
Реклама