* @param array $data
* @param IContextSource $context
* @throws ErrorPageError
- * @return array|bool Array(message key, parameters) on failure, True on success
+ * @return array|bool Array( Array( message key, parameters ) ) on failure, True on success
*/
public static function processUnblock( array $data, IContextSource $context ) {
$performer = $context->getUser();
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() ) ];
+ 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?