Lexer->addSpecialPattern('<[Bb]uglist\s+[^>]*>', $mode, 'plugin_bugzillaint_list'); } /** * Handle matches */ public function handle($match, $state, $pos, Doku_Handler $handler){ $matches = array(); // found list if ( preg_match('/<[Bb]uglist\s+([^>]*)>/', $match, $submatch) ) { $matches['list'] = array( 'quicksearch' => $submatch[1], 'group_by' => preg_match('/group_by:([a-z_]+)/i', $match, $found) ? $found[1] : null, 'extras' => preg_match('/extras:([a-z_,]+)/i', $match, $found) ? trim($found[1]) : $this->getConf('list_default_extras') ); } return $matches; } /** * Render the output * * @param string $mode * @param Doku_Renderer $renderer * @param array $data * @return boolean */ public function render($mode, Doku_Renderer $renderer, $data) { if ($mode != 'xhtml') return false; // render list if ( isset( $data['list'] ) ) { $render = $this->loadHelper('bugzillaint_render', false); $attrs = $render->renderAttributes( $data['list'] ); $renderer->doc .= '
' . ' ' . '
'; } return true; } }