$title: Title object to purge
&$urls: An array of URLs to purge from the caches, to be manipulated.
+'UnblockUser': Before an IP address or user is unblocked.
+&$block: The Block object about to be saved
+&$user: The user performing the unblock (not the one being unblocked)
+&$reason: If the hook is aborted, the error message to be returned in an array
+
+'UnblockUserComplete': After an IP address or user has been unblocked.
+$block: The Block object that was saved
+$user: The user who performed the unblock (not the one being unblocked)
+
'UndeleteForm::showHistory': Called in UndeleteForm::showHistory, after a
PageArchive object has been created but before any further processing is done.
&$archive: PageArchive object
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?