X-Git-Url: https://git.heureux-cyclage.org/?a=blobdiff_plain;f=includes%2Fapi%2FApiDelete.php;h=422524db05cb6fb48a06e55a93b7ac0e29a881f0;hb=62a6a48bd4cde140a2bebde73f882754dfaa273b;hp=da13a226c2747601a3003389a4c7f5e42b183fa4;hpb=f021d3a8eb43aac1ebb391b28c1bf6c4e5f40f6f;p=lhc%2Fweb%2Fwiklou.git diff --git a/includes/api/ApiDelete.php b/includes/api/ApiDelete.php index da13a226c2..422524db05 100644 --- a/includes/api/ApiDelete.php +++ b/includes/api/ApiDelete.php @@ -32,10 +32,6 @@ */ class ApiDelete extends ApiBase { - public function __construct( $main, $action ) { - parent::__construct( $main, $action ); - } - /** * Extracts the title, token, and reason from the request parameters and invokes * the local delete() function with these as arguments. It does not make use of @@ -61,6 +57,9 @@ class ApiDelete extends ApiBase { $status = self::delete( $pageObj, $user, $params['token'], $reason ); } + if ( is_array( $status ) ) { + $this->dieUsageMsg( $status[0] ); + } if ( !$status->isGood() ) { $errors = $status->getErrorsArray(); $this->dieUsageMsg( $errors[0] ); // We don't care about multiple errors, just report one of them @@ -98,11 +97,11 @@ class ApiDelete extends ApiBase { /** * We have our own delete() function, since Article.php's implementation is split in two phases * - * @param $page WikiPage object to work on + * @param $page Page|WikiPage object to work on * @param $user User doing the action - * @param $token String: delete token (same as edit token) - * @param $reason String: reason for the deletion. Autogenerated if NULL - * @return Status + * @param $token String delete token (same as edit token) + * @param $reason String|null reason for the deletion. Autogenerated if NULL + * @return Status|array */ public static function delete( Page $page, User $user, $token, &$reason = null ) { $title = $page->getTitle(); @@ -128,13 +127,13 @@ class ApiDelete extends ApiBase { } /** - * @param $page WikiPage object to work on + * @param $page WikiPage|Page object to work on * @param $user User doing the action * @param $token * @param $oldimage * @param $reason * @param $suppress bool - * @return Status + * @return Status|array */ public static function deleteFile( Page $page, User $user, $token, $oldimage, &$reason = null, $suppress = false ) { $title = $page->getTitle(); @@ -156,14 +155,12 @@ class ApiDelete extends ApiBase { if ( !$oldfile->exists() || !$oldfile->isLocal() || $oldfile->getRedirected() ) { return array( array( 'nodeleteablefile' ) ); } - } else { - $oldfile = false; } if ( is_null( $reason ) ) { // Log and RC don't like null reasons $reason = ''; } - return FileDeleteForm::doDelete( $title, $file, $oldimage, $reason, $suppress ); + return FileDeleteForm::doDelete( $title, $file, $oldimage, $reason, $suppress, $user ); } public function mustBePosted() { @@ -266,8 +263,4 @@ class ApiDelete extends ApiBase { public function getHelpUrls() { return 'https://www.mediawiki.org/wiki/API:Delete'; } - - public function getVersion() { - return __CLASS__ . ': $Id$'; - } }