diff -r 902822492a68 -r fe660c52c48f includes/wikiengine/Parse/Mediawiki/Code.php
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/includes/wikiengine/Parse/Mediawiki/Code.php Wed Jun 13 16:07:17 2007 -0400
@@ -0,0 +1,99 @@
+
+*
+* @license LGPL
+*
+* @version $Id: Code.php,v 1.10 2006/02/21 14:33:53 toggg Exp $
+*
+*/
+
+/**
+*
+* Parses for text marked as a code example block.
+*
+* This class implements a Text_Wiki_Parse to find sections marked as code
+* examples. Blocks are marked as the string on a line by itself,
+* followed by the inline code example, and terminated with the string
+*
on a line by itself. The code example is run through the
+* native PHP highlight_string() function to colorize it, then surrounded
+* with
...tags when rendered as XHTML. +* +* @category Text +* +* @package Text_Wiki +* +* @author Paul M. Jones
)\n(.+)\n(\<\/code\>)(\s|$)/Umsi';*/
+ var $regex = ';^]*)?>((?:(?R)|.)*?)\n
(\s|$);msi';
+
+ /**
+ *
+ * Generates a token entry for the matched text. Token options are:
+ *
+ * 'text' => The full matched text, not including the
tags.
+ *
+ * @access public
+ *
+ * @param array &$matches The array of matches from parse().
+ *
+ * @return A delimited token number to be used as a placeholder in
+ * the source text.
+ *
+ */
+
+ function process(&$matches)
+ {
+ // are there additional attribute arguments?
+ $args = trim($matches[1]);
+
+ if ($args == '') {
+ $options = array(
+ 'text' => $matches[2],
+ 'attr' => array('type' => '')
+ );
+ } else {
+ // get the attributes...
+ $attr = $this->getAttrs($args);
+
+ // ... and make sure we have a 'type'
+ if (! isset($attr['type'])) {
+ $attr['type'] = '';
+ }
+
+ // retain the options
+ $options = array(
+ 'text' => $matches[2],
+ 'attr' => $attr
+ );
+ }
+
+ return $this->wiki->addToken($this->rule, $options) . $matches[3];
+ }
+}
+?>