* (bug 27398) Add $wgExtraGenderNamespaces for configured gendered namespaces
authorNiklas Laxström <nikerabbit@users.mediawiki.org>
Mon, 19 Sep 2011 10:43:00 +0000 (10:43 +0000)
committerNiklas Laxström <nikerabbit@users.mediawiki.org>
Mon, 19 Sep 2011 10:43:00 +0000 (10:43 +0000)
languages/Language.php

index 1b13d6b..8795353 100644 (file)
@@ -428,9 +428,19 @@ class Language {
         * @since 1.18
         */
        function needsGenderDistinction() {
-               global $wgExtraGenderNamespaces;
-               $aliases = $wgExtraGenderNamespaces + self::$dataCache->getItem( $this->mCode, 'namespaceGenderAliases' );
-               return count( $aliases ) > 0;
+               global $wgExtraGenderNamespaces, $wgExtraNamespaces;
+               if ( count( $wgExtraGenderNamespaces ) > 0 ) {
+                       // $wgExtraGenderNamespaces overrides everything
+                       return true;
+               } elseif( isset( $wgExtraNamespaces[NS_USER] ) && isset( $wgExtraNamespaces[NS_USER_TALK] ) ) {
+                       /// @todo There may be other gender namespace than NS_USER & NS_USER_TALK in the future
+                       // $wgExtraNamespaces overrides any gender aliases specified in i18n files
+                       return false;
+               } else {
+                       // Check what is in i18n files
+                       $alises = self::$dataCache->getItem( $this->mCode, 'namespaceGenderAliases' );
+                       return count( $aliases ) > 0;
+               }
        }
 
        /**