/**
  * Renders a permalink header.
  * 
  * Code heavily copied from the header renderer from inc/parser/xhtml.php, just
  * added an href parameter to the anchor tag linking to the wikilink.
  */
 function render($mode, Doku_Renderer $renderer, $data)
 {
     global $conf;
     list($headline, $lvl, $pos, $page, $sect, $flags) = $data;
     if ($mode == 'xhtml') {
         /** @var Doku_Renderer_xhtml $renderer */
         $hid = $renderer->_headerToLink($headline, true);
         $renderer->toc_additem($hid, $headline, $lvl);
         $url = $sect ? wl($page) . '#' . $sect : wl($page);
         $renderer->doc .= DOKU_LF . '<h' . $lvl;
         $classes = array();
         if ($flags['taglogos']) {
             $tag = $this->_get_firsttag($page);
             if ($tag) {
                 $classes[] = 'include_firsttag__' . $tag;
             }
         }
         // the include header instruction is always at the beginning of the first section edit inside the include
         // wrap so there is no need to close a previous section edit.
         if ($lvl <= $conf['maxseclevel']) {
             $classes[] = $renderer->startSectionEdit($pos, 'section', $headline);
         }
         if ($classes) {
             $renderer->doc .= ' class="' . implode(' ', $classes) . '"';
         }
         $headline = $renderer->_xmlEntities($headline);
         $renderer->doc .= ' id="' . $hid . '"><a href="' . $url . '" title="' . $headline . '">';
         $renderer->doc .= $headline;
         $renderer->doc .= '</a></h' . $lvl . '>' . DOKU_LF;
         return true;
     } else {
         $renderer->header($headline, $lvl, $pos);
     }
     return false;
 }
Exemple #2
0
 /**
  * Render the day header
  *
  * @param Doku_Renderer $R
  * @param int $date
  */
 protected function dayheader(&$R, $date)
 {
     if ($R->getFormat() == 'xhtml') {
         /* @var Doku_Renderer_xhtml $R  */
         $R->doc .= '<h3 class="changes">';
         $R->cdata(dformat($date, $this->getConf('dayheaderfmt')));
         $R->doc .= '</h3>';
     } else {
         $R->header(dformat($date, $this->getConf('dayheaderfmt')), 3, 0);
     }
 }
Exemple #3
0
 /**
  * Renders the data to the page
  * @param string        $mode     Name of the format mode
  * @param Doku_Renderer $renderer ref to the Doku_Renderer
  * @param array         $params   Parameter object returned by handle()
  * @return bool|void
  */
 public function render($mode, Doku_Renderer $renderer, $params)
 {
     $render_start_timestamp = microtime(true);
     // Print warnings or errors, if any
     if (array_key_exists("message", $params)) {
         $renderer->p_open();
         $renderer->strong_open();
         $renderer->unformatted($params["message"]);
         $renderer->strong_close();
         $renderer->p_close();
         return;
     }
     // Print page title
     if (array_key_exists("report_title", $params)) {
         $renderer->header($params["report_title"], 2, 0);
     }
     // Render report if recognized
     if ($params["report"] == "activity_by_user") {
         // Activity by user
         renderActivityByUserReport($mode, $renderer, $params);
     } else {
         if ($params["report"] == "activity_by_namespace") {
             // Activity by namespace
             renderActivityByNamespaceReport($mode, $renderer, $params);
         }
     }
     // Done (except for debug)
     $params["debug_render_elapsed_time"] = round(microtime(true) - $render_start_timestamp, 3);
     // Dump params if in debug mode
     if ($params["debug"] == "true") {
         $renderer->hr();
         $renderer->p_open();
         $renderer->emphasis_open();
         $renderer->unformatted("Debug: parameter dump");
         $renderer->emphasis_close();
         $renderer->p_close();
         $renderer->table_open();
         $renderer->tablerow_open();
         $renderer->tablecell_open();
         $renderer->strong_open();
         $renderer->unformatted("Key");
         $renderer->strong_close();
         $renderer->tablecell_close();
         $renderer->tablecell_open();
         $renderer->strong_open();
         $renderer->unformatted("Value");
         $renderer->strong_close();
         $renderer->tablecell_close();
         $renderer->tablerow_close();
         foreach ($params as $key => $value) {
             $renderer->tablerow_open();
             $renderer->tablecell_open();
             $renderer->unformatted($key);
             $renderer->tablecell_close();
             $renderer->tablecell_open();
             if (is_array($value)) {
                 // $renderer->unformatted("Array length " . count($value));
                 $renderer->unformatted(json_encode($value));
             } else {
                 $renderer->unformatted($value);
             }
             $renderer->tablecell_close();
             $renderer->tablerow_close();
         }
         $renderer->table_close();
     }
 }