Commit graph

37 commits

Author SHA1 Message Date
Chlod Alejandro 41d31c3076
Use revision table instead of recentchanges
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
2024-11-13 02:14:03 +08:00
jenkins-bot dd5715525e Merge "Tag deletion logs performed with Nuke" 2024-10-22 03:38:45 +00:00
jsn 98aa8d9942
Enable temp account lookup by IP address
- Adds a soft dependency on CheckUser
- Lists pages created by IP user or temp acccounts associated with IP
  address when the lookup is available

Bug: T342785
Depends-On: I45a18f1fcf1a17bdaeefabebcd2f67a946a2cc2e
Change-Id: Idcdd7d787180e8e99fdcbe856e4fc237d9721824
2024-10-21 10:18:32 +02:00
Kgraessle e42a881976 Tag deletion logs performed with Nuke
Bug: T366068
Change-Id: I3455fab45698884d0b32f0065aaaf9fe7c0c6916
2024-10-17 08:53:59 -05:00
Bartosz Dziewoński 44005c405e Use stable andExpr() / orExpr() methods
Change-Id: Iacabf4a896d2c8460d84fa3d0a57aa640794e5c7
2024-07-11 16:38:34 +00:00
Samwalton9 8385ddbb74 Add talk page link to Nuke confirmation form
Added talk page links to aid in uncovering which talk pages may require further inspection. Also reorganised the information a little, made some terminology consistent, and added a .less file to store Nuke styles.

Bug: T364143
Change-Id: I76b9bbb939afde1d7d951925818fd15f40022ead
2024-05-05 10:55:52 +03:00
Samwalton9 e506e68969 Italicize redirects in Nuke page list
When pages are redirects, admins may not want to delete them, as they are less likely to contain bad content. This patch highlights them by using the allpagesredirect styling which provides the same italicizing behaviour for Special:AllPages.

Bug: T278625
Change-Id: I027cad868ed13190424612d1f9c2bdaf6456f49e
2024-05-04 18:21:26 +03:00
Seb35 fb60b51cd8
Permit spaces in the SQL LIKE pattern
The search is against the MediaWiki-DB-encoded title (with '_' for space
and initial uppercase letter): these constraints are converted in this
patch to let the user use MediaWiki-displayed titles if they want.

It was taken care about of the configuration-specific case where some
namespaces are first-case-insensitive but other namespaces are first-case-
sensitive, by partitioning the namespace space into to distinct spaces.

Bug: T234726
Co-authored-by: Chlod Alejandro <chlod@chlod.net>
Change-Id: Id83832c256660b691a896113c98641700ed02707
2024-05-04 16:15:24 +03:00
James D. Forrester 60d12bb79b build: Update MediaWiki requirement to 1.42
All extensions in the MediaWiki tarball are expected to track MediaWiki's release directly.

Change-Id: Iac89357fd9299d97ec0a878c3dc47b056cbda116
2024-01-12 14:12:30 -05:00
Amir Sarabadani 910ce4c870 Migrate to query builder and expression builders
As an Iranian, I'm a big fan of this extension so I decided to update
some parts of it to use new rdbms APIs.

Bug: T350984
Bug: T312361
Change-Id: Id374fc9143d40ac0c65ae99ffab945cde51f77d5
2023-12-19 17:03:57 +01:00
James D. Forrester 3c8f38c104 build: Update MediaWiki requirement to 1.41
All extensions in the MediaWiki tarball are expected to track MediaWiki's release directly.

Change-Id: Ic7162fd8b3ef2700ad84349d3bb586b4fbcbf1a5
2023-08-19 13:55:47 +08:00
jenkins-bot 139c485cea Merge "SpecialNuke: inject services" 2023-04-28 17:46:31 +00:00
Alexander Vorwerk b88f9e2279 SpecialNuke: inject services
Change-Id: Ib57944f0fb7e512456318519acf27c5874160b1b
2023-04-28 17:24:41 +00:00
gerritbot f191f1bd34 Update moved class FileDeleteForm
See T321882. Moved in Ibeb488ba322c6

Bug: T321681
Change-Id: Ifcc26c56fd5d9d1708ea219dd25a90a6048aaf6c
2023-04-25 09:48:10 +00:00
Fomafix 49df51e106 Inject services
Change-Id: I7f11825af2bb96ad61aa2cefcc47fcad706388af
2022-11-04 11:21:00 +00:00
Fomafix 6f8f4d759f Increase requires to "MediaWiki": ">= 1.37"
The extension Nuke uses since 92c45955 already
MediaWikiServices::getJobQueueGroup which exists in MediaWiki core
since 1.37.

Change-Id: I500023023bd0ef38d3a75edb1872cc8d55da347c
2022-11-04 11:19:43 +00:00
Alexander Vorwerk 0d1481dc5a Bump required MW version to 1.35.6
Title::getId() is @since 1.35.6.

