* - systemblocktype - system block type, if any
*/
public static function getBlockInfo( Block $block ) {
- global $wgContLang;
$vals = [];
$vals['blockid'] = $block->getId();
$vals['blockedby'] = $block->getByName();
$vals['blockedbyid'] = $block->getBy();
$vals['blockreason'] = $block->mReason;
$vals['blockedtimestamp'] = wfTimestamp( TS_ISO_8601, $block->mTimestamp );
- $vals['blockexpiry'] = $wgContLang->formatExpiry(
- $block->getExpiry(), TS_ISO_8601, 'infinite'
- );
+ $vals['blockexpiry'] = ApiResult::formatExpiry( $block->getExpiry(), 'infinite' );
if ( $block->getSystemBlockType() !== null ) {
$vals['systemblocktype'] = $block->getSystemBlockType();
}
ApiResult::setIndexedTagName( $vals['groups'], 'g' ); // even if empty
}
+ if ( isset( $this->prop['groupmemberships'] ) ) {
+ $ugms = $user->getGroupMemberships();
+ $vals['groupmemberships'] = [];
+ foreach ( $ugms as $group => $ugm ) {
+ $vals['groupmemberships'][] = [
+ 'group' => $group,
+ 'expiry' => ApiResult::formatExpiry( $ugm->getExpiry() ),
+ ];
+ }
+ ApiResult::setArrayType( $vals['groupmemberships'], 'array' ); // even if empty
+ ApiResult::setIndexedTagName( $vals['groupmemberships'], 'groupmembership' ); // even if empty
+ }
+
if ( isset( $this->prop['implicitgroups'] ) ) {
$vals['implicitgroups'] = $user->getAutomaticGroups();
ApiResult::setArrayType( $vals['implicitgroups'], 'array' ); // even if empty
'blockinfo',
'hasmsg',
'groups',
+ 'groupmemberships',
'implicitgroups',
'rights',
'changeablegroups',
}
public function getHelpUrls() {
- return 'https://www.mediawiki.org/wiki/API:Userinfo';
+ return 'https://www.mediawiki.org/wiki/Special:MyLanguage/API:Userinfo';
}
}