X-Git-Url: https://git.heureux-cyclage.org/?a=blobdiff_plain;f=includes%2Fapi%2FApiUndelete.php;h=3aa7b608dca7497ff39550ee562d24070bdf000c;hb=956c2430c7b8fceb289aaeacc8d6c2e0def2c56e;hp=e24f2ced59c1b0fda0f54bccfe5e4d44b29c2873;hpb=a25d6fbc285077bd3dc1ae8cc1fe50a3766b8ae7;p=lhc%2Fweb%2Fwiklou.git diff --git a/includes/api/ApiUndelete.php b/includes/api/ApiUndelete.php index e24f2ced59..3aa7b608dc 100644 --- a/includes/api/ApiUndelete.php +++ b/includes/api/ApiUndelete.php @@ -33,18 +33,19 @@ class ApiUndelete extends ApiBase { $this->useTransactionalTimeLimit(); $params = $this->extractRequestParams(); - $user = $this->getUser(); - if ( !$user->isAllowed( 'undelete' ) ) { - $this->dieUsageMsg( 'permdenied-undelete' ); - } + $user = $this->getUser(); if ( $user->isBlocked() ) { $this->dieBlocked( $user->getBlock() ); } $titleObj = Title::newFromText( $params['title'] ); if ( !$titleObj || $titleObj->isExternal() ) { - $this->dieUsageMsg( [ 'invalidtitle', $params['title'] ] ); + $this->dieWithError( [ 'apierror-invalidtitle', wfEscapeWikiText( $params['title'] ) ] ); + } + + if ( !$titleObj->userCan( 'undelete', $user, 'secure' ) ) { + $this->dieWithError( 'permdenied-undelete' ); } // Check if user can add tags @@ -76,7 +77,7 @@ class ApiUndelete extends ApiBase { $params['tags'] ); if ( !is_array( $retval ) ) { - $this->dieUsageMsg( 'cannotundelete' ); + $this->dieWithError( 'apierror-cantundelete' ); } if ( $retval[1] ) { @@ -147,6 +148,6 @@ class ApiUndelete extends ApiBase { } public function getHelpUrls() { - return 'https://www.mediawiki.org/wiki/API:Undelete'; + return 'https://www.mediawiki.org/wiki/Special:MyLanguage/API:Undelete'; } }