Revert "Clean up ApiEditPage content handler undo logic"

This reverts commit 01564dcbf7.

Reason for revert: I find the empty case far clearer as to intention than this change, and I doubt this is such a hot path that optimization should take precedence over clarity. If we really want to get rid of the empty case, I'd have structured it somewhat clearly as

 if (
     // always allow undo via api, T230702
     !( $params['undo'] > 0 ) &&
     // [something else here to explain this clause]
     $contentHandler->supportsDirectApiEditing() === false
 ) {

But even that is IMO less clear. At the very least this seems to deserve more discussion.

Bug: T230702
Change-Id: Icc16250faad31abf7308c4af9be2e7658540346c
This commit is contained in:
Anomie 2019-08-19 14:49:30 +00:00
parent 01564dcbf7
commit c8fcdf5d5f

View file

@ -92,8 +92,9 @@ class ApiEditPage extends ApiBase {
$name = $titleObj->getPrefixedDBkey();
$model = $contentHandler->getModelID();
// always allow undo via api, T230702
if ( !( $params['undo'] > 0 ) && $contentHandler->supportsDirectApiEditing() === false ) {
if ( $params['undo'] > 0 ) {
// allow undo via api
} elseif ( $contentHandler->supportsDirectApiEditing() === false ) {
$this->dieWithError( [ 'apierror-no-direct-editing', $model, $name ] );
}