}
public function execute() {
+ $db = $this->getDB();
+
$params = $this->extractRequestParams();
$this->requireMaxOneParameter( $params, 'userids', 'users' );
$this->addTables( 'user_groups' );
$this->addJoinConds( [ 'user_groups' => [ 'INNER JOIN', 'ug_user=user_id' ] ] );
- $this->addFields( [ 'user_name', 'ug_group' ] );
+ $this->addFields( [ 'user_name' ] );
+ $this->addFields( UserGroupMembership::selectFields() );
+ $this->addWhere( 'ug_expiry IS NULL OR ug_expiry >= ' .
+ $db->addQuotes( $db->timestamp() ) );
$userGroupsRes = $this->select( __METHOD__ );
foreach ( $userGroupsRes as $row ) {
- $userGroups[$row->user_name][] = $row->ug_group;
+ $userGroups[$row->user_name][] = $row;
}
}
}
public function getHelpUrls() {
- return 'https://www.mediawiki.org/wiki/API:Users';
+ return 'https://www.mediawiki.org/wiki/Special:MyLanguage/API:Users';
}
}