Background
User::getGlobalBlock is used to determine whether a user is blocked globally. This is an unusual case of MediaWiki core knowing about functionality defined in an extension (GlobalBlocking).
The purpose of checking for global blocks specifically seems to be to ensure that the global block information is shown instead of local block information, if both global and local blocks exist. Now that we have CompositeBlock, it is possible to show information about more than one block.
Add the global block via the hook GetUserBlock instead of checking for global blocks separately.
Acceptance criteria
- GlobalBlocking has a handler for the GetUserBlock hook, which adds any block it finds. If there are already blocks, the global block is added to a CompositeBlock. Otherwise, a GlobalBlock is added.
Notes
- GlobalBlocking can check blocks via other hooks. These should be unaffected by this work, and may be addressed later.