From 94367450a23485e5e55961b1b2eea1feecbff38c Mon Sep 17 00:00:00 2001 From: =?utf8?q?Niklas=20Laxstr=C3=B6m?= Date: Thu, 22 Sep 2011 14:04:08 +0000 Subject: [PATCH] Don't load all languages just to check whether message is known. I'm pretty sure I already fixed this once in the past. --- includes/Title.php | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/includes/Title.php b/includes/Title.php index e31b77275c..2ad98b4de8 100644 --- a/includes/Title.php +++ b/includes/Title.php @@ -3952,7 +3952,7 @@ class Title { return $this->mDbkeyform == ''; case NS_MEDIAWIKI: // known system message - return $this->getDefaultMessageText() !== false; + return $this->hasSourceText() !== false; default: return false; } @@ -3982,8 +3982,13 @@ class Title { if ( $this->mNamespace == NS_MEDIAWIKI ) { // If the page doesn't exist but is a known system message, default - // message content will be displayed, same for language subpages - return $this->getDefaultMessageText() !== false; + // message content will be displayed, same for language subpages- + // Use always content language to avoid loading hundreds of languages + // to get the link color. + global $wgContLang; + list( $name, $lang ) = MessageCache::singleton()->figureMessage( $wgContLang->lcfirst( $this->getText() ) ); + $message = wfMessage( $name )->inLanguage( $wgContLang )->useDatabase( false ); + return $message->exists(); } return false; -- 2.20.1