compiler = $compiler; if (strlen($tag) < 5 || substr_compare($tag, 'close', -5, 5) != 0) { // opening tag of block plugin $this->required_attributes = array(); $this->optional_attributes = array('_any'); // check and get attributes $_attr = $this->_get_attributes($args); // convert attributes into parameter array string $_paramsArray = array(); foreach ($_attr as $_key => $_value) { $_paramsArray[] = "'$_key'=>$_value"; } $_params = 'array(' . implode(",", $_paramsArray) . ')'; $this->_open_tag($tag.'->'.$methode, $_params); // compile code $output = 'smarty->registered_objects[\''.$tag.'\'][0]->' . $methode . '(' . $_params . ', null, $_smarty_tpl->smarty, $_block_repeat, $_smarty_tpl);while ($_block_repeat) { ob_start();?>'; } else { // closing tag of block plugin $_params = $this->_close_tag(substr($tag,0,-5).'->'.$methode); // This tag does create output $this->compiler->has_output = true; // compile code $output = 'smarty->registered_objects[\''.substr($tag,0,-5).'\'][0]->' . $methode . '(' . $_params . ', $_block_content, $_smarty_tpl->smarty, $_block_repeat, $_smarty_tpl); }?>'; } return $output; } } ?>