From e0661f825d6846b4f396fa88b2c495116b45baea Mon Sep 17 00:00:00 2001 From: Aude Date: Thu, 9 Jun 2016 21:59:00 +0000 Subject: [PATCH] Revert "Map dummy language codes in sites" This is causing duplicate English Wikipedia interwiki links. The second link is supposed to be for Simple English, but instead is linked to English Wikipedia. This reverts commit 1c1c74adef8a2f5597472e8c049010ff4d42ff64. Bug: T137404 Change-Id: Ibc1c53ec1b8e643b47ad52f38a8496acfb399d65 --- includes/ServiceWiring.php | 3 --- includes/site/DBSiteStore.php | 24 ++++--------------- includes/site/FileBasedSiteLookup.php | 21 +--------------- .../phpunit/includes/site/DBSiteStoreTest.php | 14 ----------- .../includes/site/FileBasedSiteLookupTest.php | 11 --------- 5 files changed, 5 insertions(+), 68 deletions(-) diff --git a/includes/ServiceWiring.php b/includes/ServiceWiring.php index e53b9ed96e..293e6eb176 100644 --- a/includes/ServiceWiring.php +++ b/includes/ServiceWiring.php @@ -59,9 +59,6 @@ return [ 'SiteStore' => function( MediaWikiServices $services ) { $rawSiteStore = new DBSiteStore( $services->getDBLoadBalancer() ); - $rawSiteStore->setLanguageCodeMapping( - $services->getMainConfig()->get( 'DummyLanguageCodes' ) ?: [] - ); // TODO: replace wfGetCache with a CacheFactory service. // TODO: replace wfIsHHVM with a capabilities service. diff --git a/includes/site/DBSiteStore.php b/includes/site/DBSiteStore.php index c1c10c2136..974789f94f 100644 --- a/includes/site/DBSiteStore.php +++ b/includes/site/DBSiteStore.php @@ -40,11 +40,6 @@ class DBSiteStore implements SiteStore { */ private $dbLoadBalancer; - /** - * @var string[] - */ - private $languageCodeMapping = []; - /** * @since 1.27 * @@ -101,17 +96,15 @@ class DBSiteStore implements SiteStore { ); foreach ( $res as $row ) { - $languageCode = $row->site_language === '' ? null : $row->site_language; - if ( isset( $this->languageCodeMapping[ $languageCode ] ) ) { - $languageCode = $this->languageCodeMapping[ $languageCode ]; - } - $site = Site::newForType( $row->site_type ); $site->setGlobalId( $row->site_global_key ); $site->setInternalId( (int)$row->site_id ); $site->setForward( (bool)$row->site_forward ); $site->setGroup( $row->site_group ); - $site->setLanguageCode( $languageCode ); + $site->setLanguageCode( $row->site_language === '' + ? null + : $row->site_language + ); $site->setSource( $row->site_source ); $site->setExtraData( unserialize( $row->site_data ) ); $site->setExtraConfig( unserialize( $row->site_config ) ); @@ -294,13 +287,4 @@ class DBSiteStore implements SiteStore { return $ok; } - /** - * Provide an array that maps language codes - * - * @param string[] $newMapping - */ - public function setLanguageCodeMapping( array $newMapping ) { - $this->languageCodeMapping = $newMapping; - } - } diff --git a/includes/site/FileBasedSiteLookup.php b/includes/site/FileBasedSiteLookup.php index 424d8e69b3..965444038f 100644 --- a/includes/site/FileBasedSiteLookup.php +++ b/includes/site/FileBasedSiteLookup.php @@ -42,11 +42,6 @@ class FileBasedSiteLookup implements SiteLookup { */ private $cacheFile; - /** - * @var string[] - */ - private $languageCodeMapping = []; - /** * @param string $cacheFile */ @@ -123,18 +118,13 @@ class FileBasedSiteLookup implements SiteLookup { * @return Site */ private function newSiteFromArray( array $data ) { - $languageCode = $data['language']; - if ( isset( $this->languageCodeMapping[ $languageCode ] ) ) { - $languageCode = $this->languageCodeMapping[ $languageCode ]; - } - $siteType = array_key_exists( 'type', $data ) ? $data['type'] : Site::TYPE_UNKNOWN; $site = Site::newForType( $siteType ); $site->setGlobalId( $data['globalid'] ); $site->setForward( $data['forward'] ); $site->setGroup( $data['group'] ); - $site->setLanguageCode( $languageCode ); + $site->setLanguageCode( $data['language'] ); $site->setSource( $data['source'] ); $site->setExtraData( $data['data'] ); $site->setExtraConfig( $data['config'] ); @@ -146,13 +136,4 @@ class FileBasedSiteLookup implements SiteLookup { return $site; } - /** - * Provide an array that maps language codes - * - * @param string[] $newMapping - */ - public function setLanguageCodeMapping( array $newMapping ) { - $this->languageCodeMapping = $newMapping; - } - } diff --git a/tests/phpunit/includes/site/DBSiteStoreTest.php b/tests/phpunit/includes/site/DBSiteStoreTest.php index 316fd89076..32dd7f282c 100644 --- a/tests/phpunit/includes/site/DBSiteStoreTest.php +++ b/tests/phpunit/includes/site/DBSiteStoreTest.php @@ -67,20 +67,6 @@ class DBSiteStoreTest extends MediaWikiTestCase { } } - /** - * @covers DBSiteStore::getSites - * @covers DBSiteStore::setLanguageCodeMapping - */ - public function testLanguageCodeMapping() { - TestSites::insertIntoDb(); - - $store = $this->newDBSiteStore(); - $store->setLanguageCodeMapping( [ 'no' => 'nb' ] ); - - $site = $store->getSite( 'nowiki' ); - $this->assertEquals( $site->getLanguageCode(), 'nb' ); - } - /** * @covers DBSiteStore::saveSites */ diff --git a/tests/phpunit/includes/site/FileBasedSiteLookupTest.php b/tests/phpunit/includes/site/FileBasedSiteLookupTest.php index bebda79c68..7984795b99 100644 --- a/tests/phpunit/includes/site/FileBasedSiteLookupTest.php +++ b/tests/phpunit/includes/site/FileBasedSiteLookupTest.php @@ -98,15 +98,4 @@ class FileBasedSiteLookupTest extends PHPUnit_Framework_TestCase { return tempnam( sys_get_temp_dir(), 'mw-test-sitelist' ); } - public function testLanguageCodeMapping() { - $sites = $this->getSites(); - $cacheBuilder = $this->newSitesCacheFileBuilder( $sites ); - $cacheBuilder->build(); - - $cache = new FileBasedSiteLookup( $this->cacheFile ); - $cache->setLanguageCodeMapping( [ 'en' => 'fa' ] ); - - $this->assertEquals( $cache->getSite( 'enwiktionary' )->getLanguageCode(), 'fa' ); - } - } -- 2.20.1