function render($mode, Doku_Renderer $renderer, $data) { $renderer->monospace_open(); $renderer->cdata(substr($data[0], 5, -5)); $renderer->monospace_close(); return true; }
/** * Create output */ function render($mode, Doku_Renderer $renderer, $indata) { if($mode == 'xhtml'){ /** @var Doku_Renderer_xhtml $renderer */ $renderer->finishSectionEdit(); return true; } return false; }
/** * Handles the actual output creation. * * @param string $mode output format being rendered * @param Doku_Renderer $renderer the current renderer object * @param array $data data created by handler() * @return boolean rendered correctly? (however, returned value is not used at the moment) */ public function render($mode, Doku_Renderer $renderer, $data) { if ($mode == 'xhtml') { $renderer->internallink($data['link'], $data['title']); return true; } return false; }
function testNonexisting() { $Renderer = new Doku_Renderer(); $Renderer->interwiki = getInterwiki(); $shortcut = 'nonexisting'; $reference = 'foo @+%/'; $url = $Renderer->_resolveInterWiki($shortcut, $reference); $expected = 'https://www.google.com/search?q=foo%20%40%2B%25%2F&btnI=lucky'; $this->assertEquals($expected, $url); }
/** * Finishes the last open section edit */ function render($mode, Doku_Renderer $renderer, $data) { if ($mode == 'xhtml') { /** @var Doku_Renderer_xhtml $renderer */ list($endpos) = $data; $renderer->finishSectionEdit($endpos); return true; } return false; }
/** * Renders an include edit button * * @author Michael Klier <*****@*****.**> */ function render($mode, Doku_Renderer &$renderer, $data) { list($title) = $data; if ($mode == 'xhtml') { $renderer->startSectionEdit(0, 'plugin_include_editbtn', $title); $renderer->finishSectionEdit(); return true; } return false; }
/** * Output the stored data * * @param string|int $value the value stored in the database * @param \Doku_Renderer $R the renderer currently used to render the data * @param string $mode The mode the output is rendered in (eg. XHTML) * @return bool true if $mode could be satisfied */ public function renderValue($value, \Doku_Renderer $R, $mode) { $date = date_create($value); if ($date !== false) { $out = date_format($date, $this->config['format']); } else { $out = ''; } $R->cdata($out); return true; }
/** * @param string $value the user to display * @param \Doku_Renderer $R * @param string $mode * @return bool */ public function renderValue($value, \Doku_Renderer $R, $mode) { if ($mode == 'xhtml') { $name = userlink($value); $R->doc .= $name; } else { $name = userlink($value, true); $R->cdata($name); } return true; }
/** * @param int|string $value * @param \Doku_Renderer $R * @param string $mode * @return bool */ public function renderValue($value, \Doku_Renderer $R, $mode) { $context = $this->getContext(); $filter = SearchConfigParameters::$PARAM_FILTER . '[' . $context->getTable() . '.' . $context->getLabel() . '*~]=' . $value; $page = trim($this->config['page']); if (!$page) { $page = cleanID($context->getLabel()); } $R->internallink($page . '?' . $filter, $value); return true; }
function render($mode, Doku_Renderer $renderer, $data) { if ($data[0] == DOKU_LEXER_ENTER) { $renderer->strong_open(); } elseif ($data[0] == DOKU_LEXER_EXIT) { $renderer->strong_close(); } else { $renderer->cdata($data[1]); } return true; }
/** * Create output */ function render($format, Doku_Renderer $renderer, $data) { if ($format != 'xhtml') { return false; } // disable caching $renderer->nocache(); /** @var helper_plugin_translation $hlp */ $hlp = plugin_load('helper', 'translation'); $renderer->doc .= $hlp->showTranslations(); return true; }
function render($mode, Doku_Renderer $renderer, $data) { if ($data[0] == DOKU_LEXER_ENTER) { $renderer->emphasis_open(); } elseif ($data[0] == DOKU_LEXER_EXIT) { $renderer->emphasis_close(); } elseif ($data[0] == DOKU_LEXER_UNMATCHED) { $renderer->cdata($data[1]); } elseif ($data[0] == DOKU_LEXER_SPECIAL) { $renderer->cdata($data[1]); } return true; }
/** * Output the stored data * * @param string $value the value stored in the database - JSON when titles are used * @param \Doku_Renderer $R the renderer currently used to render the data * @param string $mode The mode the output is rendered in (eg. XHTML) * @return bool true if $mode could be satisfied */ public function renderValue($value, \Doku_Renderer $R, $mode) { if ($this->config['usetitles']) { list($id, $title) = json_decode($value); } else { $id = $value; $title = null; } if (!$id) { return true; } $R->internallink(":{$id}", $title); return true; }
/** * Output the stored data * * @param string|int $value the value stored in the database * @param \Doku_Renderer $R the renderer currently used to render the data * @param string $mode The mode the output is rendered in (eg. XHTML) * @return bool true if $mode could be satisfied */ public function renderValue($value, \Doku_Renderer $R, $mode) { if ($this->config['roundto'] == -1) { $value = $this->formatWithoutRounding($value, $this->config['decpoint'], $this->config['thousands']); } else { $value = floatval($value); $value = number_format($value, $this->config['roundto'], $this->config['decpoint'], $this->config['thousands']); } if ($this->config['trimzeros'] && strpos($value, $this->config['decpoint']) !== false) { $value = rtrim($value, '0'); $value = rtrim($value, $this->config['decpoint']); } $R->cdata($this->config['prefix'] . $value . $this->config['postfix']); 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, &$renderer, $data) { if ($mode == 'xhtml') { try { preg_match('/<sequencediagram>(.*?)<\\/sequencediagram>/s', $data[0], $erg); $src = $renderer->_xmlEntities($erg[1]); $text = "<div class=\"diagram\" style=\"overflow: auto;margin: 0 auto;text-align: center;\">{$src}</div>"; $renderer->doc .= $text; } catch (Exception $e) { $renderer->doc .= "<pre>" . htmlentities($text) . "\n" . $e . "</pre>"; } return true; } return false; }
/** * Create output */ public function render($format, Doku_Renderer $renderer, $indata) { if (empty($indata)) { return false; } list($state, $data) = $indata; if ($format != 'xhtml') { return false; } switch ($state) { case DOKU_LEXER_ENTER: list($class, $title) = $data; if ($title) { //$html = '<div class="plugin_codeprettify">'.hsc($title).'</div>'; $html = p_render($format, p_get_instructions($title), $info); $html = '<div class="plugin_codeprettify">' . $html . '</div>'; $renderer->doc .= $html; } $class = implode(' ', $class); $renderer->doc .= '<pre class="' . $class . '">'; break; case DOKU_LEXER_UNMATCHED: $renderer->doc .= $renderer->_xmlEntities($data); break; case DOKU_LEXER_EXIT: $renderer->doc .= '</pre>'; break; } return true; }
function plugin($name, $data, $state = '', $match = '') { // filter syntax plugins that are not our own syntax plugin if ($name == 'icalevents') { return parent::plugin($name, $data, $state, $match); } }
/** * Create output */ function render($format, Doku_Renderer $R, $data) { global $conf; if ($format != 'xhtml') { return false; } //prepare for formating $link['target'] = $conf['target']['extern']; $link['style'] = ''; $link['pre'] = ''; $link['suf'] = ''; $link['more'] = ''; $link['class'] = 'xref_plugin'; $link['name'] = hsc($data[2]); if (!$data[1]) { $link['url'] = $this->web; $link['title'] = $this->getLang('unknown'); $link['class'] .= ' xref_plugin_err'; } else { $link['url'] = $this->web . '/' . $data[1] . hsc($data[3]); $link['title'] = sprintf($this->getLang('view'), hsc($data[0])); } $R->doc .= $R->_formatLink($link); return true; }
function render($mode, Doku_Renderer &$renderer, $data) { list($page) = $data; if ($mode == 'xhtml') { $renderer->doc .= DOKU_LF . '<p class="include_readmore">' . DOKU_LF; } else { $renderer->p_open(); } $renderer->internallink($page, $this->getLang('readmore')); if ($mode == 'xhtml') { $renderer->doc .= DOKU_LF . '</p>' . DOKU_LF; } else { $renderer->p_close(); } return true; }
/** * Create output */ function render($mode, Doku_Renderer $renderer, $data) { if ($mode == 'xhtml') { list($state, $match) = $data; switch ($state) { case DOKU_LEXER_ENTER: list($style, $face) = $match; if (isset($face)) { list($face, $fg, $bg) = explode(';;', $face); if (isset($fg)) { $color = " color: {$fg}; "; $style .= $color; } if (isset($bg)) { $color = " background-color: {$bg} "; $style .= $color; } } $style = "font-family: {$face}; {$style}"; $renderer->doc .= "<span style='{$style}'>"; break; case DOKU_LEXER_UNMATCHED: $renderer->doc .= $renderer->_xmlEntities($match); break; case DOKU_LEXER_EXIT: $renderer->doc .= "</span>"; break; } return true; } return false; }
/** * Create output */ function render($format, Doku_Renderer $R, $data) { if ($format != 'xhtml') { return false; } $user = strip_tags(editorinfo($data['user'])); if ($data['valid']) { $msg = sprintf($this->getLang('valid'), $user); $R->doc .= '<span class="sig_valid" title="' . $msg . '">'; } else { $msg = sprintf($this->getLang('invalid'), $user); $R->doc .= '<span class="sig_invalid" title="' . $msg . '">'; } $R->cdata($data['text']); $R->doc .= '</span>'; return true; }
/** * Displays a local link to an included page * * @author Michael Hamann <*****@*****.**> */ function render($mode, Doku_Renderer &$renderer, $data) { global $ID; if ($mode == 'xhtml') { /** @var Doku_Renderer_xhtml $renderer */ list($hash, $name, $id) = $data; // construct title in the same way it would be done for internal links $default = $renderer->_simpleTitle($id); $name = $renderer->_getLinkTitle($name, $default, $isImage, $id); $title = $ID . ' ↵'; $renderer->doc .= '<a href="#' . $hash . '" title="' . $title . '" class="wikilink1">'; $renderer->doc .= $name; $renderer->doc .= '</a>'; return true; } return false; }
/** * Render schema data * * Currently completely renderer agnostic * * @todo we currently have no schema headlines * * @param string $mode Renderer mode * @param Doku_Renderer $R The renderer * @param array $data The data from the handler() function * @return bool If rendering was successful. */ public function render($mode, Doku_Renderer $R, $data) { global $ID; global $INFO; global $REV; if ($ID != $INFO['id']) { return true; } if (!$INFO['exists']) { return true; } if ($this->hasBeenRendered) { return true; } // do not render the output twice on the same page, e.g. when another page has been included $this->hasBeenRendered = true; $assignments = new Assignments(); $tables = $assignments->getPageAssignments($ID); if (!$tables) { return true; } if ($mode == 'xhtml') { $R->doc .= '<div id="plugin__struct_output">'; } foreach ($tables as $table) { $schemadata = AccessTable::byTableName($table, $ID, $REV); $schemadata->optionSkipEmpty(true); $data = $schemadata->getData(); if (!count($data)) { continue; } $R->table_open(); $R->tablethead_open(); $R->tablerow_open(); $R->tableheader_open(2); $R->cdata($table); $R->tableheader_close(); $R->tablerow_close(); $R->tablethead_open(); $R->tabletbody_open(); foreach ($data as $field) { $R->tablerow_open(); $R->tableheader_open(); $R->cdata($field->getColumn()->getTranslatedLabel()); $R->tableheader_close(); $R->tablecell_open(); $field->render($R, $mode); $R->tablecell_close(); $R->tablerow_close(); } $R->tabletbody_close(); $R->table_close(); } if ($mode == 'xhtml') { $R->doc .= '</div>'; } return true; }
function render($mode, Doku_Renderer $R, $data) { global $auth; global $conf; extract($data); if ($mode != 'xhtml' || is_null($auth)) { $R->cdata($title ? $title : $login); return true; } // fetch userinfo $uinfo = $auth->getUserData($login); // nothing found? render as text if (!$uinfo) { $R->cdata($title ? $title : $login); return true; } if (!$title) { if ($this->getConf('usefullname')) { $title = $uinfo['name']; } else { $title = $login; } } if (!$title) { $title = $login; } if ($uinfo['avatar'] && $uinfo['avatar'] != 'gravatar') { $img = $this->getConf('avatarurl') . $uinfo['avatar']; } else { $img = $this->getConf('gravatar') . md5($uinfo['mail']); } $R->doc .= '<a href="' . $this->getConf('profileurl') . $uinfo['uid'] . '" class="unblink_plugin">'; $R->doc .= hsc($title); $R->doc .= '<span class="unblink_popup" title="Visit Profile">'; $R->doc .= '<img src="' . hsc($img) . '" class="medialeft" width="64" height="64" alt="" />'; $R->doc .= '<b>' . hsc($uinfo['name']) . '</b><br />'; if ($uinfo['name'] != $login) { $R->doc .= '<i>' . hsc($login) . '</i><br />'; } $R->doc .= '<br />'; $R->doc .= hsc($uinfo['location']); $R->doc .= '</span>'; $R->doc .= '</a>'; return true; }
/** * 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. * * @param $mode string output format being rendered * @param $renderer Doku_Renderer reference to the current renderer object * @param $indata array data created by handler() * @return boolean rendered correctly? */ function render($mode, Doku_Renderer $renderer, $indata) { global $ID; list($text, $level) = $indata; if ($mode == 'xhtml') { /** @var $renderer Doku_Renderer_xhtml */ $hid = $renderer->_headerToLink($text, true); //only add items within configured levels $renderer->toc_additem($hid, $text, $level); // write the header $renderer->doc .= DOKU_LF . '<h' . $level . '><a name="' . $hid . '" id="' . $hid . '" href="' . wl($ID) . '">'; $renderer->doc .= $renderer->_xmlEntities($text); $renderer->doc .= "</a></h{$level}>" . DOKU_LF; return true; } // unsupported $mode return false; }
/** * Create output * * @param string $format 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. */ function render($format, Doku_Renderer $renderer, $data) { if ($format == 'metadata') { return false; } if ($data[0] != DOKU_LEXER_SPECIAL) { return false; } $hlp = plugin_load('helper', 'rating'); $list = $hlp->best($data[1]['lang'], $data[1]['startdate'], 20); if ($data[1]['tag'] == 'ol') { $renderer->listo_open(); } else { $renderer->listu_open(); } $num_items = 0; foreach ($list as $item) { if (auth_aclcheck($item['page'], '', null) < AUTH_READ) { continue; } if (!page_exists($item['page'])) { continue; } $num_items = $num_items + 1; $renderer->listitem_open(1); if (strpos($item['page'], ':') === false) { $item['page'] = ':' . $item['page']; } $renderer->internallink($item['page']); if ($data[1]['score'] === 'true') { $renderer->cdata(' (' . $item['val'] . ')'); } $renderer->listitem_close(); if ($num_items >= 10) { break; } } if ($data[1]['tag'] == 'ol') { $renderer->listo_close(); } else { $renderer->listu_close(); } return true; }
function render($mode, Doku_Renderer $renderer, $data) { if ($mode == 'xhtml') { list($state, $match) = $data; switch ($state) { case DOKU_LEXER_SPECIAL: $renderer->doc .= $match; break; case DOKU_LEXER_UNMATCHED: $renderer->doc .= $renderer->_xmlEntities($match); break; case DOKU_LEXER_EXIT: $renderer->doc .= ""; break; } return true; } return false; }
function render($mode, Doku_Renderer $renderer, $data) { global $ID; preg_match('/^\\!\\[(' . $this->nested_brackets_re . ')\\][ ]?(?:\\n[ ]*)?\\[(.*?)\\]$/', $data[1], $matches); $title = $matches[1]; if ($matches[2] == '') { $rid = $matches[1]; } else { $rid = $matches[2]; } $rid = preg_replace("/ /", ".", $rid); $target = p_get_metadata($ID, 'markdowku_references_' . $rid, METADATA_RENDER_USING_CACHE); if ($target == '') { $renderer->cdata($data[1]); } else { $renderer->_media($target, $title); } return true; }
/** * Create output */ public function render($mode, Doku_Renderer $renderer, $state) { // $data is what the function handle() return'ed. if ($mode == 'xhtml') { /** @var Doku_Renderer_xhtml $renderer */ switch ($state) { case DOKU_LEXER_ENTER: $renderer->doc .= '<div class="alphalist2">'; break; case DOKU_LEXER_UNMATCHED: $renderer->doc .= $renderer->_xmlEntities($match); break; case DOKU_LEXER_EXIT: $renderer->doc .= "</div>"; break; } return true; } return false; }
/** * Create output */ function render($mode, Doku_Renderer $renderer, $data) { if ($mode == 'xthml') { return true; // don't output anything } elseif ($mode == 'metadata') { /** @var Doku_Renderer_metadata $renderer */ // do some validation / conversion for date metadata if (isset($data['date'])) { if (is_array($data['date'])) { foreach ($data['date'] as $key => $date) { $date = $this->_convertDate(trim($date)); if (!$date) { unset($data['date'][$key]); } else { $data['date'][$key] = $date; } } } else { unset($data['date']); } } // now merge the arrays $protected = array('description', 'date', 'contributor'); foreach ($data as $key => $value) { // be careful with sub-arrays of $meta['relation'] if ($key == 'relation') { foreach ($value as $subkey => $subvalue) { if ($subkey == 'media') { $renderer->meta[$key][$subkey][cleanID($subvalue)] = @file_exists(mediaFN($subvalue)); } elseif ($subkey == 'firstimage') { /* The metadata renderer overrides the first image value with its internal value at the end. Therefore the only thing we can do is setting this internal value by calling _firstimage. This fails if there has already been a first image saved. */ $renderer->_firstimage($subvalue); } else { // for everything else assume that we have a page id $renderer->meta[$key][$subkey][cleanID($subvalue)] = page_exists($subvalue); } } // be careful with some senisitive arrays of $meta } elseif (in_array($key, $protected)) { if (array_key_exists($key, $renderer->meta)) { $renderer->meta[$key] = array_merge($renderer->meta[$key], $value); } else { $renderer->meta[$key] = $value; } // no special treatment for the rest } else { $renderer->meta[$key] = $value; } } } }