From 47e0f0c34df68c54765d4aaf64deab3db515a78f Mon Sep 17 00:00:00 2001 From: Geoffrey Mon Date: Mon, 13 Jul 2015 12:35:11 -0400 Subject: [PATCH] Normalize message name in Allmessages * Normalize the message name returned by allmessages * Separate message key normalization into MessageCache::normalizeKey() Bug: T63894 Change-Id: I1d89fc73fea705243d390bab91255a635d8f9eee --- includes/api/ApiQueryAllMessages.php | 6 +++++- includes/cache/MessageCache.php | 24 ++++++++++++++++++------ 2 files changed, 23 insertions(+), 7 deletions(-) diff --git a/includes/api/ApiQueryAllMessages.php b/includes/api/ApiQueryAllMessages.php index cc884ec480..152711f835 100644 --- a/includes/api/ApiQueryAllMessages.php +++ b/includes/api/ApiQueryAllMessages.php @@ -136,7 +136,11 @@ class ApiQueryAllMessages extends ApiQueryBase { } if ( !$skip ) { - $a = array( 'name' => $message ); + $a = array( + 'name' => $message, + 'normalizedname' => MessageCache::normalizeKey( $message ), + ); + $args = array(); if ( isset( $params['args'] ) && count( $params['args'] ) != 0 ) { $args = $params['args']; diff --git a/includes/cache/MessageCache.php b/includes/cache/MessageCache.php index 585fcd32c7..f63e0fb783 100644 --- a/includes/cache/MessageCache.php +++ b/includes/cache/MessageCache.php @@ -130,6 +130,23 @@ class MessageCache { self::$instance = null; } + /** + * Normalize message key input + * + * @param string $key Input message key to be normalized + * @return string Normalized message key + */ + public static function normalizeKey( $key ) { + $lckey = strtr( $key, ' ', '_' ); + if ( ord( $lckey ) < 128 ) { + $lckey[0] = strtolower( $lckey[0] ); + } else { + $lckey = $wgContLang->lcfirst( $lckey ); + } + + return $lckey; + } + /** * @param BagOStuff $memCached A cache instance. If none, fall back to CACHE_NONE. * @param bool $useDB @@ -784,12 +801,7 @@ class MessageCache { } // Normalise title-case input (with some inlining) - $lckey = strtr( $key, ' ', '_' ); - if ( ord( $lckey ) < 128 ) { - $lckey[0] = strtolower( $lckey[0] ); - } else { - $lckey = $wgContLang->lcfirst( $lckey ); - } + $lckey = MessageCache::normalizeKey( $key ); Hooks::run( 'MessageCache::get', array( &$lckey ) ); -- 2.20.1