Commit graph

67 commits

Author SHA1 Message Date
suecarmol 4873bf7040 Cleanup code comment on Special:Nuke
Removed a comment that no longer applied to Nuke

Bug: T234726
Change-Id: I560666e0ec47fb48acc51baaa46ebd4767e84fad
2024-05-04 20:07:53 +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
xiplus 52352320c2
Query current page name for moved pages
Join "page" table to query current page name for moved pages.

Bug: T43351
Co-authored-by: Chlod Alejandro <chlod@chlod.net>
Change-Id: I127bc413c8ef25bbc24cb27b2cdc6d1ec08142ab
2024-05-03 13:39:07 +03:00
jenkins-bot 2982814a9b Merge "Modernize the code a little bit" 2024-04-21 10:32:58 +00:00
thiemowmde 9fb95da819 Modernize the code a little bit
For example:
* Remove redundant PHPDoc blocks that just duplicate existing
  information and aren't needed any more with our current PHPCS
  rule set.
* Add some very obvious type declarations.
* Use ??= where it makes sense.

Change-Id: I5c182cc961c6eeccead79ff49b0376eee2418acf
2024-04-19 15:10:15 +02:00
thiemowmde ea573ea99e Replace trivial Xml::… methods with Html::…
This code isn't even generating XML. I'm intentionally leaving a few
Xml::… usages behind that are more complicated. This is for later
patches.

Bug: T341775
Change-Id: Icc693968f0cf726b8ed616c38b7cfd422f481da5
2024-04-19 14:54:09 +02:00
Umherirrender 373042d9d0 Fix casing of dropdown-related methods
Methods gets renamed to lowercase variant in core (f1d7e68c)

Follow-Up: Ifda13ba9dee316709c424636ec3b285de8d0e9b1
Change-Id: I9a1e6d191bc5217e555d23746793ddee472faf47
2024-03-09 15:45:40 +01:00
Bartosz Dziewoński 80bdcd3004 Restore support for matching 'LIKE' patterns/wildcards
Follow-up to 910ce4c870.

Add a test so that we don't break this again.

Bug: T355478
Change-Id: I98620dd66a3c3a6913f999d6f96eef0ef69271d1
2024-01-22 11:30:50 +00:00
Novem Linguae 2f16b24b08 Links to redirects should have ?redirect=no
Bug: T351575
Change-Id: I8bced40d8f86010ec74ebc5ea81211bd7aaf3803
2023-12-22 02:15:33 -08: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
Func b5b1b11608 SpecialNuke: Escape the page title for messages
The page title should be substituted into the link syntax before the
wikitext is parsed, so we should use wfEscapeWikiText() instead of
plaintextParams.

Bug: T310015
Change-Id: Iad216ded7e25c7f84b6b9ae619ddd51b9140bd24
2023-12-06 03:31:20 +00:00
Fomafix 4ce660a73c Use namespaced classes
Change-Id: I7ed3d04a7c4922d6ccfd21dc275751155da9e643
2023-10-02 21:09:38 +00:00
gerritbot 376dd4b74b Replace some moved Title class uses, now MediaWiki\Title\Title
Bug: T321681
Change-Id: Ib8ea0118fa7946d8070b8894fa9d67a29191945a
2023-08-19 04:17:58 +00:00
gerritbot 2418468b84 Migrate ILB::getConnectionRef() calls to ILB::getConnection()
Deprecated since 1.39 (I6e7544763bd)

Bug: T343277
Change-Id: I575b724b8d098165abbf6043aa5e531e0f1d6f73
2023-08-01 20:59:12 +00:00
Alexander Vorwerk 0b5bb5ccd7 Fix case in use statement
Bug: T336083
Change-Id: Icda9d979d9fb97cbd832d53fa8c5bb6847aaa63b
2023-05-05 22:23:03 +02: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
jenkins-bot 87d106f51d Merge "Inject services" 2022-11-05 12:47:53 +00:00
jenkins-bot 160e3d8e48 Merge "Remove phpcs exclude rules and update PHP code" 2022-11-05 12:44:15 +00:00
jenkins-bot ef0a197e58 Merge "Use WebRequest::getIntOrNull and avoid ctype_digit" 2022-11-04 18:08:44 +00:00
Fomafix 698188afd4 Use WebRequest::getIntOrNull and avoid ctype_digit
This avoids the deprecation warning:
ctype_digit(): Argument of type null will be interpreted as string in the future

