X-Git-Url: https://git.heureux-cyclage.org/?p=lhc%2Fweb%2Fwiklou.git;a=blobdiff_plain;f=includes%2Fspecials%2FSpecialUserrights.php;h=585699ddd0c28a43c55e334067095147183931a5;hp=a45ccca8a7e743164d174b95ccd3714eeab8f9bd;hb=e19e6bfabcaf2b6aa5dd837ff7057bd6a25baef8;hpb=4cc031607c9b8e17265e51372b94399399254966 diff --git a/includes/specials/SpecialUserrights.php b/includes/specials/SpecialUserrights.php index a45ccca8a7..585699ddd0 100644 --- a/includes/specials/SpecialUserrights.php +++ b/includes/specials/SpecialUserrights.php @@ -21,6 +21,8 @@ * @ingroup SpecialPage */ +use MediaWiki\MediaWikiServices; + /** * Special page to allow managing user group membership * @@ -86,6 +88,7 @@ class UserrightsPage extends SpecialPage { * * @param string|null $par String if any subpage provided, else null * @throws UserBlockedError|PermissionsError + * @suppress PhanUndeclaredMethod */ public function execute( $par ) { $user = $this->getUser(); @@ -160,7 +163,10 @@ class UserrightsPage extends SpecialPage { * (e.g. they don't have the userrights permission), then don't * allow them to change any user rights. */ - if ( !$user->isAllowed( 'userrights' ) ) { + if ( !MediaWikiServices::getInstance() + ->getPermissionManager() + ->userHasRight( $user, 'userrights' ) + ) { $block = $user->getBlock(); if ( $block && $block->isSitewide() ) { throw new UserBlockedError( $block ); @@ -479,10 +485,12 @@ class UserrightsPage extends SpecialPage { $this->getOutput()->addWikiTextAsInterface( $status->getWikiText() ); return; - } else { - $user = $status->value; } + /** @var User $user */ + $user = $status->value; + '@phan-var User $user'; + $groups = $user->getGroups(); $groupMemberships = $user->getGroupMemberships(); $this->showEditUserGroupsForm( $user, $groups, $groupMemberships ); @@ -512,7 +520,10 @@ class UserrightsPage extends SpecialPage { if ( WikiMap::isCurrentWikiId( $dbDomain ) ) { $dbDomain = ''; } else { - if ( $writing && !$this->getUser()->isAllowed( 'userrights-interwiki' ) ) { + if ( $writing && !MediaWikiServices::getInstance() + ->getPermissionManager() + ->userHasRight( $this->getUser(), 'userrights-interwiki' ) + ) { return Status::newFatal( 'userrights-no-interwiki' ); } if ( !UserRightsProxy::validDatabase( $dbDomain ) ) {