register_compiler_function("/iterate", 'iterate_end'); } $_params = $compiler->_parse_attrs($tag_attrs); if (!isset($_params['from'])) { $compiler->_syntax_error("iterate: missing 'from' parameter", E_USER_ERROR, __FILE__, __LINE__); return; } if (empty($_params['item'])) { $compiler->_syntax_error("iterate: missing 'item' attribute", E_USER_ERROR, __FILE__, __LINE__); return; } $_from = $compiler->_dequote($_params['from']); $_item = $compiler->_dequote($_params['item']); return "\$_iterate_$_item = $_from;\n" . "while ((\$this->_tpl_vars['$_item'] = \$_iterate_{$_item}->next()) !== null):"; } /* vim:set expandtab fenc=utf-8: */ ?>