Revert r47196, r47219 "* (bug 13040) Gender-aware user namespace aliases" and followup

Using $wgTitle in a Title member function in a weird way that makes no sense. What's this code trying to accomplish, and can it do it in a way that's not broken?
This commit is contained in:
Brion Vibber 2009-02-17 23:00:57 +00:00
parent 3dd9d5a548
commit 11a76d3722
5 changed files with 7 additions and 71 deletions

View file

@ -96,7 +96,6 @@ it from source control: http://www.mediawiki.org/wiki/Download_from_SVN
* Localize time zone regions in Special:Preferences
* Add NUMBEROFACTIVEUSERS magic word, which is like NUMBEROFUSERS, but uses
the active users data from site_stats.
* (bug 13040) Gender-aware user namespace aliases
* Add a <link rel="canonical"> tag on redirected page views
* Replace hardcoded '...' as indication of a truncation with the
'ellipsis' message

View file

@ -2644,12 +2644,6 @@ $wgExtraNamespaces = NULL;
*/
$wgNamespaceAliases = array();
/**
* Whether to check correct gender for all titles. If false, correct gender
* alias is only fetched for wgTitle.
*/
$wgSlowGenderAliases = true;
/**
* Limit images on image description pages to a user-selectable limit. In order
* to reduce disk usage, limits can only be selected from a list.

View file

@ -555,7 +555,7 @@ class Title {
* @return \type{\string} Namespace text
*/
public function getNsText() {
global $wgCanonicalNamespaceNames;
global $wgContLang, $wgCanonicalNamespaceNames;
if ( '' != $this->mInterwiki ) {
// This probably shouldn't even happen. ohh man, oh yuck.
@ -568,35 +568,6 @@ class Title {
return $wgCanonicalNamespaceNames[$this->mNamespace];
}
}
return $this->getNsTextInternal( $this->mNamespace );
}
function getNsTextInternal( $namespace ) {
global $wgContLang, $wgRequest, $wgTitle, $wgSlowGenderAliases;
if( $namespace === NS_USER || $namespace === NS_USER_TALK ) {
static $gender = null;
$name = $this->getBaseText();
if( !isset($gender[$name] ) ) {
$gender[$name] = User::getDefaultOption( 'gender' );
// wgTitle may not be defined
$mytitle = isset( $wgTitle ) ? $wgTitle : Title::newFromText( $wgRequest->getVal( 'title' ) );
// Check stuff
if ( $wgSlowGenderAliases ||
// Needs to be checked always to produce desired
// effect when viewing user pages
( $mytitle && $name === $mytitle->getBaseText() ) ) {
$user = User::newFromName( $name );
if ( $user ) $gender[$name] = $user->getOption( 'gender' );
}
}
return $wgContLang->getGenderNsText( $this->mNamespace, $gender[$name] );
}
return $wgContLang->getNsText( $this->mNamespace );
}
/**
@ -611,14 +582,16 @@ class Title {
* @return \type{\string} Namespace text
*/
public function getSubjectNsText() {
return $this->getNsTextInternal( MWNamespace::getSubject( $this->mNamespace ) );
global $wgContLang;
return $wgContLang->getNsText( MWNamespace::getSubject( $this->mNamespace ) );
}
/**
* Get the namespace text of the talk page
* @return \type{\string} Namespace text
*/
public function getTalkNsText() {
return $this->getNsTextInternal( MWNamespace::getTalk( $this->mNamespace ) );
global $wgContLang;
return( $wgContLang->getNsText( MWNamespace::getTalk( $this->mNamespace ) ) );
}
/**
* Could this title have a corresponding talk page?

View file

@ -63,7 +63,7 @@ class Language {
'defaultUserOptionOverrides', 'linkTrail', 'namespaceAliases',
'dateFormats', 'datePreferences', 'datePreferenceMigrationMap',
'defaultDateFormat', 'extraUserToggles', 'specialPageAliases',
'imageFiles', 'genderAliases'
'imageFiles'
);
static public $mMergeableMapKeys = array( 'messages', 'namespaceNames', 'mathNames',
@ -265,18 +265,6 @@ class Language {
return isset( $ns[$index] ) ? $ns[$index] : false;
}
/**
* Like getNsText, but looks first if there is custom alias for given gender
*/
function getGenderNsText( $index, $gender ) {
$this->load();
if ( isset( $this->genderAliases[$index][$gender] ) ) {
return $this->genderAliases[$index][$gender];
} else {
return $this->getNsText( $index );
}
}
/**
* A convenience function that returns the same thing as
* getNsText() except with '_' changed to ' ', useful for
@ -2341,7 +2329,7 @@ class Language {
*
* @return array Dependencies, map of filenames to mtimes
*/
static function loadLocalisation( $code, $disableCache = true ) {
static function loadLocalisation( $code, $disableCache = false ) {
static $recursionGuard = array();
global $wgMemc, $wgEnableSerializedMessages, $wgCheckSerialized;
@ -2609,12 +2597,6 @@ class Language {
foreach ( $this->namespaceNames as $index => $name ) {
$this->mNamespaceIds[$this->lc($name)] = $index;
}
# Add gender aliases to the normal aliases table automatically
foreach ( $this->genderAliases as $index => $aliases ) {
foreach ( $aliases as $alias ) {
$this->namespaceAliases[$alias] = $index;
}
}
if ( $this->namespaceAliases ) {
foreach ( $this->namespaceAliases as $name => $index ) {
if ( $index === NS_PROJECT_TALK ) {

View file

@ -98,18 +98,6 @@ $namespaceNames = array(
NS_CATEGORY_TALK => 'Category_talk',
);
/**
* Array of gender-based namespace aliases per namespace. Only NS_USER and
* NS_USER_TALK works.
*
* Example:
NS_USER => array(
'male' => 'Male_user',
'female' => 'Female_user',
),
*/
$genderAliases = array();
/**
* Array of namespace aliases, mapping from name to NS_xxx index
*/