API: Split list=deletedrevs into prop=deletedrevisions and list=alldeletedrevisions
authorBrad Jorsch <bjorsch@wikimedia.org>
Mon, 29 Sep 2014 17:47:08 +0000 (13:47 -0400)
committerBrad Jorsch <bjorsch@wikimedia.org>
Tue, 4 Nov 2014 20:02:03 +0000 (15:02 -0500)
commit991de897e4781597f60a9c19d84df740a2b68ed1
treedb07b459197fa0721ef0a0c4515080e60fce787b
parent38a3c047d91acc25a3ceea6e770764f9f8c7fe5b
API: Split list=deletedrevs into prop=deletedrevisions and list=alldeletedrevisions

list=deletedrevs has always been an odd one: it pretends to be a prop
module sometimes in taking titles from ApiPageSet, but when the pageset
supplies no titles it acts like a list module. This causes problems
such as bug 71389, and makes the whole thing unnecessarily confusing.

The solution is to split the "prop" and "list" aspects into separate
modules: prop=deletedrevisions when input should come from ApiPageSet
and list=alldeletedrevisions when not.

At the same time, let's take advantage of the situation to clear up some
other bugs. And let's share the revision-formatting code with
ApiQueryRevisions instead of partially reimplementing it.

Bug: 23489
Bug: 27193
Bug: 44190
Bug: 71396
Bug: 71389
Change-Id: I3e960d5c655bc57885d6d4ee227e67104808add7
14 files changed:
RELEASE-NOTES-1.25
includes/AutoLoader.php
includes/api/ApiBase.php
includes/api/ApiHelp.php
includes/api/ApiPageSet.php
includes/api/ApiParamInfo.php
includes/api/ApiQuery.php
includes/api/ApiQueryAllDeletedRevisions.php [new file with mode: 0644]
includes/api/ApiQueryDeletedRevisions.php [new file with mode: 0644]
includes/api/ApiQueryDeletedrevs.php
includes/api/ApiQueryRevisions.php
includes/api/ApiQueryRevisionsBase.php [new file with mode: 0644]
includes/api/i18n/en.json
includes/api/i18n/qqq.json