Remove legacy AJAX interface ($wgAjaxExportList) usage and convert the AJAX…

Description

Remove legacy AJAX interface ($wgAjaxExportList) usage and convert the AJAX endpoints to regular api.php modules

Notes:

  • ApiCreateAPageUpload.php wouldn't exist in an ideal world and the JS etc. would just use the core mw.Api() upload stuff
    • But doing this is hard so we're now stuck with an API module that has no use for anyone or anything else than for Special:CreatePage
  • Some of the API postfix/infix parameter stuff is just weird. But see the previous point. It doesn't look like fixing that stuff is easy, hence why I resorted to a crappy hack instead. Oh well, it works anyway.
  • While porting over the code I realized that the "Advanced Edit" feature was using an entirely incorrect hook that _literally is NOT invoked for page creations_
    • ...but the technically correct hook doesn't work either as desired and *that* is a CreateAPage bug. To be fixed separately, hopefully, at some point, but that's not easy either and out of scope for this patch.

Based on limited testing everything seems to work just as it did with the old AJAX interface code.
This is also true for file uploads, including those uploaded from an infobox (if and when on Special:CreatePage and the createplate you're using supports file uploads).

Bug: T42787
Change-Id: I8c1bce43bbb11c84c047df6c02af305e79d469e6

Details

Provenance
ashleyAuthored on Jan 8 2022, 1:43 PM
Parents
rECPG27792d3fed7d: Localisation updates from https://translatewiki.net.
Branches
Unknown
Tags
Unknown
References
refs/changes/65/752265/7
ChangeId
I8c1bce43bbb11c84c047df6c02af305e79d469e6