diff --git a/extension.json b/extension.json index bc4ce04d7..f6805f49b 100644 --- a/extension.json +++ b/extension.json @@ -413,7 +413,12 @@ } }, "Actions": { - "dtunsubscribe": "MediaWiki\\Extension\\DiscussionTools\\Actions\\UnsubscribeAction" + "dtunsubscribe": { + "class": "MediaWiki\\Extension\\DiscussionTools\\Actions\\UnsubscribeAction", + "services": [ + "DiscussionTools.SubscriptionStore" + ] + } }, "ServiceWiringFiles": [ "includes/ServiceWiring.php" diff --git a/includes/Actions/UnsubscribeAction.php b/includes/Actions/UnsubscribeAction.php index d34989ab6..a8f3e96b4 100644 --- a/includes/Actions/UnsubscribeAction.php +++ b/includes/Actions/UnsubscribeAction.php @@ -9,7 +9,6 @@ use HTMLForm; use IContextSource; use MediaWiki\Extension\DiscussionTools\SubscriptionItem; use MediaWiki\Extension\DiscussionTools\SubscriptionStore; -use MediaWiki\MediaWikiServices; use Page; use Title; use User; @@ -24,10 +23,17 @@ class UnsubscribeAction extends FormAction { protected $subscriptionItem = null; /** - * @inheritDoc + * @param Page $page + * @param IContextSource $context + * @param SubscriptionStore $subscriptionStore */ - public function __construct( Page $page, IContextSource $context = null ) { + public function __construct( + Page $page, + IContextSource $context, + SubscriptionStore $subscriptionStore + ) { parent::__construct( $page, $context ); + $this->subscriptionStore = $subscriptionStore; } /** @@ -51,8 +57,6 @@ class UnsubscribeAction extends FormAction { $commentName = $this->getRequest()->getVal( 'commentname' ); if ( $commentName ) { - $this->subscriptionStore = - MediaWikiServices::getInstance()->getService( 'DiscussionTools.SubscriptionStore' ); $subscriptionItems = $this->subscriptionStore->getSubscriptionItemsForUser( $this->getUser(), [ $commentName ]