Removed deprecated usages of Interwiki methods in core

Change-Id: Ibd25968660466c44189ccb01df1d8bec6e1b207c
This commit is contained in:
Yuriy Shnitkovskiy 2017-01-10 11:51:50 +02:00
parent 3580929e36
commit 85a52faa37
5 changed files with 34 additions and 25 deletions

View file

@ -23,6 +23,7 @@
*
* @file
*/
use MediaWiki\MediaWikiServices;
/**
* A query action to return meta information about the wiki site.
@ -388,7 +389,7 @@ class ApiQuerySiteinfo extends ApiQueryBase {
$langCode = isset( $params['inlanguagecode'] ) ? $params['inlanguagecode'] : '';
$langNames = Language::fetchLanguageNames( $langCode );
$getPrefixes = Interwiki::getAllPrefixes( $local );
$getPrefixes = MediaWikiServices::getInstance()->getInterwikiLookup()->getAllPrefixes( $local );
$extraLangPrefixes = $this->getConfig()->get( 'ExtraInterlanguageLinkPrefixes' );
$localInterwikis = $this->getConfig()->get( 'LocalInterwikis' );
$data = [];

View file

@ -23,6 +23,7 @@
* @file
* @ingroup SpecialPage
*/
use MediaWiki\MediaWikiServices;
/**
* Imports a XML dump from a file (either from file upload, files on disk, or HTTP)
@ -148,7 +149,8 @@ class ImportStreamSource implements ImportSource {
# Look up the first interwiki prefix, and let the foreign site handle
# subsequent interwiki prefixes
$firstIwPrefix = strtok( $interwiki, ':' );
$firstIw = Interwiki::fetch( $firstIwPrefix );
$interwikiLookup = MediaWikiServices::getInstance()->getInterwikiLookup();
$firstIw = $interwikiLookup->fetch( $firstIwPrefix );
if ( !$firstIw ) {
return Status::newFatal( 'importbadinterwiki' );
}

View file

@ -21,6 +21,7 @@
* @license GPL 2+
* @author Daniel Kinzler
*/
use MediaWiki\MediaWikiServices;
use MediaWiki\Linker\LinkTarget;
/**
@ -309,6 +310,7 @@ class MediaWikiTitleCodec implements TitleFormatter, TitleParser {
if ( preg_match( $prefixRegexp, $dbkey, $m ) ) {
$p = $m[1];
$ns = $this->language->getNsIndex( $p );
$interwikiLookup = MediaWikiServices::getInstance()->getInterwikiLookup();
if ( $ns !== false ) {
# Ordinary namespace
$dbkey = $m[2];
@ -318,13 +320,13 @@ class MediaWikiTitleCodec implements TitleFormatter, TitleParser {
if ( $this->language->getNsIndex( $x[1] ) ) {
# Disallow Talk:File:x type titles...
throw new MalformedTitleException( 'title-invalid-talk-namespace', $text );
} elseif ( Interwiki::isValidInterwiki( $x[1] ) ) {
} elseif ( $interwikiLookup->isValidInterwiki( $x[1] ) ) {
// TODO: get rid of global state!
# Disallow Talk:Interwiki:x type titles...
throw new MalformedTitleException( 'title-invalid-talk-namespace', $text );
}
}
} elseif ( Interwiki::isValidInterwiki( $p ) ) {
} elseif ( $interwikiLookup->isValidInterwiki( $p ) ) {
# Interwiki link
$dbkey = $m[2];
$parts['interwiki'] = $this->language->lc( $p );

View file

@ -25,6 +25,7 @@
*/
use MediaWiki\Linker\LinkTarget;
use MediaWiki\MediaWikiServices;
require_once __DIR__ . '/Maintenance.php';
@ -224,7 +225,7 @@ class NamespaceConflictChecker extends Maintenance {
* @return array
*/
private function getInterwikiList() {
$result = Interwiki::getAllPrefixes();
$result = MediaWikiServices::getInstance()->getInterwikiLookup()->getAllPrefixes();
$prefixes = [];
foreach ( $result as $row ) {
$prefixes[] = $row['iw_prefix'];

View file

@ -82,31 +82,32 @@ class InterwikiTest extends MediaWikiTestCase {
$this->setWgInterwikiCache( false );
$interwikiLookup = MediaWikiServices::getInstance()->getInterwikiLookup();
$this->assertEquals(
[ $dewiki, $zzwiki ],
Interwiki::getAllPrefixes(),
$interwikiLookup->getAllPrefixes(),
'getAllPrefixes()'
);
$this->assertEquals(
[ $dewiki ],
Interwiki::getAllPrefixes( true ),
$interwikiLookup->getAllPrefixes( true ),
'getAllPrefixes()'
);
$this->assertEquals(
[ $zzwiki ],
Interwiki::getAllPrefixes( false ),
$interwikiLookup->getAllPrefixes( false ),
'getAllPrefixes()'
);
$this->assertTrue( Interwiki::isValidInterwiki( 'de' ), 'known prefix is valid' );
$this->assertFalse( Interwiki::isValidInterwiki( 'xyz' ), 'unknown prefix is valid' );
$this->assertTrue( $interwikiLookup->isValidInterwiki( 'de' ), 'known prefix is valid' );
$this->assertFalse( $interwikiLookup->isValidInterwiki( 'xyz' ), 'unknown prefix is valid' );
$this->assertNull( Interwiki::fetch( null ), 'no prefix' );
$this->assertFalse( Interwiki::fetch( 'xyz' ), 'unknown prefix' );
$this->assertNull( $interwikiLookup->fetch( null ), 'no prefix' );
$this->assertFalse( $interwikiLookup->fetch( 'xyz' ), 'unknown prefix' );
$interwiki = Interwiki::fetch( 'de' );
$interwiki = $interwikiLookup->fetch( 'de' );
$this->assertInstanceOf( 'Interwiki', $interwiki );
$this->assertSame( $interwiki, Interwiki::fetch( 'de' ), 'in-process caching' );
$this->assertSame( $interwiki, $interwikiLookup->fetch( 'de' ), 'in-process caching' );
$this->assertSame( 'http://de.wikipedia.org/wiki/', $interwiki->getURL(), 'getURL' );
$this->assertSame( 'http://de.wikipedia.org/w/api.php', $interwiki->getAPI(), 'getAPI' );
@ -115,7 +116,7 @@ class InterwikiTest extends MediaWikiTestCase {
$this->assertSame( false, $interwiki->isTranscludable(), 'isTranscludable' );
Interwiki::invalidateCache( 'de' );
$this->assertNotSame( $interwiki, Interwiki::fetch( 'de' ), 'invalidate cache' );
$this->assertNotSame( $interwiki, $interwikiLookup->fetch( 'de' ), 'invalidate cache' );
}
/**
@ -190,22 +191,23 @@ class InterwikiTest extends MediaWikiTestCase {
$this->setWgInterwikiCache( $cdbFile );
$interwikiLookup = MediaWikiServices::getInstance()->getInterwikiLookup();
$this->assertEquals(
[ $dewiki, $zzwiki ],
Interwiki::getAllPrefixes(),
$interwikiLookup->getAllPrefixes(),
'getAllPrefixes()'
);
$this->assertTrue( Interwiki::isValidInterwiki( 'de' ), 'known prefix is valid' );
$this->assertTrue( Interwiki::isValidInterwiki( 'zz' ), 'known prefix is valid' );
$this->assertTrue( $interwikiLookup->isValidInterwiki( 'de' ), 'known prefix is valid' );
$this->assertTrue( $interwikiLookup->isValidInterwiki( 'zz' ), 'known prefix is valid' );
$interwiki = Interwiki::fetch( 'de' );
$interwiki = $interwikiLookup->fetch( 'de' );
$this->assertInstanceOf( 'Interwiki', $interwiki );
$this->assertSame( 'http://de.wikipedia.org/wiki/', $interwiki->getURL(), 'getURL' );
$this->assertSame( true, $interwiki->isLocal(), 'isLocal' );
$interwiki = Interwiki::fetch( 'zz' );
$interwiki = $interwikiLookup->fetch( 'zz' );
$this->assertInstanceOf( 'Interwiki', $interwiki );
$this->assertSame( 'http://zzwiki.org/wiki/', $interwiki->getURL(), 'getURL' );
@ -236,22 +238,23 @@ class InterwikiTest extends MediaWikiTestCase {
$this->setWgInterwikiCache( $cdbData );
$interwikiLookup = MediaWikiServices::getInstance()->getInterwikiLookup();
$this->assertEquals(
[ $dewiki, $zzwiki ],
Interwiki::getAllPrefixes(),
$interwikiLookup->getAllPrefixes(),
'getAllPrefixes()'
);
$this->assertTrue( Interwiki::isValidInterwiki( 'de' ), 'known prefix is valid' );
$this->assertTrue( Interwiki::isValidInterwiki( 'zz' ), 'known prefix is valid' );
$this->assertTrue( $interwikiLookup->isValidInterwiki( 'de' ), 'known prefix is valid' );
$this->assertTrue( $interwikiLookup->isValidInterwiki( 'zz' ), 'known prefix is valid' );
$interwiki = Interwiki::fetch( 'de' );
$interwiki = $interwikiLookup->fetch( 'de' );
$this->assertInstanceOf( 'Interwiki', $interwiki );
$this->assertSame( 'http://de.wikipedia.org/wiki/', $interwiki->getURL(), 'getURL' );
$this->assertSame( true, $interwiki->isLocal(), 'isLocal' );
$interwiki = Interwiki::fetch( 'zz' );
$interwiki = $interwikiLookup->fetch( 'zz' );
$this->assertInstanceOf( 'Interwiki', $interwiki );
$this->assertSame( 'http://zzwiki.org/wiki/', $interwiki->getURL(), 'getURL' );