getLanguage(); $blocker = $block->getBlocker(); $vals = []; $vals['blockid'] = $block->getId(); $vals['blockedby'] = $blocker ? $blocker->getName() : ''; $vals['blockedbyid'] = $blocker ? $blocker->getId() : 0; $vals['blockreason'] = $block->getReasonComment() ->message->inLanguage( $language )->plain(); $vals['blockedtimestamp'] = wfTimestamp( TS_ISO_8601, $block->getTimestamp() ); $expiry = ApiResult::formatExpiry( $block->getExpiry(), 'infinite' ); $vals['blockexpiry'] = $expiry; $vals['blockpartial'] = !$block->isSitewide(); $vals['blocknocreate'] = $block->isCreateAccountBlocked(); $vals['blockanononly'] = !$block->isHardblock(); $user = $this->getUser(); // Formatted timestamps $vals['blockedtimestampformatted'] = $language->formatExpiry( $block->getTimestamp(), true, 'infinity', $user ); if ( $expiry !== 'infinite' ) { $vals['blockexpiryformatted'] = $language->formatExpiry( $expiry, true, 'infinity', $user ); $vals['blockexpiryrelative'] = $language->getHumanTimestamp( new MWTimestamp( $expiry ), new MWTimestamp(), $user ); } if ( $block instanceof SystemBlock ) { $vals['systemblocktype'] = $block->getSystemBlockType(); } return $vals; } // region Methods required from ApiBase /** @name Methods required from ApiBase * @{ */ /** * @see IContextSource::getLanguage * @return Language */ abstract public function getLanguage(); /** * @see IContextSource::getUser * @return User */ abstract public function getUser(); /** @} */ // endregion -- end of methods required from ApiBase }