diff -r f0431eb8161e -r 98c052fc3337 includes/wikiengine/Parse/Mediawiki/Interwiki.php --- a/includes/wikiengine/Parse/Mediawiki/Interwiki.php Sun Jun 21 00:16:21 2009 -0400 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,138 +0,0 @@ - -* -* @license LGPL -* -* @version $Id: Interwiki.php,v 1.4 2005/02/23 17:38:29 pmjones Exp $ -* -*/ - -/** -* -* Parses for interwiki links. -* -* This class implements a Text_Wiki_Parse to find source text marked as -* an Interwiki link. See the regex for a detailed explanation of the -* text matching procedure; e.g., "InterWikiName:PageName". -* -* @category Text -* -* @package Text_Wiki -* -* @author Paul M. Jones -* -*/ - -class Text_Wiki_Parse_Interwiki extends Text_Wiki_Parse { - - // double-colons wont trip up now - var $regex = '([A-Za-z0-9_]+):((?!:)[A-Za-z0-9_\/=&~#.:;-]+)'; - - - /** - * - * Parser. We override the standard parser so we can - * find both described interwiki links and standalone links. - * - * @access public - * - * @return void - * - */ - - function parse() - { - // described interwiki links - $tmp_regex = '/\[' . $this->regex . ' (.+?)\]/'; - $this->wiki->source = preg_replace_callback( - $tmp_regex, - array(&$this, 'processDescr'), - $this->wiki->source - ); - - // standalone interwiki links - $tmp_regex = '/' . $this->regex . '/'; - $this->wiki->source = preg_replace_callback( - $tmp_regex, - array(&$this, 'process'), - $this->wiki->source - ); - - } - - - /** - * - * Generates a replacement for the matched standalone interwiki text. - * Token options are: - * - * 'site' => The key name for the Text_Wiki interwiki array map, - * usually the name of the interwiki site. - * - * 'page' => The page on the target interwiki to link to. - * - * 'text' => The text to display as the link. - * - * @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) - { - $options = array( - 'site' => $matches[1], - 'page' => $matches[2], - 'text' => $matches[0] - ); - - return $this->wiki->addToken($this->rule, $options); - } - - - /** - * - * Generates a replacement for described interwiki links. Token - * options are: - * - * 'site' => The key name for the Text_Wiki interwiki array map, - * usually the name of the interwiki site. - * - * 'page' => The page on the target interwiki to link to. - * - * 'text' => The text to display as the link. - * - * @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 processDescr(&$matches) - { - $options = array( - 'site' => $matches[1], - 'page' => $matches[2], - 'text' => $matches[3] - ); - - return $this->wiki->addToken($this->rule, $options); - } -} -?> \ No newline at end of file