{"master":{"name":"GlobalBlocking","author":"Andrew Garrett","url":"https:\/\/www.mediawiki.org\/wiki\/Extension:GlobalBlocking","descriptionmsg":"globalblocking-desc","license-name":"GPL-2.0-or-later","type":"wikifamily","requires":{"MediaWiki":">= 1.47.0"},"GroupPermissions":{"steward":{"globalblock":true},"sysop":{"globalblock-local-status":true}},"GrantPermissions":{"basic":{"globalblock-exempt":true},"globalblock":{"globalblock":true}},"GrantPermissionGroups":{"globalblock":"administration"},"GrantRiskGroups":{"globalblock":"vandalism"},"AvailableRights":["globalblock","globalblock-local-status","globalblock-exempt"],"SpecialPages":{"GlobalBlock":{"class":"MediaWiki\\Extension\\GlobalBlocking\\Special\\SpecialGlobalBlock","services":["BlockUtils","GlobalBlocking.GlobalBlockingConnectionProvider","GlobalBlocking.GlobalBlockManager","GlobalBlocking.GlobalBlockingLinkBuilder","CentralIdLookup","UserNameUtils","GlobalBlocking.GlobalBlockingExpirySelectorBuilder"]},"GlobalBlockList":{"class":"MediaWiki\\Extension\\GlobalBlocking\\Special\\SpecialGlobalBlockList","services":["UserNameUtils","CommentFormatter","CentralIdLookup","TempUserConfig","GlobalBlocking.GlobalBlockLookup","GlobalBlocking.GlobalBlockingLinkBuilder","GlobalBlocking.GlobalBlockingConnectionProvider","GlobalBlocking.GlobalBlockingGlobalBlockDetailsRenderer"]},"GlobalBlockStatus":{"class":"MediaWiki\\Extension\\GlobalBlocking\\Special\\SpecialGlobalBlockStatus","services":["BlockUtils","UserNameUtils","GlobalBlocking.GlobalBlockLookup","GlobalBlocking.GlobalBlockLocalStatusManager","GlobalBlocking.GlobalBlockLocalStatusLookup","GlobalBlocking.GlobalBlockingLinkBuilder"]},"RemoveGlobalBlock":{"class":"MediaWiki\\Extension\\GlobalBlocking\\Special\\SpecialRemoveGlobalBlock","services":["BlockUtils","UserNameUtils","GlobalBlocking.GlobalBlockManager","GlobalBlocking.GlobalBlockingLinkBuilder"]},"MassGlobalBlock":{"class":"MediaWiki\\Extension\\GlobalBlocking\\Special\\SpecialMassGlobalBlock","services":["PermissionManager","UserIdentityLookup","GlobalBlocking.GlobalBlockManager","GlobalBlocking.GlobalBlockLookup","GlobalBlocking.GlobalBlockingLinkBuilder","GlobalBlocking.GlobalBlockingGlobalBlockDetailsRenderer","GlobalBlocking.GlobalBlockingConnectionProvider","GlobalBlocking.GlobalBlockingExpirySelectorBuilder"]}},"LogTypes":["gblblock"],"ActionFilteredLogs":{"gblblock":{"gblock":["gblock","gblock2"],"gunblock":["gunblock"],"modify":["modify"],"whitelist":["whitelist"],"dwhitelist":["dwhitelist"]}},"LogNames":{"gblblock":"globalblocking-logpage"},"LogHeaders":{"gblblock":"globalblocking-logpagetext"},"LogActionsHandlers":{"gblblock\/*":{"class":"MediaWiki\\Extension\\GlobalBlocking\\GlobalBlockLogFormatter","services":["UserIdentityLookup","GlobalBlocking.GlobalBlockingLinkBuilder","GlobalBlocking.GlobalBlockingUserVisibilityLookup"]}},"LogActions":{"gblblock\/gunblock":"globalblocking-unblock-logentry"},"APIModules":{"globalblock":{"class":"MediaWiki\\Extension\\GlobalBlocking\\Api\\ApiGlobalBlock","services":["GlobalBlocking.GlobalBlockManager","GlobalBlocking.GlobalBlockingConnectionProvider"]}},"APIListModules":{"globalblocks":{"class":"MediaWiki\\Extension\\GlobalBlocking\\Api\\ApiQueryGlobalBlocks","services":["CentralIdLookup","ExtensionRegistry","GlobalBlocking.GlobalBlockLookup","GlobalBlocking.GlobalBlockingConnectionProvider"]}},"ExtensionMessagesFiles":{"GlobalBlockingAlias":"GlobalBlocking.alias.php"},"QUnitTestModule":{"localBasePath":"","remoteExtPath":"GlobalBlocking","packageFiles":["tests\/qunit\/index.js","tests\/qunit\/ext.globalBlocking\/special.globalBlock.test.js","tests\/qunit\/ext.globalBlocking\/cases\/checkboxDisabledState.json","tests\/qunit\/ext.globalBlocking\/preventFlashFromHideIfFields.test.js","modules\/ext.globalBlocking\/special.globalBlock.js","modules\/ext.globalBlocking\/preventFlashFromHideIfFields.js"],"dependencies":["mediawiki.qunit-testrunner","mediawiki.base","mediawiki.router","mediawiki.widgets","mediawiki.widgets.UserInputWidget","ext.globalBlocking","sinonjs"]},"Hooks":{"GetUserBlock":"main","OtherBlockLogLink":"main","SpecialContributionsBeforeMainOutput":"main","UserMergeAccountFields":"usermerge","LoadExtensionSchemaUpdates":"schema","GetBlockErrorMessageKey":"main","GetLogTypesOnUser":"main","ContributionsToolLinks":"main","CentralAuthInfoFields":"centralauth","SpreadAnyEditBlock":"main"},"HookHandlers":{"main":{"class":"MediaWiki\\Extension\\GlobalBlocking\\GlobalBlockingHooks","services":["BlockTargetFactory","MainConfig","CommentFormatter","CentralIdLookup","GlobalBlocking.GlobalBlockingLinkBuilder","GlobalBlocking.GlobalBlockLookup","UserNameUtils","GlobalBlocking.GlobalBlockingUserVisibilityLookup","GlobalBlocking.GlobalBlockManager","GlobalBlocking.GlobalBlockingGlobalBlockDetailsRenderer","GlobalBlocking.GlobalBlockingLinkBuilder","ConnectionProvider"]},"usermerge":{"class":"MediaWiki\\Extension\\GlobalBlocking\\UserMergeHooks"},"centralauth":{"class":"MediaWiki\\Extension\\GlobalBlocking\\CentralAuthHooks","services":["GlobalBlocking.GlobalBlockLookup","GlobalBlocking.GlobalBlockingLinkBuilder","LinkRenderer"]},"schema":{"class":"MediaWiki\\Extension\\GlobalBlocking\\GlobalBlockingSchemaHooks"}},"config":{"ApplyGlobalBlocks":{"value":true},"GlobalBlockingBlockXFF":{"value":true},"GlobalBlockRemoteReasonUrl":{"description":"Full path to api.php to use to expand templates in block reasons","value":null},"GlobalBlockingCIDRLimit":{"description":"Maximum CIDR range when globally blocking an IP range.","value":{"IPv4":16,"IPv6":19}},"GlobalBlockingAllowedRanges":{"description":"IP ranges that bypass checks and are always allowed","value":[]},"GlobalBlockingCentralWiki":{"description":"The ID of the central wiki where global blocks are performed. Used to provide a link to the global block log which is likely to have entries, instead of the local log which is unlikely to contain entries. If the value is false, then the local log is used.","value":false},"GlobalBlockingCentralWikiContentLanguage":{"description":"The content language of the central wiki specified in $wgGlobalBlockingCentralWiki. Used to appropriately set the language for reason used for autoblocks. If unset, the content language of the wiki where the autoblock was triggered will be used.","value":false},"GlobalBlockingAutoblockExemptions":{"description":"List of IP addresses or CIDR ranges that are exempt from global autoblocks.","value":[]},"GlobalBlockingAutoblockExpiry":{"description":"The maximum number of seconds that an autoblock can last. If the parent block expires before this maximum, the expiry will the expiry of the parent block. Default 86400 = 1 day.","value":86400},"GlobalBlockingMaximumIPsToRetroactivelyAutoblock":{"description":"The number of IP addresses to retroactively globally autoblock when a global block is created with autoblocking enabled.","value":1},"GlobalBlockingMassGlobalBlockMaxTargets":{"description":"The maximum number of targets that can be globally blocked or unblocked in one submission of Special:MassGlobalBlock","value":200},"GlobalBlockingWikisWhereGlobalBlocksDoNotApply":{"description":"List of wiki IDs where the $wgApplyGlobalBlocks setting is not enabled or the GlobalBlocking extension is not installed. This is used to avoid implying a global block applies to a user on a wiki where global blocks are not enabled.","value":[]}},"ServiceWiringFiles":["includes\/ServiceWiring.php"],"DatabaseVirtualDomains":["virtual-globalblocking"],"repository":"https:\/\/gerrit.wikimedia.org\/r\/mediawiki\/extensions\/GlobalBlocking"}}