X-Git-Url: https://git.heureux-cyclage.org/?a=blobdiff_plain;f=includes%2Fapi%2FApiQueryUserInfo.php;h=1bb54c12a3ecac9d75fd2606988f1f2c854e6fde;hb=3d831abcb7a29513ba170095b4afc35112d64829;hp=3b604786ab55a4a5c789b8279b1b4b9645d8f96c;hpb=c8d361a38027ef5d808225b8a83f15417248aa67;p=lhc%2Fweb%2Fwiklou.git diff --git a/includes/api/ApiQueryUserInfo.php b/includes/api/ApiQueryUserInfo.php index 3b604786ab..1bb54c12a3 100644 --- a/includes/api/ApiQueryUserInfo.php +++ b/includes/api/ApiQueryUserInfo.php @@ -64,18 +64,19 @@ class ApiQueryUserInfo extends ApiQueryBase { * - blockreason - reason provided for the block * - blockedtimestamp - timestamp for when the block was placed/modified * - blockexpiry - expiry time of the block + * - 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(); + } return $vals; } @@ -142,6 +143,19 @@ class ApiQueryUserInfo extends ApiQueryBase { 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 @@ -301,6 +315,7 @@ class ApiQueryUserInfo extends ApiQueryBase { 'blockinfo', 'hasmsg', 'groups', + 'groupmemberships', 'implicitgroups', 'rights', 'changeablegroups', @@ -337,6 +352,6 @@ class ApiQueryUserInfo extends ApiQueryBase { } public function getHelpUrls() { - return 'https://www.mediawiki.org/wiki/API:Userinfo'; + return 'https://www.mediawiki.org/wiki/Special:MyLanguage/API:Userinfo'; } }