} else {
$sqlLimit = $limit + 1;
}
+
if ( $fld_blockinfo ) {
$this->addTables( 'ipblocks' );
$this->addTables( 'user', 'u2' );
if ( is_array( $lastUserData ) ) {
$fit = $result->addValue( array( 'query', $this->getModuleName() ),
null, $lastUserData );
+
+ $lastUserData = null;
+
if ( !$fit ) {
$this->setContinueEnumParameter( 'from',
$this->keyToTitle( $lastUserData['name'] ) );
// Add user's group info
if ( $fld_groups && !is_null( $row->ug_group2 ) ) {
+ if ( !isset( $lastUserData['groups'] ) ) {
+ $lastUserData['groups'] = ApiQueryUsers::getAutoGroups( User::newFromName( $lastUser ) );
+ }
+
$lastUserData['groups'][] = $row->ug_group2;
$result->setIndexedTagName( $lastUserData['groups'], 'g' );
}
$lastUserData['rights'] = User::getGroupPermissions( User::getImplicitGroups() );
}
- $lastUserData['rights'] = array_merge( $lastUserData['rights'], User::getGroupPermissions( array( $row->ug_group2 ) ) );
+ $lastUserData['rights'] = array_unique( array_merge( $lastUserData['rights'],
+ User::getGroupPermissions( array( $row->ug_group2 ) ) ) );
$result->setIndexedTagName( $lastUserData['rights'], 'r' );
}
}
ApiBase::PARAM_TYPE => array(
'blockinfo',
'groups',
+ 'rights',
'editcount',
'registration'
)