$out = $this->getOutput();
$out->setPageTitle( $this->msg( 'unblockip' ) );
- $out->addModules( [ 'mediawiki.special', 'mediawiki.userSuggest' ] );
+ $out->addModules( [ 'mediawiki.special' ] );
- $form = new HTMLForm( $this->getFields(), $this->getContext() );
+ $form = HTMLForm::factory( 'ooui', $this->getFields(), $this->getContext() );
$form->setWrapperLegendMsg( 'unblockip' );
$form->setSubmitCallback( [ __CLASS__, 'processUIUnblock' ] );
$form->setSubmitTextMsg( 'ipusubmit' );
protected function getFields() {
$fields = [
'Target' => [
- 'type' => 'text',
+ 'type' => 'user',
'label-message' => 'ipaddressorusername',
'autofocus' => true,
'size' => '45',
'required' => true,
- 'cssclass' => 'mw-autocomplete-user', // used by mediawiki.userSuggest
+ 'ipallowed' => true,
],
'Name' => [
'type' => 'info',
return [ [ 'ipb_cant_unblock', $target ] ];
}
- # bug 15810: blocked admins should have limited access here. This
+ # T17810: blocked admins should have limited access here. This
# won't allow sysops to remove autoblocks on themselves, but they
# should have ipblock-exempt anyway
$status = SpecialBlock::checkUnblockSelf( $target, $performer );
return [ 'unblock-hideuser' ];
}
+ $reason = [ 'hookaborted' ];
+ if ( !Hooks::run( 'UnblockUser', [ &$block, &$performer, &$reason ] ) ) {
+ return $reason;
+ }
+
# Delete block
if ( !$block->delete() ) {
return [ [ 'ipb_cant_unblock', htmlspecialchars( $block->getTarget() ) ] ];
}
+ Hooks::run( 'UnblockUserComplete', [ $block, $performer ] );
+
# Unset _deleted fields as needed
if ( $block->mHideName ) {
# Something is deeply FUBAR if this is not a User object, but who knows?