Creating the function MessageCache::getExtensionMessagesFor, to get an array of the...
authorRotem Liss <rotem@users.mediawiki.org>
Sun, 3 Sep 2006 16:31:28 +0000 (16:31 +0000)
committerRotem Liss <rotem@users.mediawiki.org>
Sun, 3 Sep 2006 16:31:28 +0000 (16:31 +0000)
includes/MessageCache.php
includes/SpecialAllmessages.php

index 3520b32..3859e5f 100644 (file)
@@ -594,6 +594,25 @@ class MessageCache {
                wfProfileOut( __METHOD__ );
        }
 
+       /**
+        * Get the extension messages for a specific language
+        *
+        * @param string $lang The messages language, English by default
+        */
+       function getExtensionMessagesFor( $lang = 'en' ) {
+               wfProfileIn( __METHOD__ );
+               $messages = array();
+               foreach( $this->mExtensionMessages as $key => $message ) {
+                       if ( isset( $message[$lang] ) ) {
+                               $messages[$key] = $message[$lang];
+                       } elseif ( isset( $message['en'] ) ) {
+                               $messages[$key] = $message['en'];
+                       }
+               }
+               wfProfileOut( __METHOD__ );
+               return $messages;
+       }
+
        /**
         * Clear all stored messages. Mainly used after a mass rebuild.
         */
index d88ca51..7eada4b 100644 (file)
@@ -30,13 +30,13 @@ function wfSpecialAllmessages() {
        MessageCache::loadAllMessages();
 
        $first = true;
-       $sortedArray = array_merge( Language::getMessagesFor( 'en' ), $wgMessageCache->mExtensionMessages );
+       $sortedArray = array_merge( Language::getMessagesFor( 'en' ), $wgMessageCache->getExtensionMessagesFor( 'en' ) );
        ksort( $sortedArray );
        $messages = array();
        $wgMessageCache->disableTransform();
 
        foreach ( $sortedArray as $key => $value ) {
-               $messages[$key]['enmsg'] = is_array( $value ) ? $value['en'] : $value;
+               $messages[$key]['enmsg'] = $value;
                $messages[$key]['statmsg'] = wfMsgNoDb( $key );
                $messages[$key]['msg'] = wfMsg ( $key );
        }