$wgContLang = Language::factory( $option['lang'] );
$wgLang = Language::factory( $option['lang'] );
$wgLanguageCode = $option['lang'];
+ RequestContext::getMain()->setLanguage( $wgLang );
}
$this->setVar( 'wgSitename', $siteName );
public function __construct() {
global $wgMessagesDirs, $wgUser;
+ // Don't attempt to load user language options (T126177)
+ // This will be overridden in the web installer with the user-specified language
+ RequestContext::getMain()->setLanguage( 'en' );
+
// Disable the i18n cache
Language::getLocalisationCache()->disableBackend();
// Disable LoadBalancer and wfGetDB etc.
// Having a user with id = 0 safeguards us from DB access via User::loadOptions().
$wgUser = User::newFromId( 0 );
+ RequestContext::getMain()->setUser( $wgUser );
$this->settings = $this->internalDefaults;
}
$this->parserTitle = Title::newFromText( 'Installer' );
- $this->parserOptions = new ParserOptions; // language will be wrong :(
+ $this->parserOptions = new ParserOptions( $wgUser ); // language will be wrong :(
$this->parserOptions->setEditSection( false );
}
*/
/**
- * Replacement array for FSS with fallback to strtr()
- * Supports lazy initialisation of FSS resource
+ * Wrapper around strtr() that holds replacements
*/
class ReplacementArray {
private $data = false;
- private $fss = false;
/**
* Create an object with the specified replacement array
* The array should have the same form as the replacement array for strtr()
* @param array $data
*/
- public function __construct( $data = array() ) {
+ public function __construct( $data = [] ) {
$this->data = $data;
}
return array( 'data' );
}
- public function __wakeup() {
- $this->fss = false;
- }
-
/**
* Set the whole replacement array at once
* @param array $data
*/
public function setArray( $data ) {
$this->data = $data;
- $this->fss = false;
}
/**
*/
public function setPair( $from, $to ) {
$this->data[$from] = $to;
- $this->fss = false;
}
/**
*/
public function mergeArray( $data ) {
$this->data = $data + $this->data;
- $this->fss = false;
}
/**
*/
public function merge( ReplacementArray $other ) {
$this->data = $other->data + $this->data;
- $this->fss = false;
}
/**
*/
public function removePair( $from ) {
unset( $this->data[$from] );
- $this->fss = false;
}
/**
foreach ( $data as $from => $to ) {
$this->removePair( $from );
}
- $this->fss = false;
}
/**
* @return string
*/
public function replace( $subject ) {
- if (
- function_exists( 'fss_prep_replace' ) &&
- version_compare( PHP_VERSION, '5.5.0' ) < 0
- ) {
- if ( $this->fss === false ) {
- $this->fss = fss_prep_replace( $this->data );
- }
- $result = fss_exec_replace( $this->fss, $subject );
- } else {
- $result = strtr( $subject, $this->data );
- }
-
- return $result;
+ return strtr( $subject, $this->data );
}
}
$langCode = 'en';
}
$wgLang = Language::factory( $langCode );
+ RequestContext::getMain()->setLanguage( $wgLang );
$installer->setParserLanguage( $wgLang );
}
function provideFindLowerBound() {
- $that = $this;
- $indexValueCallback = function ( $size ) use ( $that ) {
- return function ( $val ) use ( $that, $size ) {
- $that->assertTrue( $val >= 0 );
- $that->assertTrue( $val < $size );
+ $indexValueCallback = function ( $size ) {
+ return function ( $val ) use ( $size ) {
+ $this->assertTrue( $val >= 0 );
+ $this->assertTrue( $val < $size );
return $val;
};
};
->disableOriginalConstructor()
->getMock();
- // php 5.3 compatibility!
- $that = $this;
-
$dbSiteStore->expects( $this->any() )
->method( 'getSite' )
- ->will( $this->returnValue( $that->getTestSite() ) );
+ ->will( $this->returnValue( $this->getTestSite() ) );
$dbSiteStore->expects( $this->any() )
->method( 'getSites' )
- ->will( $this->returnCallback( function() use ( $that ) {
+ ->will( $this->returnCallback( function() {
$siteList = new SiteList();
- $siteList->setSite( $that->getTestSite() );
+ $siteList->setSite( $this->getTestSite() );
return $siteList;
} ) );
private function newSiteImporter( array $expectedSites, $errorCount ) {
$store = $this->getMock( 'SiteStore' );
- $that = $this;
$store->expects( $this->once() )
->method( 'saveSites' )
- ->will( $this->returnCallback( function ( $sites ) use ( $expectedSites, $that ) {
- $that->assertSitesEqual( $expectedSites, $sites );
+ ->will( $this->returnCallback( function ( $sites ) use ( $expectedSites ) {
+ $this->assertSitesEqual( $expectedSites, $sites );
} ) );
$store->expects( $this->any() )