parent::__construct( 'Unblock', 'block' );
}
+ public function doesWrites() {
+ return true;
+ }
+
public function execute( $par ) {
$this->checkPermissions();
$this->checkReadOnly();
$out = $this->getOutput();
$out->setPageTitle( $this->msg( 'unblockip' ) );
- $out->addModules( array( 'mediawiki.special', 'mediawiki.userSuggest' ) );
+ $out->addModules( [ 'mediawiki.special', 'mediawiki.userSuggest' ] );
$form = new HTMLForm( $this->getFields(), $this->getContext() );
$form->setWrapperLegendMsg( 'unblockip' );
- $form->setSubmitCallback( array( __CLASS__, 'processUIUnblock' ) );
+ $form->setSubmitCallback( [ __CLASS__, 'processUIUnblock' ] );
$form->setSubmitTextMsg( 'ipusubmit' );
$form->addPreText( $this->msg( 'unblockiptext' )->parseAsBlock() );
}
protected function getFields() {
- $fields = array(
- 'Target' => array(
+ $fields = [
+ 'Target' => [
'type' => 'text',
'label-message' => 'ipaddressorusername',
'autofocus' => true,
'size' => '45',
'required' => true,
'cssclass' => 'mw-autocomplete-user', // used by mediawiki.userSuggest
- ),
- 'Name' => array(
+ ],
+ 'Name' => [
'type' => 'info',
'label-message' => 'ipaddressorusername',
- ),
- 'Reason' => array(
+ ],
+ 'Reason' => [
'type' => 'text',
'label-message' => 'ipbreason',
- )
- );
+ ]
+ ];
if ( $this->block instanceof Block ) {
list( $target, $type ) = $this->block->getTargetAndType();
/**
* Process the form
*
+ * Change tags can be provided via $data['Tags'], but the calling function
+ * must check if the tags can be added by the user prior to this function.
+ *
* @param array $data
* @param IContextSource $context
* @throws ErrorPageError
$block = Block::newFromTarget( $data['Target'] );
if ( !$block instanceof Block ) {
- return array( array( 'ipb_cant_unblock', $target ) );
+ return [ [ 'ipb_cant_unblock', $target ] ];
}
# bug 15810: blocked admins should have limited access here. This
if ( $block->getType() == Block::TYPE_RANGE && $type == Block::TYPE_IP ) {
$range = $block->getTarget();
- return array( array( 'ipb_blocked_as_range', $target, $range ) );
+ return [ [ 'ipb_blocked_as_range', $target, $range ] ];
}
# If the name was hidden and the blocking user cannot hide
# names, then don't allow any block removals...
if ( !$performer->isAllowed( 'hideuser' ) && $block->mHideName ) {
- return array( 'unblock-hideuser' );
+ return [ 'unblock-hideuser' ];
}
# Delete block
if ( !$block->delete() ) {
- return array( 'ipb_cant_unblock', htmlspecialchars( $block->getTarget() ) );
+ return [ 'ipb_cant_unblock', htmlspecialchars( $block->getTarget() ) ];
}
# Unset _deleted fields as needed
if ( $block->mHideName ) {
# Something is deeply FUBAR if this is not a User object, but who knows?
$id = $block->getTarget() instanceof User
- ? $block->getTarget()->getID()
+ ? $block->getTarget()->getId()
: User::idFromName( $block->getTarget() );
RevisionDeleteUser::unsuppressUserName( $block->getTarget(), $id );
$page = Title::makeTitle( NS_USER, '#' . $block->getId() );
} else {
$page = $block->getTarget() instanceof User
- ? $block->getTarget()->getUserpage()
+ ? $block->getTarget()->getUserPage()
: Title::makeTitle( NS_USER, $block->getTarget() );
}
$logEntry->setTarget( $page );
$logEntry->setComment( $data['Reason'] );
$logEntry->setPerformer( $performer );
+ if ( isset( $data['Tags'] ) ) {
+ $logEntry->setTags( $data['Tags'] );
+ }
$logId = $logEntry->insert();
$logEntry->publish( $logId );
$user = User::newFromName( $search );
if ( !$user ) {
// No prefix suggestion for invalid user
- return array();
+ return [];
}
// Autocomplete subpage as user list - public to allow caching
return UserNamePrefixSearch::search( 'public', $search, $limit, $offset );