Bug: T303871
Follow-Up: I61f47961e1d4739a290ed53704e87887e3f59f23
Change-Id: I8902988bb13b617db0b6e0c2c4d9c5771a40d214
2022-03-17 21:33:18 +00:00
Alexander Vorwerk df1cd09150 Use the new Hook system
Bug: T271020
Change-Id: Icd15d5f483dd0e73cedf5604ec27e42c8f7e341d
2021-08-24 17:30:10 +00:00
Umherirrender 1aba9c8d3e Move js into own modules folder
There is no need to have it in the root folder

Change-Id: Ifd97e09d6607129c7be52ac28ab3fc5bae909a63
2021-03-12 19:34:07 +01:00
Reedy 52d27a2714 Namespace extension
Change-Id: If386a072e64f7c4903be911f5f70db3ee52338c2
2021-02-11 06:20:26 +00:00
Reedy bd3243a061 Remove PHP entry point
Change-Id: I281047026e805c11d0f34e435f86fbd146559525
2021-02-11 02:57:26 +00:00
DannyS712 7bd74621a7 Update hook calling to use new HookContainer system
Bug: T254558
Change-Id: Ibadbdb6f15fc407ef7b9b77b13811b68031e1439
2020-06-10 07:40:19 +00:00
Reedy 067a31dfff Convert to manifest_version 2
Bug: T252470
Change-Id: I6d9f9abd04c7a1a0d9307d12228099e8381c80e7
2020-05-12 00:05:32 +01:00
jenkins-bot e30b21b1ea Merge "Add nuke right to delete grant" 2020-03-08 08:45:33 +00:00
DannyS712 281a92ec39 Add nuke right to delete grant
Bug: T241116
Change-Id: I00c0ac1dda3d517e95142b0c17e2d053f6aedd8d
2020-03-07 08:42:26 +00:00
DannyS712 6f5e9d4081 extension.json - don't use array for hooks with one handler
Change-Id: I6098b8593a3c56bdc525a87a49b3f6ecbcd62cc2
2020-03-07 07:50:42 +00:00
Ammarpad 2ae6a87f6a Replace deprecated IP class with IPUtils
Raise required MW version to >= 1.35.0

Bug: T242556
Change-Id: I1a61cf5e1a66fcde3edd5b010eb8c34de4b47dc3
2020-02-18 21:12:21 +00:00
Umherirrender 38ff8983c7 Remove compat code for version 1.27
This extension requires 1.28.1

Change-Id: I842e7915002a1b30216599915ffa268d3374b00c
2019-03-03 17:45:17 +00:00
Thiemo Kreuz cfcd65c337 Fix broken message showing {{PLURAL:…}} in plain text
Was this forgotten in I908c1aa?

Bug: T131975
Change-Id: I1b72e5e609d4109a696694e81901754a3fa02b93
2018-12-11 16:53:15 +01:00
MarcoAurelio 2905dc407d Use valid SPDX-3 license identifier
Change-Id: I4aaf71f0372583d5e209320d37d7d9c14fbd58bb
2018-02-15 17:18:44 +00:00
Kunal Mehta 3189caee68 Move classes into includes/, and rename files to match class name
Change-Id: I00b50e20b34d5a3cc7803b1d950d9a2fdab87d7e
2018-02-04 14:29:42 -08:00
Amir Sarabadani 8bf771fc40 Ask for confirmation when nuking
Bug: T131975
Change-Id: I908c1aacdc8069ea9ae1ec860eef5421d9da2fab
2017-10-04 16:48:38 +02:00
Matěj Suchánek 444d8de418 Replace Linker::link() with LinkRenderer
This updates the hook handler in order to not rely on global state.

This also raises MediaWiki version requirement to 1.28.1 and bumps the
version number to 1.3.0.

Bug: T149346
Change-Id: I9b1d877046c4cb6548bd8f40306ff7905b766f14
2017-03-01 11:56:07 -08:00
Kunal Mehta 443d35848b Set license-name
Change-Id: I98e442c13da3761f84e01d216fbed84a80318932
2015-07-22 21:55:26 -07:00
Kunal Mehta b97fa99ad4 Set manifest_version in extension.json
Bug: T100745
Change-Id: I9e8619a96a8cf3ec029cbe28d5b7826fc01a8223
2015-05-28 20:45:07 -07:00
umherirrender 9983344e93 Replace deprecated $wgSpecialPageGroups
$wgSpecialPageGroups is deprecated since 1.21
override SpecialPage::getGroupName instead

Change-Id: Ia23a52accbaa19b0d451bb0941facc765b4a6db1
2015-05-15 21:49:35 +02:00
Kunal Mehta 4e9bfc7bb2 Add extension.json, empty PHP entry point
Bug: T87946
Change-Id: I01c765b460dd57401e81bcf88072ff2c0cc26749
2015-05-02 17:21:26 -07:00