Background
Extension:GlobalBlocking uses a separate database (or separate tables, depending on how configured) for storing GlobalBlocks, distinct from the ipblocks table used by MediaWiki core for storing DatabaseBlocks.
The GlobalBlock class currently extends DatabaseBlock, inheriting many methods with nonsensical applications (example: newFromID would load a block from ipblocks if one existed that happened to have the same ID, or otherwise return null).
Instead, it should extend AbstractBlock.
What needs doing
- GlobalBlock should extend AbstractBlock
- Implement any abstract methods on AbstractBlock that GlobalBlock previously inherited from DatabaseBlock. (They may need changing.)
- Check whether any other methods should be re-implemented
Notes
- GlobalBlocking documentation: https://www.mediawiki.org/wiki/Extension:GlobalBlocking