diff --git a/includes/Hooks/HookUtils.php b/includes/Hooks/HookUtils.php index 6d6e474fe..c7b13345d 100644 --- a/includes/Hooks/HookUtils.php +++ b/includes/Hooks/HookUtils.php @@ -13,6 +13,7 @@ use ExtensionRegistry; use IContextSource; use IDBAccessObject; use LqtDispatch; +use MediaWiki\Extension\DiscussionTools\CommentParser; use MediaWiki\Extension\DiscussionTools\CommentUtils; use MediaWiki\Extension\DiscussionTools\ContentThreadItemSet; use MediaWiki\Extension\Gadgets\GadgetRepo; @@ -161,6 +162,7 @@ class HookUtils { // comments in the sections to be treated as transcluded from another page. CommentUtils::unwrapParsoidSections( $container ); + /** @var CommentParser $parser */ $parser = $services->getService( 'DiscussionTools.CommentParser' ); $title = TitleValue::newFromPage( $revRecord->getPage() ); return $parser->parse( $container, $title ); diff --git a/includes/Notifications/EventDispatcher.php b/includes/Notifications/EventDispatcher.php index 127f79bfe..dbf3805ef 100644 --- a/includes/Notifications/EventDispatcher.php +++ b/includes/Notifications/EventDispatcher.php @@ -16,6 +16,7 @@ use DeferredUpdates; use ExtensionRegistry; use IDBAccessObject; use Iterator; +use MediaWiki\Extension\DiscussionTools\CommentParser; use MediaWiki\Extension\DiscussionTools\CommentUtils; use MediaWiki\Extension\DiscussionTools\ContentThreadItemSet; use MediaWiki\Extension\DiscussionTools\Hooks\HookUtils; @@ -72,6 +73,7 @@ class EventDispatcher { $doc = DOMUtils::parseHTML( $html ); $container = DOMCompat::getBody( $doc ); + /** @var CommentParser $parser */ $parser = $services->getService( 'DiscussionTools.CommentParser' ); return $parser->parse( $container, $title ); } @@ -396,6 +398,7 @@ class EventDispatcher { $dtConfig->get( 'DiscussionToolsAutoTopicSubEditor' ) === 'any' && HookUtils::shouldAddAutoSubscription( $user, $title ) ) { + /** @var SubscriptionStore $parser */ $subscriptionStore = MediaWikiServices::getInstance()->getService( 'DiscussionTools.SubscriptionStore' ); $subscriptionStore->addAutoSubscriptionForUser( $user, $title, $itemName ); } @@ -411,6 +414,7 @@ class EventDispatcher { public static function locateSubscribedUsers( Event $event, $batchSize = 500 ) { $commentName = $event->getExtraParam( 'subscribed-comment-name' ); + /** @var SubscriptionStore $subscriptionStore */ $subscriptionStore = MediaWikiServices::getInstance()->getService( 'DiscussionTools.SubscriptionStore' ); $subscriptionItems = $subscriptionStore->getSubscriptionItemsForTopic( $commentName, diff --git a/includes/Notifications/SubscribedNewCommentPresentationModel.php b/includes/Notifications/SubscribedNewCommentPresentationModel.php index 88e328235..ca6781fbe 100644 --- a/includes/Notifications/SubscribedNewCommentPresentationModel.php +++ b/includes/Notifications/SubscribedNewCommentPresentationModel.php @@ -11,6 +11,7 @@ namespace MediaWiki\Extension\DiscussionTools\Notifications; use EchoEventPresentationModel; use Language; +use MediaWiki\Extension\DiscussionTools\SubscriptionStore; use MediaWiki\Extension\Notifications\Model\Event; use MediaWiki\Language\RawMessage; use MediaWiki\MediaWikiServices; @@ -142,6 +143,7 @@ class SubscribedNewCommentPresentationModel extends EchoEventPresentationModel { $viewChangesLink, ]; + /** @var SubscriptionStore $parser */ $subscriptionStore = MediaWikiServices::getInstance()->getService( 'DiscussionTools.SubscriptionStore' ); $items = $subscriptionStore->getSubscriptionItemsForUser( $this->getUser(), diff --git a/maintenance/persistRevisionThreadItems.php b/maintenance/persistRevisionThreadItems.php index 232545112..c024862e8 100644 --- a/maintenance/persistRevisionThreadItems.php +++ b/maintenance/persistRevisionThreadItems.php @@ -2,7 +2,6 @@ namespace MediaWiki\Extension\DiscussionTools\Maintenance; -use IDatabase; use Language; use Maintenance; use MediaWiki\Extension\DiscussionTools\Hooks\HookUtils; @@ -14,6 +13,7 @@ use MWExceptionRenderer; use stdClass; use Throwable; use Title; +use Wikimedia\Rdbms\IReadableDatabase; use Wikimedia\Rdbms\SelectQueryBuilder; $IP = getenv( 'MW_INSTALL_PATH' ); @@ -24,7 +24,7 @@ require_once "$IP/maintenance/Maintenance.php"; class PersistRevisionThreadItems extends Maintenance { - private IDatabase $dbr; + private IReadableDatabase $dbr; private ThreadItemStore $itemStore; private RevisionStore $revStore; private Language $lang; @@ -94,7 +94,7 @@ class PersistRevisionThreadItems extends Maintenance { [ $nsInfo, 'wantSignatures' ] ) ), 'pp_propname IS NOT NULL', - ], IDatabase::LIST_OR ) ); + ], IReadableDatabase::LIST_OR ) ); if ( $this->getOption( 'current' ) ) { $qb->where( 'rev_id = page_latest' ); diff --git a/tests/phpunit/CommentParserTest.php b/tests/phpunit/CommentParserTest.php index 940484339..c835c7311 100644 --- a/tests/phpunit/CommentParserTest.php +++ b/tests/phpunit/CommentParserTest.php @@ -3,6 +3,7 @@ namespace MediaWiki\Extension\DiscussionTools\Tests; use DateTimeImmutable; +use MediaWiki\Extension\DiscussionTools\CommentParser; use MediaWiki\Extension\DiscussionTools\CommentUtils; use MediaWiki\Extension\DiscussionTools\ImmutableRange; use MediaWiki\Extension\DiscussionTools\ThreadItem\ContentCommentItem; @@ -116,6 +117,7 @@ class CommentParserTest extends IntegrationTestCase { public function testGetTimestampRegexp( string $format, string $expected, string $message ): void { + /** @var CommentParser $parser */ $parser = TestingAccessWrapper::newFromObject( MediaWikiServices::getInstance()->getService( 'DiscussionTools.CommentParser' ) ); @@ -140,6 +142,7 @@ class CommentParserTest extends IntegrationTestCase { public function testGetTimestampParser( string $format, array $data, string $expected, string $message ): void { + /** @var CommentParser $parser */ $parser = TestingAccessWrapper::newFromObject( MediaWikiServices::getInstance()->getService( 'DiscussionTools.CommentParser' ) ); @@ -161,6 +164,7 @@ class CommentParserTest extends IntegrationTestCase { string $sample, string $expected, string $expectedUtc, string $format, string $timezone, array $timezoneAbbrs, string $message ): void { + /** @var CommentParser $parser */ $parser = TestingAccessWrapper::newFromObject( MediaWikiServices::getInstance()->getService( 'DiscussionTools.CommentParser' ) ); diff --git a/tests/phpunit/MockSubscriptionStore.php b/tests/phpunit/MockSubscriptionStore.php index e23a2cbdf..0f6abe372 100644 --- a/tests/phpunit/MockSubscriptionStore.php +++ b/tests/phpunit/MockSubscriptionStore.php @@ -2,6 +2,7 @@ namespace MediaWiki\Extension\DiscussionTools\Tests; +use MediaWiki\Extension\DiscussionTools\SubscriptionItem; use MediaWiki\Extension\DiscussionTools\SubscriptionStore; use MediaWiki\User\UserIdentity;