* @return bool
*/
public static function isValidUserName( $name ) {
- global $wgContLang, $wgMaxNameChars;
+ global $wgMaxNameChars;
if ( $name == ''
|| self::isIP( $name )
|| strpos( $name, '/' ) !== false
|| strlen( $name ) > $wgMaxNameChars
- || $name != $wgContLang->ucfirst( $name )
+ || $name != MediaWikiServices::getInstance()->getContentLanguage()->ucfirst( $name )
) {
return false;
}
// Should these be merged into the title char list?
$unicodeBlacklist = '/[' .
'\x{0080}-\x{009f}' . # iso-8859-1 control chars
- '\x{00a0}' . # non-breaking space
+ '\x{00a0}' . # non-breaking space
'\x{2000}-\x{200f}' . # various whitespace
'\x{2028}-\x{202f}' . # breaks and control chars
- '\x{3000}' . # ideographic space
+ '\x{3000}' . # ideographic space
'\x{e000}-\x{f8ff}' . # private use
']/u';
if ( preg_match( $unicodeBlacklist, $name ) ) {
*/
public static function getCanonicalName( $name, $validate = 'valid' ) {
// Force usernames to capital
- global $wgContLang;
- $name = $wgContLang->ucfirst( $name );
+ $name = MediaWikiServices::getInstance()->getContentLanguage()->ucfirst( $name );
# Reject names containing '#'; these will be cleaned up
# with title normalisation, but then it's too late to
* @return array Array of String options
*/
public static function getDefaultOptions() {
- global $wgNamespacesToBeSearchedDefault, $wgDefaultUserOptions, $wgContLang, $wgDefaultSkin;
+ global $wgNamespacesToBeSearchedDefault, $wgDefaultUserOptions, $wgDefaultSkin;
static $defOpt = null;
static $defOptLang = null;
- if ( $defOpt !== null && $defOptLang === $wgContLang->getCode() ) {
- // $wgContLang does not change (and should not change) mid-request,
- // but the unit tests change it anyway, and expect this method to
- // return values relevant to the current $wgContLang.
+ $contLang = MediaWikiServices::getInstance()->getContentLanguage();
+ if ( $defOpt !== null && $defOptLang === $contLang->getCode() ) {
+ // The content language does not change (and should not change) mid-request, but the
+ // unit tests change it anyway, and expect this method to return values relevant to the
+ // current content language.
return $defOpt;
}
$defOpt = $wgDefaultUserOptions;
// Default language setting
- $defOptLang = $wgContLang->getCode();
+ $defOptLang = $contLang->getCode();
$defOpt['language'] = $defOptLang;
foreach ( LanguageConverter::$languagesWithVariants as $langCode ) {
- $defOpt[$langCode == $wgContLang->getCode() ? 'variant' : "variant-$langCode"] = $langCode;
+ if ( $langCode === $contLang->getCode() ) {
+ $defOpt['variant'] = $langCode;
+ } else {
+ $defOpt["variant-$langCode"] = $langCode;
+ }
}
// NOTE: don't use SearchEngineConfig::getSearchableNamespaces here,
* @param array|null $data Rows for the current user out of the user_properties table
*/
protected function loadOptions( $data = null ) {
- global $wgContLang;
-
$this->load();
if ( $this->mOptionsLoaded ) {
// There's no need to do it for logged-in users: they can set preferences,
// and handling of page content is done by $pageLang->getPreferredVariant() and such,
// so don't override user's choice (especially when the user chooses site default).
- $variant = $wgContLang->getDefaultVariant();
+ $variant = MediaWikiServices::getInstance()->getContentLanguage()->getDefaultVariant();
$this->mOptions['variant'] = $variant;
$this->mOptions['language'] = $variant;
$this->mOptionsLoaded = true;