Bug: T322079
Change-Id: Id1e7ec7d73028339b53047ebfd6a975d23c3d180
2022-11-04 13:17:05 +00:00
Fomafix 42ef4ee402 Remove phpcs exclude rules and update PHP code
Change-Id: Ifecf2f8a053b9304a8e9e6558cd7c1f570f15084
2022-11-04 13:09:25 +00:00
Fomafix 49df51e106 Inject services
Change-Id: I7f11825af2bb96ad61aa2cefcc47fcad706388af
2022-11-04 11:21:00 +00:00
Fomafix 35abb011cf Use short array destructuring instead of list()
Introduced in PHP 7.1. Because it's shorter and looks nice.

Change-Id: Ia857f37abdb17fe88e91ae17a5610c027c97376e
2022-11-04 10:47:02 +00:00
jenkins-bot d7f428d5e1 Merge "Use WebRequest::getRawVal instead of WebRequest::getText" 2022-09-01 21:58:53 +00:00
Fomafix 7cd544c4ca Use \u{00A0} instead of &#160;
Directly use the UTF-8 encoding of the 'NO-BREAK SPACE' (U+00A0)
instead of the HTML entity &#160;.

Bug: T154300
Change-Id: I2f50fd24772eacd0bddf90c982fd7112196e6ad2
2022-08-30 13:24:53 +00:00
Fomafix cfc33f1a2a Use WebRequest::getRawVal instead of WebRequest::getText
The UTF-8 normalization for the URL attributes `action` and `namespace`
are not needed.

Also use === instead of ==.

Change-Id: I03a844d58b11f45dc67f3dfb861d8f6e9ffcc18d
2022-08-30 08:47:34 +00:00
Reedy cbbf2cc376 SpecialNuke: Null coalescence in execute()
Bug: T313146
Change-Id: I40850e2f126728ab09ab89fc666241a7f041c7ee
2022-07-17 20:43:16 +01:00
TerraCodes 029111351c Add class to nuke contribs link
Continuation of MW core patch 603941

Change-Id: I3ae1aeddbd0c00ffecf7b8b8115cf161b0e15202
2022-06-17 18:53:57 +00:00
DannyS712 6620e7e686 SpecialNuke: use Message::plaintextParams() for page titles
So that their contents do not get parsed

Bug: T304777
Change-Id: I6f031d1b857ee0955b8966f5f63c63e269306568
2022-03-27 00:34:46 +00:00
Func bfe4c13c0b SpecialNuke: Don't set edit token in HTMLForm twice
HTMLForm would set it for post form, use setTokenSalt() to amend.

Change-Id: Ia79dbd261e9f0a34bf9f10660a1043355ab72ede
2022-03-18 12:03:12 +00:00
DannyS712 022da28e19 Unsuppress MissingDocumentationProtected and add docs
Change-Id: I169df0d822232c74ad5069141e032dbb10af6ac1
2022-03-12 01:45:39 +00:00
Taavi Väänänen 42d4bdb9ef SpecialNuke: Add dropdown with predefined deletion reasons
This commit adds logic very similar to what DeleteAction does: there's a
dropdown with predefined reasons (from MediaWiki:Deletereason-dropdown)
and a text field where you can enter a custom reason that will be
appended to the one you chose to on the dropdown.

Bug: T25020
Change-Id: I9668244d165caae2d71467573f1204689f2600a8
2022-02-14 05:35:33 +00:00
jenkins-bot 09907e9ece Merge "Don't use GROUP BY in getNewPages" 2021-11-04 22:30:20 +00:00
Martin Urbanec 90e1590f70 SECURITY: Pass required parameters to DeletePageJob
Without the params, the job does not actually delete the page,
rendering Nuke useless.

