Ejemplo n.º 1
0
 /**
  * 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;
 }
Ejemplo n.º 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, &$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;
 }
Ejemplo n.º 3
0
 /**
  * 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;
 }
Ejemplo n.º 4
0
 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;
 }
 /**
  * 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;
 }
Ejemplo n.º 6
0
 /**
  * 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;
 }
Ejemplo n.º 7
0
 /**
  * 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;
 }
Ejemplo n.º 8
0
 /**
  * Renders a link.
  *
  * @param Doku_Renderer $renderer
  * @param string        $name
  * @param string        $url
  *
  * @return string
  *
  * @global array $conf
  */
 private function _renderLink(Doku_Renderer $renderer, $name, $url)
 {
     global $conf;
     $link = array('target' => $conf['target']['wiki'], 'style' => '', 'pre' => '', 'suf' => '', 'more' => '', 'class' => 'urlextern', 'url' => $url, 'name' => $name, 'title' => $renderer->_xmlEntities($name));
     return $renderer->_formatLink($link);
 }
Ejemplo n.º 9
0
 function render($mode, Doku_Renderer $renderer, $data)
 {
     if ($mode == 'xhtml') {
         list($state, $match) = $data;
         switch ($state) {
             case DOKU_LEXER_SPECIAL:
                 if ($match == '{[embedover_div]}') {
                     $renderer->doc .= "<iframe id='embedover_div' scrolling='no' marginwidth='0' marginheight='0' frameborder='0' vspace='0' hspace='0'></iframe>";
                 } else {
                     $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;
 }