/**
  * 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;
 }
Example #2
0
 /**
  * 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;
 }