Bug: T294686
Change-Id: I61f47961e1d4739a290ed53704e87887e3f59f23
2021-11-01 16:54:55 +01:00
Amir Sarabadani 92c459552c Queue deletion job instead of trying to delete the pages
This would make running Special:Nuke much faster and avoid production
errors due to timeout.

Bug: T188679
Bug: T212690
Change-Id: I59d99068dd4d663261a5a5d0180105889fca66a2
2021-10-17 19:22:13 +02:00
Matěj Suchánek aca86ef6b3 Don't use GROUP BY in getNewPages
Bug: T212690
Change-Id: Ieec6d940073f69290d25967720fd72d751f4dd3e
2021-10-17 15:45:48 +02:00
Alexander Vorwerk df1cd09150 Use the new Hook system
Bug: T271020
Change-Id: Icd15d5f483dd0e73cedf5604ec27e42c8f7e341d
2021-08-24 17:30:10 +00:00
Alexander Vorwerk 5169b386ca Replace usage of deprecated global function wfLocalFile()
wfLocalFile is deprecated and emits deprecation warnings. It's usages
should be replaced with FileRepo::newFile()

Follow-Up: I0a9c414da4cb0cec686e1e91b5d0babe055925a6

Bug: T288641
Change-Id: Ie6046ac1e12b4f09a856045f40aa87485b32b39e
2021-08-11 18:40:17 +00:00
DannyS712 94a3043d0d Minor cleanup to SpecialNuke::doDelete
Don't re-fetch the context user each time
through a loop.

Change-Id: I0a9c414da4cb0cec686e1e91b5d0babe055925a6
2021-08-02 06:55:02 +00:00
Tim Starling 94cd0132b8 Stop using legacy ActorMigration field "rc_user"
Migration was complete in MW 1.34

Bug: T278917
Change-Id: Ibe5768ece9126207470c2094237112b1011c8e46
2021-04-20 12:12:19 +10:00
Umherirrender e79b52ee8a Move documentation from hooks.txt to hook interfaces
The new system allows to have documentation directly at the interfaces

Change-Id: I82f6f87d145cc43b2dd5b7d1fa256850b50ca63f
2021-03-31 22:07:40 +02:00
Reedy 52d27a2714 Namespace extension
Change-Id: If386a072e64f7c4903be911f5f70db3ee52338c2
2021-02-11 06:20:26 +00:00
DannyS712 8d1f938dda Remove checks for whether ActorMigration class exists
Exists since 1.31, extension requires 1.35+
If it is ever removed, using the current handling from before it was
added will break things

Change-Id: Iee13649a4e3fb59195a60d178473d6e970680a45
2020-11-23 23:58:51 +00:00
jenkins-bot a1c014e67e Merge "Replace call to deprecated User::isBlocked with User::getBlock" 2020-07-31 08:51:52 +00:00
DannyS712 37c4b77c63 Replace call to deprecated User::isBlocked with User::getBlock
Check if the block applies to the `delete` right. Currently,
AbstractBlock::appliesToRight has no logic for delete, and returns
null, but to be forward-compatible it should be checked instead of
just assuming that blocks prohibit deletion.

Change-Id: I35820f07b5765f0870ab7f3c838955e6167533cd
2020-07-08 07:05:49 +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
DannyS712 fb26f45c03 Replace WikiPage::doDeleteArticle with ::doDeleteArticleReal
Don't need to worry about old signature since Nuke requires MW 1.35+

Bug: T248000
Change-Id: I32fd5dfa4a9edded90f4e52fd3c2acaaaf78e169
2020-03-19 15:32:13 +00:00
Umherirrender 51bf625b31 Use MediaWikiServices::getRepoGroup
This required MediaWiki 1.34 (already set to 1.35 in extension.json)

Change-Id: Ifede8f406c8017883cbc96a86d347d5f5cfecc21
2020-03-14 14:43:23 +01:00