/** * Create output */ public function render($format, Doku_Renderer $R, $data) { if ($format != 'xhtml') { return false; } $R->info['cache'] = false; // don't cache /** * replace some time and name placeholders in the default values * @var $field helper_plugin_bureaucracy_field */ foreach ($data['fields'] as &$field) { if (isset($field->opt['value'])) { $field->opt['value'] = $this->replace($field->opt['value']); } } if ($data['labels']) { $this->loadlabels($data); } $this->form_id++; if (isset($_POST['bureaucracy']) && checkSecurityToken() && $_POST['bureaucracy']['$$id'] == $this->form_id) { $success = $this->_handlepost($data); if ($success !== false) { //$R->doc .= '<div class="bureaucracy__plugin" id="scroll__here">' . $success . '</div>'; $split = strpos($success, "<div"); $R->doc = '<div class="bureaucracy__plugin" id="scroll__here">' . $R->render_text(substr($success, 0, $split)) . '</div>' . substr($success, $split); return true; } } $R->doc .= $this->_htmlform($data['fields']); return true; }
/** * Render xhtml output or metadata * * @param string $mode Renderer mode (supported modes: xhtml) * @param Doku_Renderer $renderer The renderer * @param array $data The data from the handler() function * @return bool If rendering was successful. */ public function render($mode, Doku_Renderer &$renderer, $data) { // $data is what the function handle() return'ed. if ($mode == 'xhtml') { /** @var Doku_Renderer_xhtml $renderer */ list($state, $match) = $data; switch ($state) { case DOKU_LEXER_ENTER: $renderer->doc .= "<div {$match}>"; break; case DOKU_LEXER_UNMATCHED: $renderer->doc .= $renderer->render_text($match); break; case DOKU_LEXER_EXIT: $renderer->doc .= "</div>"; break; } return true; } return false; }