includes/wikiengine/Render/Xhtml/Colortext.php
changeset 1 fe660c52c48f
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/includes/wikiengine/Render/Xhtml/Colortext.php	Wed Jun 13 16:07:17 2007 -0400
@@ -0,0 +1,79 @@
+<?php
+// vim: set expandtab tabstop=4 shiftwidth=4 softtabstop=4:
+/**
+ * Colortext rule end renderer for Xhtml
+ *
+ * PHP versions 4 and 5
+ *
+ * @category   Text
+ * @package    Text_Wiki
+ * @author     Paul M. Jones <pmjones@php.net>
+ * @license    http://www.gnu.org/copyleft/lesser.html  LGPL License 2.1
+ * @version    CVS: $Id: Colortext.php,v 1.6 2005/07/30 08:03:28 toggg Exp $
+ * @link       http://pear.php.net/package/Text_Wiki
+ */
+
+/**
+ * This class renders colored text in XHTML.
+ *
+ * @category   Text
+ * @package    Text_Wiki
+ * @author     Paul M. Jones <pmjones@php.net>
+ * @license    http://www.gnu.org/copyleft/lesser.html  LGPL License 2.1
+ * @version    Release: @package_version@
+ * @link       http://pear.php.net/package/Text_Wiki
+ */
+class Text_Wiki_Render_Xhtml_Colortext extends Text_Wiki_Render {
+
+    var $colors = array(
+        'aqua',
+        'black',
+        'blue',
+        'fuchsia',
+        'gray',
+        'green',
+        'lime',
+        'maroon',
+        'navy',
+        'olive',
+        'purple',
+        'red',
+        'silver',
+        'teal',
+        'white',
+        'yellow'
+    );
+
+
+    /**
+    *
+    * Renders a token into text matching the requested format.
+    *
+    * @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)
+    {
+        $type = $options['type'];
+        $color = $options['color'];
+
+        if (! in_array($color, $this->colors) && $color{0} != '#') {
+            $color = '#' . $color;
+        }
+
+        if ($type == 'start') {
+            return "<span style=\"color: $color;\">";
+        }
+
+        if ($options['type'] == 'end') {
+            return '</span>';
+        }
+    }
+}
+?>