diff --git a/library/smarty/libs/sysplugins/smarty_internal_compile_append.php b/library/smarty/libs/sysplugins/smarty_internal_compile_append.php new file mode 100644 --- /dev/null +++ b/library/smarty/libs/sysplugins/smarty_internal_compile_append.php @@ -0,0 +1,48 @@ +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); + } +}