Merge "lockmanager: sort key by bucket in QuorumLockManager::doLockByType"
[lhc/web/wiklou.git] / includes / api / ApiQueryUsers.php
index 824c4d5..ce51a67 100644 (file)
@@ -168,7 +168,7 @@ class ApiQueryUsers extends ApiQueryBase {
                                }
 
                                $this->addTables( 'user_groups' );
-                               $this->addJoinConds( [ 'user_groups' => [ 'INNER JOIN', 'ug_user=user_id' ] ] );
+                               $this->addJoinConds( [ 'user_groups' => [ 'JOIN', 'ug_user=user_id' ] ] );
                                $this->addFields( [ 'user_name' ] );
                                $this->addFields( UserGroupMembership::selectFields() );
                                $this->addWhere( 'ug_expiry IS NULL OR ug_expiry >= ' .
@@ -225,7 +225,8 @@ class ApiQueryUsers extends ApiQueryBase {
                                }
 
                                if ( isset( $this->prop['rights'] ) ) {
-                                       $data[$key]['rights'] = $user->getRights();
+                                       $data[$key]['rights'] = $this->getPermissionManager()
+                                               ->getUserPermissions( $user );
                                }
                                if ( $row->ipb_deleted ) {
                                        $data[$key]['hidden'] = true;
@@ -331,8 +332,8 @@ class ApiQueryUsers extends ApiQueryBase {
                                }
                        }
 
-                       $fit = $result->addValue( [ 'query', $this->getModuleName() ],
-                               null, $data[$u] );
+                       // @phan-suppress-next-line PhanTypeArraySuspiciousNullable
+                       $fit = $result->addValue( [ 'query', $this->getModuleName() ], null, $data[$u] );
                        if ( !$fit ) {
                                if ( $useNames ) {
                                        $this->setContinueEnumParameter( 'users',