includes/wikiengine/Parse/Mediawiki/Freelink.php
changeset 1027 98c052fc3337
parent 1026 f0431eb8161e
child 1028 dde4416dea00
--- a/includes/wikiengine/Parse/Mediawiki/Freelink.php	Sun Jun 21 00:16:21 2009 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,127 +0,0 @@
-<?php
-
-/**
-* 
-* Parses for wiki freelink text.
-* 
-* @category Text
-* 
-* @package Text_Wiki
-* 
-* @author Paul M. Jones <pmjones@php.net>
-* 
-* @license LGPL
-* 
-* @version $Id: Freelink.php,v 1.4 2005/10/19 23:43:53 toggg Exp $
-* 
-*/
-
-/**
-* 
-* Parses for freelinked page links.
-* 
-* This class implements a Text_Wiki_Parse to find source text marked as a
-* wiki freelink, and automatically create a link to that page.
-* 
-* A freelink is any page name not conforming to the standard
-* StudlyCapsStyle for a wiki page name.  For example, a page normally
-* named MyHomePage can be renamed and referred to as ((My Home Page)) --
-* note the spaces in the page name.  You can also make a "nice-looking"
-* link without renaming the target page; e.g., ((MyHomePage|My Home
-* Page)).  Finally, you can use named anchors on the target page:
-* ((MyHomePage|My Home Page#Section1)).
-*
-* @category Text
-* 
-* @package Text_Wiki
-* 
-* @author Paul M. Jones <pmjones@php.net>
-* 
-*/
-
-class Text_Wiki_Parse_Freelink extends Text_Wiki_Parse {
-    
-    
-    /**
-    * 
-    * Constructor.  We override the Text_Wiki_Parse constructor so we can
-    * explicitly comment each part of the $regex property.
-    * 
-    * @access public
-    * 
-    * @param object &$obj The calling "parent" Text_Wiki object.
-    * 
-    */
-    
-    function Text_Wiki_Parse_Freelink(&$obj)
-    {
-        parent::Text_Wiki_Parse($obj);
-        
-        $this->regex =
-            '/' .                                                   // START regex
-            "\\(\\(" .                                               // double open-parens
-            "(" .                                                   // START freelink page patter
-            "[-A-Za-z0-9 _+\\/.,;:!?'\"\\[\\]\\{\\}&\xc0-\xff]+" . // 1 or more of just about any character
-            ")" .                                                   // END  freelink page pattern
-            "(" .                                                   // START display-name
-            "\|" .                                                   // a pipe to start the display name
-            "[-A-Za-z0-9 _+\\/.,;:!?'\"\\[\\]\\{\\}&\xc0-\xff]+" . // 1 or more of just about any character
-            ")?" .                                                   // END display-name pattern 0 or 1
-            "(" .                                                   // START pattern for named anchors
-            "\#" .                                                   // a hash mark
-            "[A-Za-z]" .                                           // 1 alpha
-            "[-A-Za-z0-9_:.]*" .                                   // 0 or more alpha, digit, underscore
-            ")?" .                                                   // END named anchors pattern 0 or 1
-            "()\\)\\)" .                                           // double close-parens
-            '/';                                                   // END regex
-    }
-    
-    
-    /**
-    * 
-    * Generates a replacement for the matched text.  Token options are:
-    * 
-    * 'page' => the wiki page name (e.g., HomePage).
-    * 
-    * 'text' => alternative text to be displayed in place of the wiki
-    * page name.
-    * 
-    * 'anchor' => a named anchor on the target wiki page
-    * 
-    * @access public
-    *
-    * @param array &$matches The array of matches from parse().
-    *
-    * @return A delimited token to be used as a placeholder in
-    * the source text, plus any text priot to the match.
-    *
-    */
-    
-    function process(&$matches)
-    {
-        // use nice variable names
-        $page = $matches[1];
-        $text = $matches[2];
-        $anchor = $matches[3];
-        
-        // is the page given a new text appearance?
-        if (trim($text) == '') {
-            // no
-            $text = $page;
-        } else {
-            // yes, strip the leading | character
-            $text = substr($text, 1);
-        }
-        
-        // set the options
-        $options = array(
-            'page'   => $page,
-            'text'   => $text,
-            'anchor' => $anchor
-        );
-        
-        // return a token placeholder
-        return $this->wiki->addToken($this->rule, $options);
-    }
-}
-?>