From b9b85843572bf283f48285001e276ba7e61b63f6 Mon Sep 17 00:00:00 2001 From: Pierre Schmitz Date: Sun, 22 Feb 2009 13:37:51 +0100 Subject: updated to MediaWiki 1.14.0 --- includes/parser/CoreLinkFunctions.php | 47 +++++++++++++++++++++++++++++++++++ 1 file changed, 47 insertions(+) create mode 100644 includes/parser/CoreLinkFunctions.php (limited to 'includes/parser/CoreLinkFunctions.php') diff --git a/includes/parser/CoreLinkFunctions.php b/includes/parser/CoreLinkFunctions.php new file mode 100644 index 00000000..d6d11880 --- /dev/null +++ b/includes/parser/CoreLinkFunctions.php @@ -0,0 +1,47 @@ +setLinkHook( NS_CATEGORY, array( __CLASS__, 'categoryLinkHook' ) ); + return true; + } + + static function defaultLinkHook( $parser, $holders, $markers, + Title $title, $titleText, &$displayText = null, &$leadingColon = false ) { + if( isset($displayText) && $markers->findMarker( $displayText ) ) { + # There are links inside of the displayText + # For backwards compatibility the deepest links are dominant so this + # link should not be handled + $displayText = $markers->expand($displayText); + # Return false so that this link is reverted back to WikiText + return false; + } + return $holders->makeHolder( $title, isset($displayText) ? $displayText : $titleText, '', '', '' ); + } + + static function categoryLinkHook( $parser, $holders, $markers, + Title $title, $titleText, &$sortText = null, &$leadingColon = false ) { + global $wgContLang; + # When a category link starts with a : treat it as a normal link + if( $leadingColon ) return true; + if( isset($sortText) && $markers->findMarker( $sortText ) ) { + # There are links inside of the sortText + # For backwards compatibility the deepest links are dominant so this + # link should not be handled + $sortText = $markers->expand($sortText); + # Return false so that this link is reverted back to WikiText + return false; + } + if( !isset($sortText) ) $sortText = $parser->getDefaultSort(); + $sortText = Sanitizer::decodeCharReferences( $sortText ); + $sortText = str_replace( "\n", '', $sortText ); + $sortText = $wgContLang->convertCategoryKey( $sortText ); + $parser->mOutput->addCategory( $title->getDBkey(), $sortText ); + return ''; + } + +} -- cgit v1.2.3-54-g00ecf