use IContextSource;
use InvalidArgumentException;
use IP;
+use MediaWiki\MediaWikiServices;
use RequestContext;
use Title;
use User;
/**
* Create a new block with specified parameters on a user, IP or IP range.
*
- * @param array $options Parameters of the block:
- * address string|User Target user name, User object, IP address or IP range
- * by int User ID of the blocker
- * reason string Reason of the block
- * timestamp string The time at which the block comes into effect
- * byText string Username of the blocker (for foreign users)
+ * @param array $options Parameters of the block, with supported options:
+ * - address: (string|User) Target user name, User object, IP address or IP range
+ * - by: (int) User ID of the blocker
+ * - reason: (string) Reason of the block
+ * - timestamp: (string) The time at which the block comes into effect
+ * - byText: (string) Username of the blocker (for foreign users)
+ * - hideName: (bool) Hide the target user name
*/
public function __construct( array $options = [] ) {
$defaults = [
'reason' => '',
'timestamp' => '',
'byText' => '',
+ 'hideName' => false,
];
$options += $defaults;
$this->setReason( $options['reason'] );
$this->setTimestamp( wfTimestamp( TS_MW, $options['timestamp'] ) );
+ $this->setHideName( (bool)$options['hideName'] );
}
/**
* may be overridden according to global configs.
*
* @since 1.33
- * @param string $right Right to check
- * @return bool|null null if unrecognized right or unset property
+ * @param string $right
+ * @return bool|null The block applies to the right, or null if
+ * unsure (e.g. unrecognized right or unset property)
*/
public function appliesToRight( $right ) {
$config = RequestContext::getMain()->getConfig();
if ( !$res && $blockDisablesLogin ) {
// If a block would disable login, then it should
// prevent any right that all users cannot do
+ $permissionManager = MediaWikiServices::getInstance()->getPermissionManager();
$anon = new User;
- $res = $anon->isAllowed( $right ) ? $res : true;
+ $res = $permissionManager->userHasRight( $anon, $right ) ? $res : true;
}
return $res;
if ( !$res && $blockDisablesLogin ) {
// If a block would disable login, then it should
// prevent any action that all users cannot do
+ $permissionManager = MediaWikiServices::getInstance()->getPermissionManager();
$anon = new User;
- $res = $anon->isAllowed( $action ) ? $res : true;
+ $res = $permissionManager->userHasRight( $anon, $action ) ? $res : true;
}
return $res;