* @file
*/
+use MediaWiki\Block\AbstractBlock;
use MediaWiki\MediaWikiServices;
/**
const WL_UNREAD_LIMIT = 1000;
+ /** @var array */
private $params = [];
+ /** @var array */
private $prop = [];
public function __construct( ApiQuery $query, $moduleName ) {
$result->addValue( 'query', $this->getModuleName(), $r );
}
+ /**
+ * Get basic info about a given block
+ *
+ * @deprecated since 1.34 Use ApiBlockInfoTrait::getBlockDetails() instead.
+ * @param AbstractBlock $block
+ * @return array See ApiBlockInfoTrait::getBlockDetails
+ */
+ public static function getBlockInfo( AbstractBlock $block ) {
+ wfDeprecated( __METHOD__, '1.34' );
+
+ // Hack to access a private method from a trait:
+ $dummy = new class {
+ use ApiBlockInfoTrait {
+ getBlockDetails as public;
+ }
+ };
+
+ return $dummy->getBlockDetails( $block );
+ }
+
/**
* Get central user info
* @param Config $config
if ( isset( $this->prop['blockinfo'] ) ) {
$block = $user->getBlock();
if ( $block ) {
- $vals = array_merge( $vals, $this->getBlockInfo( $block ) );
+ $vals = array_merge( $vals, $this->getBlockDetails( $block ) );
}
}
}
if ( isset( $this->prop['rights'] ) ) {
- // User::getRights() may return duplicate values, strip them
- $vals['rights'] = array_values( array_unique( $user->getRights() ) );
+ $vals['rights'] = $this->getPermissionManager()->getUserPermissions( $user );
ApiResult::setArrayType( $vals['rights'], 'array' ); // even if empty
ApiResult::setIndexedTagName( $vals['rights'], 'r' ); // even if empty
}
if ( isset( $this->prop['preferencestoken'] ) &&
!$this->lacksSameOriginSecurity() &&
- $user->isAllowed( 'editmyoptions' )
+ $this->getPermissionManager()->userHasRight( $user, 'editmyoptions' )
) {
$vals['preferencestoken'] = $user->getEditToken( '', $this->getMain()->getRequest() );
}
$vals['realname'] = $user->getRealName();
}
- if ( $user->isAllowed( 'viewmyprivateinfo' ) && isset( $this->prop['email'] ) ) {
+ if ( $this->getPermissionManager()->userHasRight( $user, 'viewmyprivateinfo' ) &&
+ isset( $this->prop['email'] ) ) {
$vals['email'] = $user->getEmail();
$auth = $user->getEmailAuthenticationTimestamp();
if ( $auth !== null ) {