mirror of
https://gerrit.wikimedia.org/r/mediawiki/extensions/Nuke
synced 2024-11-27 09:40:43 +00:00
41d31c3076
This switches Nuke over to using the `revision` table instead of `recentchanges`, allowing a wider timespan of pages to be deleted. As a DoS prevention measure, this adds the `$wgNukeMaxAge` config option (defaulted to the value of `$wgRCMaxAge`) and a max execution time for the SELECT (set to `$wgMaxExecutionTimeForExpensiveQueries`). This also adds a relevant test. Partially based off of I6c2b7e6b695d58a7dcba93ccaeba9ed35d81cf80. Bug: T379147 Co-Authored-by: Kgraessle <kgraessle@wikimedia.org> Change-Id: I5d68d2663751783bcc773799e951f74866ceb722
103 lines
2 KiB
JSON
103 lines
2 KiB
JSON
{
|
|
"name": "Nuke",
|
|
"author": [
|
|
"Brion Vibber",
|
|
"Jeroen De Dauw"
|
|
],
|
|
"url": "https://www.mediawiki.org/wiki/Extension:Nuke",
|
|
"descriptionmsg": "nuke-desc",
|
|
"license-name": "GPL-2.0-or-later",
|
|
"requires": {
|
|
"MediaWiki": ">= 1.43"
|
|
},
|
|
"type": "specialpage",
|
|
"ExtensionMessagesFiles": {
|
|
"NukeAlias": "Nuke.alias.php"
|
|
},
|
|
"MessagesDirs": {
|
|
"Nuke": [
|
|
"i18n"
|
|
]
|
|
},
|
|
"HookHandlers": {
|
|
"main": {
|
|
"class": "MediaWiki\\Extension\\Nuke\\Hooks"
|
|
}
|
|
},
|
|
"Hooks": {
|
|
"ContributionsToolLinks": "main",
|
|
"ListDefinedTags": "MediaWiki\\Extension\\Nuke\\Hooks::onRegisterTags",
|
|
"ChangeTagsListActive": "MediaWiki\\Extension\\Nuke\\Hooks::onRegisterTags"
|
|
},
|
|
"config": {
|
|
"NukeMaxAge": {
|
|
"value": 0,
|
|
"description": "The maximum age of a new page creation or file upload before it becomes ineligible for mass deletion. Defaults to the value of $wgRCMaxAge."
|
|
}
|
|
},
|
|
"ResourceModules": {
|
|
"ext.nuke.confirm": {
|
|
"scripts": [
|
|
"ext.nuke.confirm.js"
|
|
],
|
|
"dependencies": [
|
|
"mediawiki.jqueryMsg"
|
|
],
|
|
"messages": [
|
|
"nuke-confirm"
|
|
]
|
|
},
|
|
"ext.nuke.styles": {
|
|
"localBasePath": "modules/ext.nuke.styles",
|
|
"styles": [
|
|
"nuke.less"
|
|
]
|
|
}
|
|
},
|
|
"ResourceFileModulePaths": {
|
|
"localBasePath": "modules",
|
|
"remoteExtPath": "Nuke/modules"
|
|
},
|
|
"GroupPermissions": {
|
|
"sysop": {
|
|
"nuke": true
|
|
}
|
|
},
|
|
"AvailableRights": [
|
|
"nuke"
|
|
],
|
|
"GrantPermissions": {
|
|
"delete": {
|
|
"nuke": true
|
|
}
|
|
},
|
|
"SpecialPages": {
|
|
"Nuke": {
|
|
"class": "MediaWiki\\Extension\\Nuke\\SpecialNuke",
|
|
"services": [
|
|
"JobQueueGroup",
|
|
"DBLoadBalancerFactory",
|
|
"PermissionManager",
|
|
"RepoGroup",
|
|
"UserFactory",
|
|
"UserOptionsLookup",
|
|
"UserNamePrefixSearch",
|
|
"UserNameUtils",
|
|
"NamespaceInfo",
|
|
"ContentLanguage",
|
|
"NukeIPLookup"
|
|
],
|
|
"styles": [
|
|
"mediawiki.special.special"
|
|
]
|
|
}
|
|
},
|
|
"AutoloadNamespaces": {
|
|
"MediaWiki\\Extension\\Nuke\\": "includes/"
|
|
},
|
|
"ServiceWiringFiles": [
|
|
"includes/ServiceWiring.php"
|
|
],
|
|
"manifest_version": 2
|
|
}
|