53 private function getBlockDetails(
57 $language ??= $this->getLanguage();
62 $vals[
'blockid'] = $block->
getId();
63 $vals[
'blockedby'] = $blocker ? $blocker->getName() :
'';
64 $vals[
'blockedbyid'] = $blocker ? $blocker->getId() : 0;
66 ->message->inLanguage( $language )->plain();
68 $expiry = ApiResult::formatExpiry( $block->
getExpiry(),
'infinite' );
69 $vals[
'blockexpiry'] = $expiry;
74 $vals[
'blockemail'] = $block->isEmailBlocked();
75 $vals[
'blockowntalk'] = !$block->isUsertalkEditAllowed();
80 $vals[
'blockedtimestampformatted'] = $language->formatExpiry(
83 if ( $expiry !==
'infinite' ) {
84 $vals[
'blockexpiryformatted'] = $language->formatExpiry(
85 $expiry,
true,
'infinity', $user
87 $vals[
'blockexpiryrelative'] = $language->getHumanTimestamp(
93 $vals[
'systemblocktype'] = $block->getSystemBlockType();
98 foreach ( $block->getOriginalBlocks() as $singleBlock ) {
99 $components[] = $this->getBlockDetails( $singleBlock, $language );
101 $vals[
'blockcomponents'] = $components;
112 private function getBlockCode(
Block $block ):
string {
114 return 'autoblocked';