From c6df967e03a09d5c81473e80fe808e2ebb53ec55 Mon Sep 17 00:00:00 2001 From: Alex Monk Date: Fri, 25 Mar 2016 04:17:47 +0000 Subject: [PATCH] RightsLogFormatter: Use DB key to generate foreign user link getText returns a version of the title with spaces instead of underscores, which confuses WikiMap Also show underscore in text displayed to user Bug: T130835 Change-Id: I192e28062590e4602127f895b88328b52018b468 --- includes/logging/RightsLogFormatter.php | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/includes/logging/RightsLogFormatter.php b/includes/logging/RightsLogFormatter.php index b9dfb6c044..1fd4b7f364 100644 --- a/includes/logging/RightsLogFormatter.php +++ b/includes/logging/RightsLogFormatter.php @@ -33,12 +33,19 @@ class RightsLogFormatter extends LogFormatter { global $wgContLang, $wgUserrightsInterwikiDelimiter; if ( !$this->plaintext ) { - $text = $wgContLang->ucfirst( $title->getText() ); + $text = $wgContLang->ucfirst( $title->getDBkey() ); $parts = explode( $wgUserrightsInterwikiDelimiter, $text, 2 ); if ( count( $parts ) === 2 ) { - $titleLink = WikiMap::foreignUserLink( $parts[1], $parts[0], - htmlspecialchars( $title->getText() ) ); + $titleLink = WikiMap::foreignUserLink( + $parts[1], + $parts[0], + htmlspecialchars( + strtr( $parts[0], '_', ' ' ) . + $wgUserrightsInterwikiDelimiter . + $parts[1] + ) + ); if ( $titleLink !== false ) { return $titleLink; -- 2.20.1