2020-03-03 22:50:34 +00:00
|
|
|
<?php
|
|
|
|
|
|
|
|
|
|
namespace MediaWiki\Block\Hook;
|
|
|
|
|
|
2020-03-16 23:31:05 +00:00
|
|
|
use MediaWiki\Block\AbstractBlock;
|
|
|
|
|
use User;
|
|
|
|
|
|
2020-03-03 22:50:34 +00:00
|
|
|
/**
|
2020-09-26 13:18:43 +00:00
|
|
|
* This is a hook handler interface, see docs/Hooks.md.
|
|
|
|
|
* Use the hook name "GetUserBlock" to register handlers implementing this interface.
|
|
|
|
|
*
|
2020-07-13 09:05:49 +00:00
|
|
|
* @stable to implement
|
2020-03-03 22:50:34 +00:00
|
|
|
* @ingroup Hooks
|
|
|
|
|
*/
|
|
|
|
|
interface GetUserBlockHook {
|
|
|
|
|
/**
|
2020-03-16 23:31:05 +00:00
|
|
|
* Use this hook to modify the block found by the block manager. This may be a
|
2020-03-03 22:50:34 +00:00
|
|
|
* single block or a composite block made from multiple blocks; the original
|
2020-03-16 23:31:05 +00:00
|
|
|
* blocks can be seen using CompositeBlock::getOriginalBlocks().
|
2020-03-03 22:50:34 +00:00
|
|
|
*
|
|
|
|
|
* @since 1.35
|
|
|
|
|
*
|
2020-03-16 23:31:05 +00:00
|
|
|
* @param User $user User targeted by the block
|
|
|
|
|
* @param string|null $ip IP of the current request if $user is the current user
|
2020-03-03 22:50:34 +00:00
|
|
|
* and they're not exempted from IP blocks. Null otherwise.
|
2020-03-16 23:31:05 +00:00
|
|
|
* @param AbstractBlock|null &$block User's block, or null if none was found
|
2020-03-03 22:50:34 +00:00
|
|
|
* @return bool|void True or no return value to continue or false to abort
|
|
|
|
|
*/
|
|
|
|
|
public function onGetUserBlock( $user, $ip, &$block );
|
|
|
|
|
}
|