X-Git-Url: https://git.heureux-cyclage.org/?a=blobdiff_plain;f=includes%2Fapi%2FApiDelete.php;h=99065c4fe8554e1b7cf144b747c40dd278720d14;hb=d735dc562d2cb5a1f00dac4e61c581872efd2364;hp=993c23e5824440de674d29ad1e96b7610b31578e;hpb=a5be382adfdad4678eec18413c6a118cb3284daf;p=lhc%2Fweb%2Fwiklou.git diff --git a/includes/api/ApiDelete.php b/includes/api/ApiDelete.php index 993c23e582..99065c4fe8 100644 --- a/includes/api/ApiDelete.php +++ b/includes/api/ApiDelete.php @@ -45,7 +45,7 @@ class ApiDelete extends ApiBase { $pageObj = $this->getTitleOrPageId( $params, 'fromdbmaster' ); if ( !$pageObj->exists() ) { - $this->dieUsageMsg( 'notanarticle' ); + $this->dieWithError( 'apierror-missingtitle' ); } $titleObj = $pageObj->getTitle(); @@ -53,10 +53,7 @@ class ApiDelete extends ApiBase { $user = $this->getUser(); // Check that the user is allowed to carry out the deletion - $errors = $titleObj->getUserPermissionsErrors( 'delete', $user ); - if ( count( $errors ) ) { - $this->dieUsageMsg( $errors[0] ); - } + $this->checkTitleUserPermissions( $titleObj, 'delete' ); // If change tagging was requested, check that the user is allowed to tag, // and the tags are valid @@ -80,9 +77,6 @@ class ApiDelete extends ApiBase { $status = self::delete( $pageObj, $user, $reason, $params['tags'] ); } - if ( is_array( $status ) ) { - $this->dieUsageMsg( $status[0] ); - } if ( !$status->isGood() ) { $this->dieStatus( $status ); } @@ -112,7 +106,7 @@ class ApiDelete extends ApiBase { * @param User $user User doing the action * @param string|null $reason Reason for the deletion. Autogenerated if null * @param array $tags Tags to tag the deletion with - * @return Status|array + * @return Status */ protected static function delete( Page $page, User $user, &$reason = null, $tags = [] ) { $title = $page->getTitle(); @@ -124,7 +118,7 @@ class ApiDelete extends ApiBase { $hasHistory = false; $reason = $page->getAutoDeleteReason( $hasHistory ); if ( $reason === false ) { - return [ [ 'cannotdelete', $title->getPrefixedText() ] ]; + return Status::newFatal( 'cannotdelete', $title->getPrefixedText() ); } } @@ -141,7 +135,7 @@ class ApiDelete extends ApiBase { * @param string $reason Reason for the deletion. Autogenerated if null. * @param bool $suppress Whether to mark all deleted versions as restricted * @param array $tags Tags to tag the deletion with - * @return Status|array + * @return Status */ protected static function deleteFile( Page $page, User $user, $oldimage, &$reason = null, $suppress = false, $tags = [] @@ -155,11 +149,11 @@ class ApiDelete extends ApiBase { if ( $oldimage ) { if ( !FileDeleteForm::isValidOldSpec( $oldimage ) ) { - return [ [ 'invalidoldimage' ] ]; + return Status::newFatal( 'invalidoldimage' ); } $oldfile = RepoGroup::singleton()->getLocalRepo()->newFromArchiveName( $title, $oldimage ); if ( !$oldfile->exists() || !$oldfile->isLocal() || $oldfile->getRedirected() ) { - return [ [ 'nodeleteablefile' ] ]; + return Status::newFatal( 'nodeleteablefile' ); } } @@ -224,6 +218,6 @@ class ApiDelete extends ApiBase { } public function getHelpUrls() { - return 'https://www.mediawiki.org/wiki/API:Delete'; + return 'https://www.mediawiki.org/wiki/Special:MyLanguage/API:Delete'; } }