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?
* 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
*/
$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.
* @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.
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 );
}
/**
* @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?
'defaultUserOptionOverrides', 'linkTrail', 'namespaceAliases',
'dateFormats', 'datePreferences', 'datePreferenceMigrationMap',
'defaultDateFormat', 'extraUserToggles', 'specialPageAliases',
- 'imageFiles', 'genderAliases'
+ 'imageFiles'
);
static public $mMergeableMapKeys = array( 'messages', 'namespaceNames', 'mathNames',
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
*
* @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;
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 ) {
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
*/