From eb4e26bc035d9bc5faa04410ffa3c66fe2a4e3be Mon Sep 17 00:00:00 2001 From: Petr Pchelko Date: Thu, 7 Jan 2021 20:27:02 -0600 Subject: [PATCH] Use Authority in special pages pagers Change-Id: I01eccaab42759c186649d69c104318e05e91157a --- includes/specialpage/SpecialPageFactory.php | 6 ------ includes/specials/SpecialActiveUsers.php | 8 ------- includes/specials/SpecialAutoblockList.php | 10 +-------- includes/specials/SpecialBlockList.php | 9 +------- .../specials/SpecialDeletedContributions.php | 1 - includes/specials/SpecialListFiles.php | 8 ------- includes/specials/SpecialListUsers.php | 8 ------- includes/specials/SpecialProtectedpages.php | 8 ------- includes/specials/pagers/ActiveUsersPager.php | 4 ---- includes/specials/pagers/BlockListPager.php | 11 ++-------- includes/specials/pagers/ContribsPager.php | 6 +----- .../specials/pagers/DeletedContribsPager.php | 21 +++++-------------- includes/specials/pagers/ImageListPager.php | 9 +------- .../specials/pagers/ProtectedPagesPager.php | 9 +------- includes/specials/pagers/UsersPager.php | 9 +------- .../includes/specials/ImageListPagerTest.php | 1 - .../specials/pagers/BlockListPagerTest.php | 6 ------ .../structure/SpecialPageFatalTest.php | 6 ++++-- 18 files changed, 17 insertions(+), 123 deletions(-) diff --git a/includes/specialpage/SpecialPageFactory.php b/includes/specialpage/SpecialPageFactory.php index 20ab10a13c2..f02b215f648 100644 --- a/includes/specialpage/SpecialPageFactory.php +++ b/includes/specialpage/SpecialPageFactory.php @@ -141,7 +141,6 @@ class SpecialPageFactory { 'class' => \SpecialProtectedpages::class, 'services' => [ 'LinkBatchFactory', - 'PermissionManager', 'DBLoadBalancer', 'CommentStore', 'ActorMigration', @@ -348,7 +347,6 @@ class SpecialPageFactory { 'class' => \SpecialActiveUsers::class, 'services' => [ 'LinkBatchFactory', - 'PermissionManager', 'DBLoadBalancer', 'UserGroupManager', ] @@ -376,7 +374,6 @@ class SpecialPageFactory { 'BlockList' => [ 'class' => \SpecialBlockList::class, 'services' => [ - 'PermissionManager', 'LinkBatchFactory', 'BlockRestrictionStore', 'DBLoadBalancer', @@ -387,7 +384,6 @@ class SpecialPageFactory { 'AutoblockList' => [ 'class' => \SpecialAutoblockList::class, 'services' => [ - 'PermissionManager', 'LinkBatchFactory', 'BlockRestrictionStore', 'DBLoadBalancer', @@ -464,7 +460,6 @@ class SpecialPageFactory { 'class' => \SpecialListUsers::class, 'services' => [ 'LinkBatchFactory', - 'PermissionManager', 'DBLoadBalancer', 'UserGroupManager', ] @@ -579,7 +574,6 @@ class SpecialPageFactory { 'class' => \SpecialListFiles::class, 'services' => [ 'RepoGroup', - 'PermissionManager', 'DBLoadBalancer', 'CommentStore', 'ActorMigration', diff --git a/includes/specials/SpecialActiveUsers.php b/includes/specials/SpecialActiveUsers.php index 2bb06e1f530..944b0da47e4 100644 --- a/includes/specials/SpecialActiveUsers.php +++ b/includes/specials/SpecialActiveUsers.php @@ -22,7 +22,6 @@ */ use MediaWiki\Cache\LinkBatchFactory; -use MediaWiki\Permissions\PermissionManager; use MediaWiki\User\UserGroupManager; use Wikimedia\Rdbms\ILoadBalancer; @@ -36,9 +35,6 @@ class SpecialActiveUsers extends SpecialPage { /** @var LinkBatchFactory */ private $linkBatchFactory; - /** @var PermissionManager */ - private $permissionManager; - /** @var ILoadBalancer */ private $loadBalancer; @@ -47,19 +43,16 @@ class SpecialActiveUsers extends SpecialPage { /** * @param LinkBatchFactory $linkBatchFactory - * @param PermissionManager $permissionManager * @param ILoadBalancer $loadBalancer * @param UserGroupManager $userGroupManager */ public function __construct( LinkBatchFactory $linkBatchFactory, - PermissionManager $permissionManager, ILoadBalancer $loadBalancer, UserGroupManager $userGroupManager ) { parent::__construct( 'Activeusers' ); $this->linkBatchFactory = $linkBatchFactory; - $this->permissionManager = $permissionManager; $this->loadBalancer = $loadBalancer; $this->userGroupManager = $userGroupManager; } @@ -93,7 +86,6 @@ class SpecialActiveUsers extends SpecialPage { $opts, $this->linkBatchFactory, $this->getHookContainer(), - $this->permissionManager, $this->loadBalancer, $this->userGroupManager ); diff --git a/includes/specials/SpecialAutoblockList.php b/includes/specials/SpecialAutoblockList.php index f7e0a2d4692..bc6d540aa08 100644 --- a/includes/specials/SpecialAutoblockList.php +++ b/includes/specials/SpecialAutoblockList.php @@ -23,7 +23,6 @@ use MediaWiki\Block\BlockRestrictionStore; use MediaWiki\Cache\LinkBatchFactory; -use MediaWiki\Permissions\PermissionManager; use Wikimedia\Rdbms\ILoadBalancer; /** @@ -34,9 +33,6 @@ use Wikimedia\Rdbms\ILoadBalancer; */ class SpecialAutoblockList extends SpecialPage { - /** @var PermissionManager */ - private $permManager; - /** @var LinkBatchFactory */ private $linkBatchFactory; @@ -53,7 +49,6 @@ class SpecialAutoblockList extends SpecialPage { private $commentStore; /** - * @param PermissionManager $permManager * @param LinkBatchFactory $linkBatchFactory * @param BlockRestrictionStore $blockRestrictionStore * @param ILoadBalancer $loadBalancer @@ -61,7 +56,6 @@ class SpecialAutoblockList extends SpecialPage { * @param CommentStore $commentStore */ public function __construct( - PermissionManager $permManager, LinkBatchFactory $linkBatchFactory, BlockRestrictionStore $blockRestrictionStore, ILoadBalancer $loadBalancer, @@ -70,7 +64,6 @@ class SpecialAutoblockList extends SpecialPage { ) { parent::__construct( 'AutoblockList' ); - $this->permManager = $permManager; $this->linkBatchFactory = $linkBatchFactory; $this->blockRestrictionStore = $blockRestrictionStore; $this->loadBalancer = $loadBalancer; @@ -126,7 +119,7 @@ class SpecialAutoblockList extends SpecialPage { 'ipb_parent_block_id IS NOT NULL' ]; # Is the user allowed to see hidden blocks? - if ( !$this->permManager->userHasRight( $this->getUser(), 'hideuser' ) ) { + if ( !$this->getContext()->getAuthority()->isAllowed( 'hideuser' ) ) { $conds['ipb_deleted'] = 0; } @@ -135,7 +128,6 @@ class SpecialAutoblockList extends SpecialPage { $conds, $this->linkBatchFactory, $this->blockRestrictionStore, - $this->permManager, $this->loadBalancer, $this->getSpecialPageFactory(), $this->actorMigration, diff --git a/includes/specials/SpecialBlockList.php b/includes/specials/SpecialBlockList.php index 106afab0a7e..6b1af659dbb 100644 --- a/includes/specials/SpecialBlockList.php +++ b/includes/specials/SpecialBlockList.php @@ -24,7 +24,6 @@ use MediaWiki\Block\BlockRestrictionStore; use MediaWiki\Block\DatabaseBlock; use MediaWiki\Cache\LinkBatchFactory; -use MediaWiki\Permissions\PermissionManager; use Wikimedia\IPUtils; use Wikimedia\Rdbms\IDatabase; use Wikimedia\Rdbms\ILoadBalancer; @@ -41,9 +40,6 @@ class SpecialBlockList extends SpecialPage { protected $blockType; - /** @var PermissionManager */ - private $permManager; - /** @var LinkBatchFactory */ private $linkBatchFactory; @@ -60,7 +56,6 @@ class SpecialBlockList extends SpecialPage { private $commentStore; public function __construct( - PermissionManager $permManager, LinkBatchFactory $linkBatchFactory, BlockRestrictionStore $blockRestrictionStore, ILoadBalancer $loadBalancer, @@ -69,7 +64,6 @@ class SpecialBlockList extends SpecialPage { ) { parent::__construct( 'BlockList' ); - $this->permManager = $permManager; $this->linkBatchFactory = $linkBatchFactory; $this->blockRestrictionStore = $blockRestrictionStore; $this->loadBalancer = $loadBalancer; @@ -173,7 +167,7 @@ class SpecialBlockList extends SpecialPage { $conds = []; $db = $this->getDB(); # Is the user allowed to see hidden blocks? - if ( !$this->permManager->userHasRight( $this->getUser(), 'hideuser' ) ) { + if ( !$this->getContext()->getAuthority()->isAllowed( 'hideuser' ) ) { $conds['ipb_deleted'] = 0; } @@ -239,7 +233,6 @@ class SpecialBlockList extends SpecialPage { $conds, $this->linkBatchFactory, $this->blockRestrictionStore, - $this->permManager, $this->loadBalancer, $this->getSpecialPageFactory(), $this->actorMigration, diff --git a/includes/specials/SpecialDeletedContributions.php b/includes/specials/SpecialDeletedContributions.php index 328ca01b376..ec45648e812 100644 --- a/includes/specials/SpecialDeletedContributions.php +++ b/includes/specials/SpecialDeletedContributions.php @@ -158,7 +158,6 @@ class SpecialDeletedContributions extends SpecialPage { $opts->getValue( 'namespace' ), $this->getLinkRenderer(), $this->getHookContainer(), - $this->permissionManager, $this->loadBalancer, $this->commentStore, $this->actorMigration, diff --git a/includes/specials/SpecialListFiles.php b/includes/specials/SpecialListFiles.php index 650f3825d7a..bd5d62abba4 100644 --- a/includes/specials/SpecialListFiles.php +++ b/includes/specials/SpecialListFiles.php @@ -21,7 +21,6 @@ * @ingroup SpecialPage */ -use MediaWiki\Permissions\PermissionManager; use MediaWiki\User\UserNamePrefixSearch; use MediaWiki\User\UserNameUtils; use Wikimedia\Rdbms\ILoadBalancer; @@ -31,9 +30,6 @@ class SpecialListFiles extends IncludableSpecialPage { /** @var RepoGroup */ private $repoGroup; - /** @var PermissionManager */ - private $permissionManager; - /** @var ILoadBalancer */ private $loadBalancer; @@ -54,7 +50,6 @@ class SpecialListFiles extends IncludableSpecialPage { /** * @param RepoGroup $repoGroup - * @param PermissionManager $permissionManager * @param ILoadBalancer $loadBalancer * @param CommentStore $commentStore * @param ActorMigration $actorMigration @@ -64,7 +59,6 @@ class SpecialListFiles extends IncludableSpecialPage { */ public function __construct( RepoGroup $repoGroup, - PermissionManager $permissionManager, ILoadBalancer $loadBalancer, CommentStore $commentStore, ActorMigration $actorMigration, @@ -74,7 +68,6 @@ class SpecialListFiles extends IncludableSpecialPage { ) { parent::__construct( 'Listfiles' ); $this->repoGroup = $repoGroup; - $this->permissionManager = $permissionManager; $this->loadBalancer = $loadBalancer; $this->commentStore = $commentStore; $this->actorMigration = $actorMigration; @@ -117,7 +110,6 @@ class SpecialListFiles extends IncludableSpecialPage { $showAll, $this->getLinkRenderer(), $this->repoGroup, - $this->permissionManager, $this->loadBalancer, $this->commentStore, $this->actorMigration, diff --git a/includes/specials/SpecialListUsers.php b/includes/specials/SpecialListUsers.php index 3cff219dc77..3bb2a26644c 100644 --- a/includes/specials/SpecialListUsers.php +++ b/includes/specials/SpecialListUsers.php @@ -26,7 +26,6 @@ */ use MediaWiki\Cache\LinkBatchFactory; -use MediaWiki\Permissions\PermissionManager; use MediaWiki\User\UserGroupManager; use Wikimedia\Rdbms\ILoadBalancer; @@ -38,9 +37,6 @@ class SpecialListUsers extends IncludableSpecialPage { /** @var LinkBatchFactory */ private $linkBatchFactory; - /** @var PermissionManager */ - private $permissionManager; - /** @var ILoadBalancer */ private $loadBalancer; @@ -49,19 +45,16 @@ class SpecialListUsers extends IncludableSpecialPage { /** * @param LinkBatchFactory $linkBatchFactory - * @param PermissionManager $permissionManager * @param ILoadBalancer $loadBalancer * @param UserGroupManager $userGroupManager */ public function __construct( LinkBatchFactory $linkBatchFactory, - PermissionManager $permissionManager, ILoadBalancer $loadBalancer, UserGroupManager $userGroupManager ) { parent::__construct( 'Listusers' ); $this->linkBatchFactory = $linkBatchFactory; - $this->permissionManager = $permissionManager; $this->loadBalancer = $loadBalancer; $this->userGroupManager = $userGroupManager; } @@ -79,7 +72,6 @@ class SpecialListUsers extends IncludableSpecialPage { $this->including(), $this->linkBatchFactory, $this->getHookContainer(), - $this->permissionManager, $this->loadBalancer, $this->userGroupManager ); diff --git a/includes/specials/SpecialProtectedpages.php b/includes/specials/SpecialProtectedpages.php index d0e48c8c2d6..a62fd2bf8fd 100644 --- a/includes/specials/SpecialProtectedpages.php +++ b/includes/specials/SpecialProtectedpages.php @@ -22,7 +22,6 @@ */ use MediaWiki\Cache\LinkBatchFactory; -use MediaWiki\Permissions\PermissionManager; use Wikimedia\Rdbms\ILoadBalancer; /** @@ -37,9 +36,6 @@ class SpecialProtectedpages extends SpecialPage { /** @var LinkBatchFactory */ private $linkBatchFactory; - /** @var PermissionManager */ - private $permissionManager; - /** @var ILoadBalancer */ private $loadBalancer; @@ -54,7 +50,6 @@ class SpecialProtectedpages extends SpecialPage { /** * @param LinkBatchFactory $linkBatchFactory - * @param PermissionManager $permissionManager * @param ILoadBalancer $loadBalancer * @param CommentStore $commentStore * @param ActorMigration $actorMigration @@ -62,7 +57,6 @@ class SpecialProtectedpages extends SpecialPage { */ public function __construct( LinkBatchFactory $linkBatchFactory, - PermissionManager $permissionManager, ILoadBalancer $loadBalancer, CommentStore $commentStore, ActorMigration $actorMigration, @@ -70,7 +64,6 @@ class SpecialProtectedpages extends SpecialPage { ) { parent::__construct( 'Protectedpages' ); $this->linkBatchFactory = $linkBatchFactory; - $this->permissionManager = $permissionManager; $this->loadBalancer = $loadBalancer; $this->commentStore = $commentStore; $this->actorMigration = $actorMigration; @@ -108,7 +101,6 @@ class SpecialProtectedpages extends SpecialPage { $noRedirect, $this->getLinkRenderer(), $this->linkBatchFactory, - $this->permissionManager, $this->loadBalancer, $this->commentStore, $this->actorMigration, diff --git a/includes/specials/pagers/ActiveUsersPager.php b/includes/specials/pagers/ActiveUsersPager.php index 151ffffdd32..952ae897078 100644 --- a/includes/specials/pagers/ActiveUsersPager.php +++ b/includes/specials/pagers/ActiveUsersPager.php @@ -21,7 +21,6 @@ use MediaWiki\Cache\LinkBatchFactory; use MediaWiki\HookContainer\HookContainer; -use MediaWiki\Permissions\PermissionManager; use MediaWiki\User\UserGroupManager; use Wikimedia\Rdbms\ILoadBalancer; @@ -60,7 +59,6 @@ class ActiveUsersPager extends UsersPager { * @param FormOptions $opts * @param LinkBatchFactory|null $linkBatchFactory * @param HookContainer $hookContainer - * @param PermissionManager $permissionManager * @param ILoadBalancer $loadBalancer * @param UserGroupManager $userGroupManager */ @@ -69,7 +67,6 @@ class ActiveUsersPager extends UsersPager { FormOptions $opts, LinkBatchFactory $linkBatchFactory, HookContainer $hookContainer, - PermissionManager $permissionManager, ILoadBalancer $loadBalancer, UserGroupManager $userGroupManager ) { @@ -79,7 +76,6 @@ class ActiveUsersPager extends UsersPager { null, $linkBatchFactory, $hookContainer, - $permissionManager, $loadBalancer, $userGroupManager ); diff --git a/includes/specials/pagers/BlockListPager.php b/includes/specials/pagers/BlockListPager.php index 77941a2b07c..5f82bb27f20 100644 --- a/includes/specials/pagers/BlockListPager.php +++ b/includes/specials/pagers/BlockListPager.php @@ -25,7 +25,6 @@ use MediaWiki\Block\Restriction\NamespaceRestriction; use MediaWiki\Block\Restriction\PageRestriction; use MediaWiki\Block\Restriction\Restriction; use MediaWiki\Cache\LinkBatchFactory; -use MediaWiki\Permissions\PermissionManager; use MediaWiki\SpecialPage\SpecialPageFactory; use MediaWiki\User\UserIdentity; use Wikimedia\IPUtils; @@ -52,9 +51,6 @@ class BlockListPager extends TablePager { /** @var BlockRestrictionStore */ private $blockRestrictionStore; - /** @var PermissionManager */ - private $permissionManager; - /** @var SpecialPageFactory */ private $specialPageFactory; @@ -69,7 +65,6 @@ class BlockListPager extends TablePager { * @param array $conds * @param LinkBatchFactory $linkBatchFactory * @param BlockRestrictionStore $blockRestrictionStore - * @param PermissionManager $permissionManager * @param ILoadBalancer $loadBalancer * @param SpecialPageFactory $specialPageFactory * @param ActorMigration $actorMigration @@ -80,7 +75,6 @@ class BlockListPager extends TablePager { $conds, LinkBatchFactory $linkBatchFactory, BlockRestrictionStore $blockRestrictionStore, - PermissionManager $permissionManager, ILoadBalancer $loadBalancer, SpecialPageFactory $specialPageFactory, ActorMigration $actorMigration, @@ -92,7 +86,6 @@ class BlockListPager extends TablePager { $this->mDefaultDirection = IndexPager::DIR_DESCENDING; $this->linkBatchFactory = $linkBatchFactory; $this->blockRestrictionStore = $blockRestrictionStore; - $this->permissionManager = $permissionManager; $this->specialPageFactory = $specialPageFactory; $this->actorMigration = $actorMigration; $this->commentStore = $commentStore; @@ -190,7 +183,7 @@ class BlockListPager extends TablePager { $value, /* User preference timezone */true ) ); - if ( $this->permissionManager->userHasRight( $this->getUser(), 'block' ) ) { + if ( $this->getAuthority()->isAllowed( 'block' ) ) { $links = []; if ( $row->ipb_auto ) { $links[] = $linkRenderer->makeKnownLink( @@ -411,7 +404,7 @@ class BlockListPager extends TablePager { $info['conds'][] = 'ipb_expiry > ' . $db->addQuotes( $db->timestamp() ); # Is the user allowed to see hidden blocks? - if ( !$this->permissionManager->userHasRight( $this->getUser(), 'hideuser' ) ) { + if ( !$this->getAuthority()->isAllowed( 'hideuser' ) ) { $info['conds']['ipb_deleted'] = 0; } diff --git a/includes/specials/pagers/ContribsPager.php b/includes/specials/pagers/ContribsPager.php index 350c18b3981..0bcbe736a83 100644 --- a/includes/specials/pagers/ContribsPager.php +++ b/includes/specials/pagers/ContribsPager.php @@ -681,11 +681,7 @@ class ContribsPager extends RangeChronologicalPager { } # Is there a visible previous revision? if ( $revRecord->getParentId() !== 0 && - RevisionRecord::userCanBitfield( - $revRecord->getVisibility(), - RevisionRecord::DELETED_TEXT, - $user - ) + $revRecord->userCan( RevisionRecord::DELETED_TEXT, $this->getAuthority() ) ) { $difftext = $linkRenderer->makeKnownLink( $page, diff --git a/includes/specials/pagers/DeletedContribsPager.php b/includes/specials/pagers/DeletedContribsPager.php index de6e273c9c5..674d941ea3b 100644 --- a/includes/specials/pagers/DeletedContribsPager.php +++ b/includes/specials/pagers/DeletedContribsPager.php @@ -22,7 +22,6 @@ use MediaWiki\HookContainer\HookContainer; use MediaWiki\HookContainer\HookRunner; use MediaWiki\Linker\LinkRenderer; -use MediaWiki\Permissions\PermissionManager; use MediaWiki\Revision\RevisionFactory; use MediaWiki\Revision\RevisionRecord; use Wikimedia\Rdbms\FakeResultWrapper; @@ -62,9 +61,6 @@ class DeletedContribsPager extends IndexPager { /** @var HookRunner */ private $hookRunner; - /** @var PermissionManager */ - private $permissionManager; - /** @var CommentStore */ private $commentStore; @@ -80,7 +76,6 @@ class DeletedContribsPager extends IndexPager { * @param string|int $namespace * @param LinkRenderer $linkRenderer * @param HookContainer $hookContainer - * @param PermissionManager $permissionManager * @param ILoadBalancer $loadBalancer * @param CommentStore $commentStore * @param ActorMigration $actorMigration @@ -92,7 +87,6 @@ class DeletedContribsPager extends IndexPager { $namespace, LinkRenderer $linkRenderer, HookContainer $hookContainer, - PermissionManager $permissionManager, ILoadBalancer $loadBalancer, CommentStore $commentStore, ActorMigration $actorMigration, @@ -108,7 +102,6 @@ class DeletedContribsPager extends IndexPager { $this->target = $target; $this->namespace = $namespace; $this->hookRunner = new HookRunner( $hookContainer ); - $this->permissionManager = $permissionManager; $this->commentStore = $commentStore; $this->actorMigration = $actorMigration; $this->revisionFactory = $revisionFactory; @@ -132,9 +125,9 @@ class DeletedContribsPager extends IndexPager { $conds = array_merge( $userCond, $this->getNamespaceCond() ); $user = $this->getUser(); // Paranoia: avoid brute force searches (T19792) - if ( !$this->permissionManager->userHasRight( $user, 'deletedhistory' ) ) { + if ( !$this->getAuthority()->isAllowed( 'deletedhistory' ) ) { $conds[] = $dbr->bitAnd( 'ar_deleted', RevisionRecord::DELETED_USER ) . ' = 0'; - } elseif ( !$this->permissionManager->userHasAnyRight( $user, 'suppressrevision', 'viewsuppressed' ) ) { + } elseif ( !$this->getAuthority()->isAllowedAny( 'suppressrevision', 'viewsuppressed' ) ) { $conds[] = $dbr->bitAnd( 'ar_deleted', RevisionRecord::SUPPRESSED_USER ) . ' != ' . RevisionRecord::SUPPRESSED_USER; } @@ -357,7 +350,7 @@ class DeletedContribsPager extends IndexPager { $user = $this->getUser(); - if ( $this->permissionManager->userHasRight( $user, 'deletedtext' ) ) { + if ( $this->getAuthority()->isAllowed( 'deletedtext' ) ) { $last = $linkRenderer->makeKnownLink( $undelete, $this->messages['diff'], @@ -375,12 +368,8 @@ class DeletedContribsPager extends IndexPager { $comment = Linker::revComment( $revRecord ); $date = $this->getLanguage()->userTimeAndDate( $revRecord->getTimestamp(), $user ); - if ( !$this->permissionManager->userHasRight( $user, 'undelete' ) || - !RevisionRecord::userCanBitfield( - $revRecord->getVisibility(), - RevisionRecord::DELETED_TEXT, - $user - ) + if ( !$this->getAuthority()->isAllowed( 'undelete' ) || + !$revRecord->userCan( RevisionRecord::DELETED_TEXT, $this->getAuthority() ) ) { $link = htmlspecialchars( $date ); // unusable link } else { diff --git a/includes/specials/pagers/ImageListPager.php b/includes/specials/pagers/ImageListPager.php index 2e46c93cbb5..630f2e8a143 100644 --- a/includes/specials/pagers/ImageListPager.php +++ b/includes/specials/pagers/ImageListPager.php @@ -20,7 +20,6 @@ */ use MediaWiki\Linker\LinkRenderer; -use MediaWiki\Permissions\PermissionManager; use Wikimedia\Rdbms\FakeResultWrapper; use Wikimedia\Rdbms\ILoadBalancer; use Wikimedia\Rdbms\IResultWrapper; @@ -55,9 +54,6 @@ class ImageListPager extends TablePager { /** @var LocalRepo */ private $localRepo; - /** @var PermissionManager */ - private $permissionManager; - /** @var CommentStore */ private $commentStore; @@ -84,7 +80,6 @@ class ImageListPager extends TablePager { * @param bool $showAll * @param LinkRenderer $linkRenderer * @param RepoGroup $repoGroup - * @param PermissionManager $permissionManager * @param ILoadBalancer $loadBalancer * @param CommentStore $commentStore * @param ActorMigration $actorMigration @@ -98,7 +93,6 @@ class ImageListPager extends TablePager { $showAll, LinkRenderer $linkRenderer, RepoGroup $repoGroup, - PermissionManager $permissionManager, ILoadBalancer $loadBalancer, CommentStore $commentStore, ActorMigration $actorMigration, @@ -151,7 +145,6 @@ class ImageListPager extends TablePager { parent::__construct( $context, $linkRenderer ); $this->localRepo = $repoGroup->getLocalRepo(); - $this->permissionManager = $permissionManager; $this->commentStore = $commentStore; $this->actorMigration = $actorMigration; $this->userCache = $userCache; @@ -540,7 +533,7 @@ class ImageListPager extends TablePager { // Add delete links if allowed // From https://github.com/Wikia/app/pull/3859 - if ( $this->permissionManager->userCan( 'delete', $this->getUser(), $filePage ) ) { + if ( $this->getAuthority()->probablyCan( 'delete', $filePage ) ) { $deleteMsg = $this->msg( 'listfiles-delete' )->text(); $delete = $linkRenderer->makeKnownLink( diff --git a/includes/specials/pagers/ProtectedPagesPager.php b/includes/specials/pagers/ProtectedPagesPager.php index f5f2b3c5db4..b216f60b7ef 100644 --- a/includes/specials/pagers/ProtectedPagesPager.php +++ b/includes/specials/pagers/ProtectedPagesPager.php @@ -21,7 +21,6 @@ use MediaWiki\Cache\LinkBatchFactory; use MediaWiki\Linker\LinkRenderer; -use MediaWiki\Permissions\PermissionManager; use Wikimedia\Rdbms\ILoadBalancer; class ProtectedPagesPager extends TablePager { @@ -32,9 +31,6 @@ class ProtectedPagesPager extends TablePager { /** @var LinkBatchFactory */ private $linkBatchFactory; - /** @var PermissionManager */ - private $permissionManager; - /** @var CommentStore */ private $commentStore; @@ -57,7 +53,6 @@ class ProtectedPagesPager extends TablePager { * @param bool $noredirect * @param LinkRenderer $linkRenderer * @param LinkBatchFactory $linkBatchFactory - * @param PermissionManager $permissionManager * @param ILoadBalancer $loadBalancer * @param CommentStore $commentStore * @param ActorMigration $actorMigration @@ -76,7 +71,6 @@ class ProtectedPagesPager extends TablePager { $noredirect, LinkRenderer $linkRenderer, LinkBatchFactory $linkBatchFactory, - PermissionManager $permissionManager, ILoadBalancer $loadBalancer, CommentStore $commentStore, ActorMigration $actorMigration, @@ -95,7 +89,6 @@ class ProtectedPagesPager extends TablePager { $this->cascadeonly = (bool)$cascadeonly; $this->noredirect = (bool)$noredirect; $this->linkBatchFactory = $linkBatchFactory; - $this->permissionManager = $permissionManager; $this->commentStore = $commentStore; $this->actorMigration = $actorMigration; $this->userCache = $userCache; @@ -204,7 +197,7 @@ class ProtectedPagesPager extends TablePager { $formatted = htmlspecialchars( $this->getLanguage()->formatExpiry( $value, /* User preference timezone */true ) ); $title = Title::makeTitleSafe( $row->page_namespace, $row->page_title ); - if ( $title && $this->permissionManager->userHasRight( $this->getUser(), 'protect' ) ) { + if ( $title && $this->getAuthority()->isAllowed( 'protect' ) ) { $changeProtection = $linkRenderer->makeKnownLink( $title, $this->msg( 'protect_change' )->text(), diff --git a/includes/specials/pagers/UsersPager.php b/includes/specials/pagers/UsersPager.php index 50b42903f52..6492b6ab291 100644 --- a/includes/specials/pagers/UsersPager.php +++ b/includes/specials/pagers/UsersPager.php @@ -26,7 +26,6 @@ use MediaWiki\Cache\LinkBatchFactory; use MediaWiki\HookContainer\HookContainer; use MediaWiki\HookContainer\HookRunner; -use MediaWiki\Permissions\PermissionManager; use MediaWiki\User\UserGroupManager; use Wikimedia\Rdbms\ILoadBalancer; @@ -68,9 +67,6 @@ class UsersPager extends AlphabeticPager { /** @var HookRunner */ private $hookRunner; - /** @var PermissionManager */ - private $permissionManager; - /** @var UserGroupManager */ private $userGroupManager; @@ -81,7 +77,6 @@ class UsersPager extends AlphabeticPager { * another page * @param LinkBatchFactory $linkBatchFactory * @param HookContainer $hookContainer - * @param PermissionManager $permissionManager * @param ILoadBalancer $loadBalancer * @param UserGroupManager $userGroupManager */ @@ -91,7 +86,6 @@ class UsersPager extends AlphabeticPager { $including, LinkBatchFactory $linkBatchFactory, HookContainer $hookContainer, - PermissionManager $permissionManager, ILoadBalancer $loadBalancer, UserGroupManager $userGroupManager ) { @@ -143,7 +137,6 @@ class UsersPager extends AlphabeticPager { parent::__construct(); $this->linkBatchFactory = $linkBatchFactory; $this->hookRunner = new HookRunner( $hookContainer ); - $this->permissionManager = $permissionManager; $this->userGroupManager = $userGroupManager; } @@ -431,7 +424,7 @@ class UsersPager extends AlphabeticPager { } protected function canSeeHideuser() { - return $this->permissionManager->userHasRight( $this->getUser(), 'hideuser' ); + return $this->getAuthority()->isAllowed( 'hideuser' ); } /** diff --git a/tests/phpunit/includes/specials/ImageListPagerTest.php b/tests/phpunit/includes/specials/ImageListPagerTest.php index d55117ae525..e929f2bac1d 100644 --- a/tests/phpunit/includes/specials/ImageListPagerTest.php +++ b/tests/phpunit/includes/specials/ImageListPagerTest.php @@ -25,7 +25,6 @@ class ImageListPagerTest extends MediaWikiIntegrationTestCase { false, $services->getLinkRenderer(), $services->getRepoGroup(), - $services->getPermissionManager(), $services->getDBLoadBalancer(), $services->getCommentStore(), $services->getActorMigration(), diff --git a/tests/phpunit/includes/specials/pagers/BlockListPagerTest.php b/tests/phpunit/includes/specials/pagers/BlockListPagerTest.php index e1d98c689f5..cf8aa873f19 100644 --- a/tests/phpunit/includes/specials/pagers/BlockListPagerTest.php +++ b/tests/phpunit/includes/specials/pagers/BlockListPagerTest.php @@ -6,7 +6,6 @@ use MediaWiki\Block\Restriction\NamespaceRestriction; use MediaWiki\Block\Restriction\PageRestriction; use MediaWiki\Cache\LinkBatchFactory; use MediaWiki\MediaWikiServices; -use MediaWiki\Permissions\PermissionManager; use MediaWiki\SpecialPage\SpecialPageFactory; use Wikimedia\Rdbms\ILoadBalancer; use Wikimedia\TestingAccessWrapper; @@ -25,9 +24,6 @@ class BlockListPagerTest extends MediaWikiIntegrationTestCase { /** @var BlockRestrictionStore */ private $blockRestrictionStore; - /** @var PermissionManager */ - private $permissionManager; - /** @var ILoadBalancer */ private $loadBalancer; @@ -46,7 +42,6 @@ class BlockListPagerTest extends MediaWikiIntegrationTestCase { $services = MediaWikiServices::getInstance(); $this->linkBatchFactory = $services->getLinkBatchFactory(); $this->blockRestrictionStore = $services->getBlockRestrictionStore(); - $this->permissionManager = $services->getPermissionManager(); $this->loadBalancer = $services->getDBLoadBalancer(); $this->specialPageFactory = $services->getSpecialPageFactory(); $this->actorMigration = $services->getActorMigration(); @@ -59,7 +54,6 @@ class BlockListPagerTest extends MediaWikiIntegrationTestCase { [], $this->linkBatchFactory, $this->blockRestrictionStore, - $this->permissionManager, $this->loadBalancer, $this->specialPageFactory, $this->actorMigration, diff --git a/tests/phpunit/structure/SpecialPageFatalTest.php b/tests/phpunit/structure/SpecialPageFatalTest.php index db6cb02bec6..12af4ecaee8 100644 --- a/tests/phpunit/structure/SpecialPageFatalTest.php +++ b/tests/phpunit/structure/SpecialPageFatalTest.php @@ -1,6 +1,8 @@ getPage( $name ); $executor = new SpecialPageExecutor(); - $user = User::newFromName( 'UTSysop' ); + $authority = new UltimateAuthority( new UserIdentityValue( 0, 'UTSysop', 0 ) ); try { - $executor->executeSpecialPage( $page, '', null, 'qqx', $user ); + $executor->executeSpecialPage( $page, '', null, 'qqx', $authority ); } catch ( \PHPUnit\Framework\Error\Deprecated $deprecated ) { // Allow deprecation, // this test want to check fatals or other things breaking the extension