* (bug 15053) Syntactically incorrect redirects with another link in them no longer...
authorRoan Kattouw <catrope@users.mediawiki.org>
Wed, 6 Aug 2008 20:33:45 +0000 (20:33 +0000)
committerRoan Kattouw <catrope@users.mediawiki.org>
Wed, 6 Aug 2008 20:33:45 +0000 (20:33 +0000)
RELEASE-NOTES
includes/Title.php

index 962312c..94c0536 100644 (file)
@@ -60,6 +60,8 @@ it from source control: http://www.mediawiki.org/wiki/Download_from_SVN
 * (bug 14972) Use localized alias of Special:Search on all search forms
 * (bug 11035) Special:Search should have descriptive <title>
 * Special pages are now not subject to special handling for "self-links"
+* (bug 15053) Syntactically incorrect redirects with another link in them
+  no longer redirect to the second link 
 
 === API changes in 1.14 ===
 
index 55d8461..e3124d5 100644 (file)
@@ -296,10 +296,12 @@ class Title {
         */
        public static function newFromRedirect( $text ) {
                $redir = MagicWord::get( 'redirect' );
-               if( $redir->matchStart( trim($text) ) ) {
+               $text = trim($text);
+               if( $redir->matchStartAndRemove( $text ) ) {
                        // Extract the first link and see if it's usable
+                       // Ensure that it really does come directly after #REDIRECT
                        $m = array();
-                       if( preg_match( '!\[{2}(.*?)(?:\|.*?)?\]{2}!', $text, $m ) ) {
+                       if( preg_match( '!^\s*\[{2}(.*?)(?:\|.*?)?\]{2}!', $text, $m ) ) {
                                // Strip preceding colon used to "escape" categories, etc.
                                // and URL-decode links
                                if( strpos( $m[1], '%' ) !== false ) {