diff --git a/includes/Extension.php b/includes/Extension.php index 0edcd70..5933a7b 100644 --- a/includes/Extension.php +++ b/includes/Extension.php @@ -64,7 +64,7 @@ class Extension { // MW 1.36+ if ( method_exists( MediaWikiServices::class, 'getWikiPageFactory' ) ) { $wikiPageFactory = MediaWikiServices::getInstance()->getWikiPageFactory(); - $wikiPage = $wikiPageFactory->newFromTitle( $title ); + $wikiPage = $wikiPageFactory->newFromLinkTarget( $title ); } else { $wikiPage = WikiPage::factory( $title ); } diff --git a/includes/Target.php b/includes/Target.php index bcc5fb4..6d025d3 100644 --- a/includes/Target.php +++ b/includes/Target.php @@ -25,6 +25,7 @@ namespace LinkTitles; use MediaWiki\MediaWikiServices; +use MediaWiki\Title\Title as MWTitle; /** * Represents a page that is a potential link target. @@ -32,7 +33,7 @@ use MediaWiki\MediaWikiServices; class Target { /** * A Title object for the target page currently being examined. - * @var \Title $title + * @var MediaWiki\Title\Title $title */ private $title; @@ -76,7 +77,7 @@ class Target { * @param String &$title Title of the target page */ public function __construct( $namespace, $title, Config &$config ) { - $this->title = \Title::makeTitleSafe( $namespace, $title ); + $this->title = MWTitle::makeTitleSafe( $namespace, $title ); $this->titleValue = $this->title->getTitleValue(); $this->config = $config; diff --git a/includes/Targets.php b/includes/Targets.php index cf62205..f54518c 100644 --- a/includes/Targets.php +++ b/includes/Targets.php @@ -24,6 +24,8 @@ */ namespace LinkTitles; +use MediaWiki\MediaWikiServices; + /** * Fetches potential target page titles from the database. */ @@ -41,7 +43,7 @@ class Targets { * @param String $sourceNamespace The namespace of the current page. * @param Config $config LinkTitles configuration. */ - public static function singleton( \Title $title, Config $config ) { + public static function singleton( \MediaWiki\Title\Title $title, Config $config ) { if ( ( self::$instance === null ) || ( self::$instance->sourceNamespace != $title->getNamespace() ) ) { self::$instance = new Targets( $title, $config ); } @@ -83,7 +85,7 @@ class Targets { /** * The constructor is private to enforce using the singleton pattern. - * @param \Title $title + * @param Mediawiki\Title\Title $title */ private function __construct( \Title $title, Config $config) { $this->config = $config; @@ -135,7 +137,7 @@ class Targets { // shortest to longest. Only titles from 'normal' pages (namespace uid // = 0) are returned. Since the db may be sqlite, we need a try..catch // structure because sqlite does not support the CHAR_LENGTH function. - $dbr = wfGetDB( DB_REPLICA ); + $dbr = MediaWikiServices::getInstance()->getDBLoadBalancer()->getConnection( DB_REPLICA ); $this->queryResult = $dbr->select( 'page', array( 'page_title', 'page_namespace' , "weight" => $weightSelect), diff --git a/tests/phpunit/SplitterTest.php b/tests/phpunit/SplitterTest.php index db826df..35d12ff 100644 --- a/tests/phpunit/SplitterTest.php +++ b/tests/phpunit/SplitterTest.php @@ -26,8 +26,8 @@ * * @group bovender */ -class SplitterTest extends \MediaWikiTestCase -{ + +class SplitterTest extends LinkTitles\TestCase { /** * @dataProvider provideSplitData */ diff --git a/tests/phpunit/TargetTest.php b/tests/phpunit/TargetTest.php index b34ec38..36d352d 100644 --- a/tests/phpunit/TargetTest.php +++ b/tests/phpunit/TargetTest.php @@ -24,8 +24,8 @@ /** * @group bovender */ -class TargetTest extends \MediaWikiTestCase -{ + +class TargetTest extends LinkTitles\TestCase { /** * @dataProvider provideStartOnly diff --git a/tests/phpunit/TestCase.php b/tests/phpunit/TestCase.php index 179661c..3f22644 100644 --- a/tests/phpunit/TestCase.php +++ b/tests/phpunit/TestCase.php @@ -21,8 +21,9 @@ * @author Daniel Kraus */ namespace LinkTitles; +use MediaWikiIntegrationTestCase; -abstract class TestCase extends \MediaWikiTestCase { +abstract class TestCase extends MediaWikiIntegrationTestCase { protected function setUp(): void { parent::setUp();