* @ingroup SpecialPage
*/
+use MediaWiki\MediaWikiServices;
+
/**
* Special page to allow managing user group membership
*
*
* @param string|null $par String if any subpage provided, else null
* @throws UserBlockedError|PermissionsError
+ * @suppress PhanUndeclaredMethod
*/
public function execute( $par ) {
$user = $this->getUser();
* (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 );
] );
$logid = $logEntry->insert();
if ( count( $tags ) ) {
- $logEntry->setTags( $tags );
+ $logEntry->addTags( $tags );
}
$logEntry->publish( $logid );
}
$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 );
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 ) ) {