/** * 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; }
/** * 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); } }
/** * 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(); } }