summaryrefslogtreecommitdiff
path: root/includes/pear/Text/Wiki/Render/Creole/Wikilink.php
diff options
context:
space:
mode:
Diffstat (limited to 'includes/pear/Text/Wiki/Render/Creole/Wikilink.php')
-rw-r--r--includes/pear/Text/Wiki/Render/Creole/Wikilink.php43
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