* Truncate summary of page moves in revision comment field to avoid broken multibyte...
authorRaimond Spekking <raymond@users.mediawiki.org>
Fri, 12 Feb 2010 21:45:14 +0000 (21:45 +0000)
committerRaimond Spekking <raymond@users.mediawiki.org>
Fri, 12 Feb 2010 21:45:14 +0000 (21:45 +0000)
Example: http://de.wikipedia.org/w/index.php?title=Benutzer_Diskussion:Meister_Eiskalt/Babel3&action=history

RELEASE-NOTES
includes/Title.php

index c5ee8ca..7151053 100644 (file)
@@ -758,6 +758,8 @@ comment from another wiki.
 * (bug 8785)  Pipe trick should work with colon functions 
 * (bug 4099)  Pipe trick doesn't work when emptiness is only provided by empty
   template parameter
+* Truncate summary of page moves in revision comment field to avoid broken
+  multibyte characters
 
 == API changes in 1.16 ==
 
index 563bd9e..8d7275f 100644 (file)
@@ -2890,13 +2890,15 @@ class Title {
         *  Ignored if the user doesn't have the suppressredirect right
         */
        private function moveOverExistingRedirect( &$nt, $reason = '', $createRedirect = true ) {
-               global $wgUseSquid, $wgUser;
+               global $wgUseSquid, $wgUser, $wgContLang;
 
                $comment = wfMsgForContent( '1movedto2_redir', $this->getPrefixedText(), $nt->getPrefixedText() );
 
                if ( $reason ) {
                        $comment .= wfMsgForContent( 'colon-separator' ) . $reason;
                }
+               # Truncate for whole multibyte characters. +5 bytes for ellipsis
+               $comment = $wgContLang->truncate( $comment, 250 );
 
                $now = wfTimestampNow();
                $newid = $nt->getArticleID();
@@ -3004,7 +3006,7 @@ class Title {
         *  Ignored if the user doesn't have the suppressredirect right
         */
        private function moveToNewTitle( &$nt, $reason = '', $createRedirect = true ) {
-               global $wgUseSquid, $wgUser;
+               global $wgUseSquid, $wgUser, $wgContLang;
 
                $comment = wfMsgForContent( '1movedto2', $this->getPrefixedText(), $nt->getPrefixedText() );
                if ( $reason ) {
@@ -3012,6 +3014,8 @@ class Title {
                                array( 'escapenoentities', 'content' ) );
                        $comment .= $reason;
                }
+               # Truncate for whole multibyte characters. +5 bytes for ellipsis
+               $comment = $wgContLang->truncate( $comment, 250 );
 
                $newid = $nt->getArticleID();
                $oldid = $this->getArticleID();