X-Git-Url: https://git.heureux-cyclage.org/?a=blobdiff_plain;ds=sidebyside;f=includes%2Fapi%2FApiQueryAllUsers.php;h=79f64694423a35f93c9ff9e549585ae4b9259b53;hb=fbe10c4b3dc982d96cbf846495b178dc362c1fa3;hp=1e29a648322771f8ac0e5f720f86447b334cd096;hpb=125d6d5feceba4d3d740efb5be0be83058546a20;p=lhc%2Fweb%2Fwiklou.git diff --git a/includes/api/ApiQueryAllUsers.php b/includes/api/ApiQueryAllUsers.php index 1e29a64832..79f6469442 100644 --- a/includes/api/ApiQueryAllUsers.php +++ b/includes/api/ApiQueryAllUsers.php @@ -81,12 +81,18 @@ class ApiQueryAllUsers extends ApiQueryBase { $db->buildLike( $this->getCanonicalUserName( $params['prefix'] ), $db->anyString() ) ); } - if ( !is_null( $params['rights'] ) ) { + if ( !is_null( $params['rights'] ) && count( $params['rights'] ) ) { $groups = array(); foreach( $params['rights'] as $r ) { $groups = array_merge( $groups, User::getGroupsWithPermission( $r ) ); } + // no group with the given right(s) exists, no need for a query + if( !count( $groups ) ) { + $this->getResult()->setIndexedTagName_internal( array( 'query', $this->getModuleName() ), '' ); + return; + } + $groups = array_unique( $groups ); if ( is_null( $params['group'] ) ) { @@ -152,7 +158,7 @@ class ApiQueryAllUsers extends ApiQueryBase { 'INNER JOIN', 'rc_user_text=user_name' ) ) ); - $this->addFields( 'COUNT(*) AS recentedits' ); + $this->addFields( array( 'recentedits' => 'COUNT(*)' ) ); $this->addWhere( 'rc_log_type IS NULL OR rc_log_type != ' . $db->addQuotes( 'newusers' ) ); $timestamp = $db->timestamp( wfTimestamp( TS_UNIX ) - $wgActiveUserDays*24*3600 ); @@ -252,7 +258,7 @@ class ApiQueryAllUsers extends ApiQueryBase { if ( $fld_groups ) { if ( !isset( $lastUserData['groups'] ) ) { if ( $lastUserObj ) { - $lastUserData['groups'] = ApiQueryUsers::getAutoGroups( $lastUserObj ); + $lastUserData['groups'] = $lastUserObj->getAutomaticGroups(); } else { // This should not normally happen $lastUserData['groups'] = array(); @@ -267,7 +273,7 @@ class ApiQueryAllUsers extends ApiQueryBase { } if ( $fld_implicitgroups && !isset( $lastUserData['implicitgroups'] ) && $lastUserObj ) { - $lastUserData['implicitgroups'] = ApiQueryUsers::getAutoGroups( $lastUserObj ); + $lastUserData['implicitgroups'] = $lastUserObj->getAutomaticGroups(); $result->setIndexedTagName( $lastUserData['implicitgroups'], 'g' ); } if ( $fld_rights ) {