diff options
Diffstat (limited to 'includes/api/ApiProtect.php')
-rw-r--r-- | includes/api/ApiProtect.php | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/includes/api/ApiProtect.php b/includes/api/ApiProtect.php index 5d02fb812c1d..bc9ea1c6dc01 100644 --- a/includes/api/ApiProtect.php +++ b/includes/api/ApiProtect.php @@ -21,6 +21,7 @@ */ use MediaWiki\MainConfigNames; +use MediaWiki\Permissions\RestrictionStore; use MediaWiki\User\UserOptionsLookup; use MediaWiki\Watchlist\WatchlistManager; @@ -31,19 +32,25 @@ class ApiProtect extends ApiBase { use ApiWatchlistTrait; + /** @var RestrictionStore */ + private $restrictionStore; + /** * @param ApiMain $mainModule * @param string $moduleName * @param WatchlistManager $watchlistManager * @param UserOptionsLookup $userOptionsLookup + * @param RestrictionStore $restrictionStore */ public function __construct( ApiMain $mainModule, $moduleName, WatchlistManager $watchlistManager, - UserOptionsLookup $userOptionsLookup + UserOptionsLookup $userOptionsLookup, + RestrictionStore $restrictionStore ) { parent::__construct( $mainModule, $moduleName ); + $this->restrictionStore = $restrictionStore; // Variables needed in ApiWatchlistTrait trait $this->watchlistExpiryEnabled = $this->getConfig()->get( MainConfigNames::WatchlistExpiry ); @@ -86,7 +93,7 @@ class ApiProtect extends ApiBase { } } - $restrictionTypes = $titleObj->getRestrictionTypes(); + $restrictionTypes = $this->restrictionStore->listApplicableRestrictionTypes( $titleObj ); $levels = $this->getPermissionManager()->getNamespaceRestrictionLevels( $titleObj->getNamespace(), $user |