From 8f416baead93a48e5799e44b8bd2e2c4859f4e04 Mon Sep 17 00:00:00 2001 From: Pierre Schmitz Date: Fri, 14 Sep 2007 13:18:58 +0200 Subject: auf Version 1.11 aktualisiert; Login-Bug behoben --- includes/MessageCache.php | 33 ++++++++++++++++++++++++++++++--- 1 file changed, 30 insertions(+), 3 deletions(-) (limited to 'includes/MessageCache.php') diff --git a/includes/MessageCache.php b/includes/MessageCache.php index e2cbf5f6..10c95a7e 100644 --- a/includes/MessageCache.php +++ b/includes/MessageCache.php @@ -23,6 +23,7 @@ class MessageCache { var $mExtensionMessages = array(); var $mInitialised = false; var $mDeferred = true; + var $mAllMessagesLoaded; function __construct( &$memCached, $useDB, $expiry, $memcPrefix) { wfProfileIn( __METHOD__ ); @@ -627,7 +628,6 @@ class MessageCache { /** * Add a 2-D array of messages by lang. Useful for extensions. - * Introduced in 1.9. Please do not use it for now, for backwards compatibility. * * @param array $messages The array to be added */ @@ -670,12 +670,39 @@ class MessageCache { } } - static function loadAllMessages() { + function loadAllMessages() { + global $wgExtensionMessagesFiles; + if ( $this->mAllMessagesLoaded ) { + return; + } + $this->mAllMessagesLoaded = true; + # Some extensions will load their messages when you load their class file wfLoadAllExtensions(); # Others will respond to this hook wfRunHooks( 'LoadAllMessages' ); + # Some register their messages in $wgExtensionMessagesFiles + foreach ( $wgExtensionMessagesFiles as $name => $file ) { + if ( $file ) { + $this->loadMessagesFile( $file ); + $wgExtensionMessagesFiles[$name] = false; + } + } # Still others will respond to neither, they are EVIL. We sometimes need to know! } + + /** + * Load messages from a given file + */ + function loadMessagesFile( $filename ) { + $magicWords = false; + require( $filename ); + $this->addMessagesByLang( $messages ); + + if ( $magicWords !== false ) { + global $wgContLang; + $wgContLang->addMagicWordsByLang( $magicWords ); + } + } } -?> + -- cgit v1.2.3-54-g00ecf