Allow use of a mediawiki message to '''override''' the group used to group a special...
authorDaniel Friesen <dantman@users.mediawiki.org>
Sun, 1 Jun 2008 09:24:09 +0000 (09:24 +0000)
committerDaniel Friesen <dantman@users.mediawiki.org>
Sun, 1 Jun 2008 09:24:09 +0000 (09:24 +0000)
Form is specialpages-specialpagegroup-$specialpage
Tim suggested letting a message override the group to let someone with a better hand at organization in the community try organizing the pages. So we could then import those changes back into MediaWiki at some point in time.

includes/SpecialPage.php

index d558e8e..25df036 100644 (file)
@@ -294,8 +294,19 @@ class SpecialPage
         */
        static function getGroup( &$page ) {
                global $wgSpecialPageGroups;
-               $group = isset($wgSpecialPageGroups[$page->mName]) ?
-                       $wgSpecialPageGroups[$page->mName] : 'other';
+               static $specialPageGroupsCache = array();
+               if( isset($specialPageGroupsCache[$page->mName]) ) {
+                       return $specialPageGroupsCache[$page->mName];
+               }
+               $group = wfMsg('specialpages-specialpagegroup-'.$page->mName);
+               if( $group == ''
+                || wfEmptyMsg('specialpages-specialpagegroup-'.$page->mName, $group ) ) {
+                       $group = isset($wgSpecialPageGroups[$page->mName])
+                               ? $wgSpecialPageGroups[$page->mName]
+                               : '-';
+               }
+               if( $group == '-' ) $group = 'other';
+               $specialPageGroupsCache[$page->mName] = $group;
                return $group;
        }