diff options
Diffstat (limited to 'includes/pear/Text/Wiki/Render/Creole/Wikilink.php')
| -rw-r--r-- | includes/pear/Text/Wiki/Render/Creole/Wikilink.php | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/includes/pear/Text/Wiki/Render/Creole/Wikilink.php b/includes/pear/Text/Wiki/Render/Creole/Wikilink.php new file mode 100644 index 0000000..fe4fc37 --- /dev/null +++ b/includes/pear/Text/Wiki/Render/Creole/Wikilink.php @@ -0,0 +1,43 @@ +<?php + +class Text_Wiki_Render_Creole_Wikilink extends Text_Wiki_Render { + + /** + * + * Renders a token into XHTML. + * + * @access public + * + * @param array $options The "options" portion of the token (second + * element). + * + * @return string The text rendered from the token options. + * + */ + + function token($options) + { + $dup = (($options['page'] == $options['text']) || ($options['page'] == preg_replace('/\s+/', '_', $options['text']))); + + if ($options['type'] == 'start') { + if ($dup) return '[['; + else return '[['.$options['page']. + (strlen($options['anchor']) ? $options['anchor'] : ''). + (strlen($options['text']) && (strlen($options['page']) || strlen($options['anchor'])) ? '|' : ''); + } else if ($options['type'] == 'end') { + if ($dup && strlen($options['anchor'])) return $options['anchor'].']]'; + else return ']]'; + } else { + if ($dup) return '[['. + (strlen($options['text']) ? $options['text'] : ''). + (strlen($options['anchor']) ? $options['anchor'] : ''). + ']]'; + else return '[['.$options['page']. + (strlen($options['anchor']) ? $options['anchor'] : ''). + (strlen($options['text']) && strlen($options['page']) && strlen($options['anchor']) ? '|' : ''). + (strlen($options['text']) ? $options['text'] : ''). + ']]'; + } + } +} +?>
\ No newline at end of file |
