* allow them to change any user rights.
*/
if ( !$user->isAllowed( 'userrights' ) ) {
- // @TODO Should the user be blocked from changing user rights if they
- // are partially blocked?
$block = $user->getBlock();
- if ( $block ) {
- throw new UserBlockedError( $user->getBlock() );
+ if ( $block && $block->isSitewide() ) {
+ throw new UserBlockedError( $block );
}
}
wfDebug( 'newGroups: ' . print_r( $newGroups, true ) . "\n" );
wfDebug( 'oldUGMs: ' . print_r( $oldUGMs, true ) . "\n" );
wfDebug( 'newUGMs: ' . print_r( $newUGMs, true ) . "\n" );
- // Deprecated in favor of UserGroupsChanged hook
- Hooks::run( 'UserRights', [ &$user, $add, $remove ], '1.26' );
// Only add a log entry if something actually changed
if ( $newGroups != $oldGroups || $newUGMs != $oldUGMs ) {
$parts = explode( $this->getConfig()->get( 'UserrightsInterwikiDelimiter' ), $username );
if ( count( $parts ) < 2 ) {
$name = trim( $username );
- $wikiId = '';
+ $dbDomain = '';
} else {
- list( $name, $wikiId ) = array_map( 'trim', $parts );
+ list( $name, $dbDomain ) = array_map( 'trim', $parts );
- if ( WikiMap::isCurrentWikiId( $wikiId ) ) {
- $wikiId = '';
+ if ( WikiMap::isCurrentWikiId( $dbDomain ) ) {
+ $dbDomain = '';
} else {
if ( $writing && !$this->getUser()->isAllowed( 'userrights-interwiki' ) ) {
return Status::newFatal( 'userrights-no-interwiki' );
}
- if ( !UserRightsProxy::validDatabase( $wikiId ) ) {
- return Status::newFatal( 'userrights-nodatabase', $wikiId );
+ if ( !UserRightsProxy::validDatabase( $dbDomain ) ) {
+ return Status::newFatal( 'userrights-nodatabase', $dbDomain );
}
}
}
// We'll do a lookup for the name internally.
$id = intval( substr( $name, 1 ) );
- if ( $wikiId == '' ) {
+ if ( $dbDomain == '' ) {
$name = User::whoIs( $id );
} else {
- $name = UserRightsProxy::whoIs( $wikiId, $id );
+ $name = UserRightsProxy::whoIs( $dbDomain, $id );
}
if ( !$name ) {
}
}
- if ( $wikiId == '' ) {
+ if ( $dbDomain == '' ) {
$user = User::newFromName( $name );
} else {
- $user = UserRightsProxy::newFromName( $wikiId, $name );
+ $user = UserRightsProxy::newFromName( $dbDomain, $name );
}
if ( !$user || $user->isAnon() ) {