diff options
Diffstat (limited to 'www/wiki/extensions/Translate/api/ApiTranslationReview.php')
-rw-r--r-- | www/wiki/extensions/Translate/api/ApiTranslationReview.php | 56 |
1 files changed, 27 insertions, 29 deletions
diff --git a/www/wiki/extensions/Translate/api/ApiTranslationReview.php b/www/wiki/extensions/Translate/api/ApiTranslationReview.php index 78e07f21..d8fb8045 100644 --- a/www/wiki/extensions/Translate/api/ApiTranslationReview.php +++ b/www/wiki/extensions/Translate/api/ApiTranslationReview.php @@ -3,7 +3,7 @@ * API module for marking translations as reviewed * @file * @author Niklas Laxström - * @license GPL-2.0+ + * @license GPL-2.0-or-later */ /** @@ -15,15 +15,13 @@ class ApiTranslationReview extends ApiBase { protected static $right = 'translate-messagereview'; public function execute() { - if ( !$this->getUser()->isAllowed( self::$right ) ) { - $this->dieUsage( 'Permission denied', 'permissiondenied' ); - } + $this->checkUserRightsAny( self::$right ); $params = $this->extractRequestParams(); $revision = Revision::newFromId( $params['revision'] ); if ( !$revision ) { - $this->dieUsage( 'Invalid revision', 'invalidrevision' ); + $this->dieWithError( [ 'apierror-nosuchrevid', $params['revision'] ], 'invalidrevision' ); } $error = self::getReviewBlockers( $this->getUser(), $revision ); @@ -32,34 +30,34 @@ class ApiTranslationReview extends ApiBase { // Everything is okay break; case 'permissiondenied': - $this->dieUsage( 'Permission denied', $error ); + $this->dieWithError( 'apierror-permissiondenied-generic', 'permissiondenied' ); break; // Unreachable, but throws off code analyzer. case 'blocked': - $this->dieUsage( 'You have been blocked', $error ); + $this->dieBlocked( $this->getUser()->getBlock() ); break; // Unreachable, but throws off code analyzer. case 'unknownmessage': - $this->dieUsage( 'Unknown message', $error ); + $this->dieWithError( 'apierror-translate-unknownmessage', $error ); break; // Unreachable, but throws off code analyzer. case 'owntranslation': - $this->dieUsage( 'Cannot review own translations', $error ); + $this->dieWithError( 'apierror-translate-owntranslation', $error ); break; // Unreachable, but throws off code analyzer. case 'fuzzymessage': - $this->dieUsage( 'Cannot review fuzzy translations', $error ); + $this->dieWithError( 'apierror-translate-fuzzymessage', $error ); break; // Unreachable, but throws off code analyzer. default: - $this->dieUsage( 'Unknown error', $error ); + $this->dieWithError( [ 'apierror-unknownerror', $error ], $error ); } $ok = self::doReview( $this->getUser(), $revision ); if ( !$ok ) { - $this->setWarning( 'Already marked as reviewed by you' ); + $this->addWarning( 'apiwarn-translate-alreadyreviewedbyyou' ); } - $output = array( 'review' => array( + $output = [ 'review' => [ 'title' => $revision->getTitle()->getPrefixedText(), 'pageid' => $revision->getPage(), 'revision' => $revision->getId() - ) ); + ] ]; $this->getResult()->addValue( null, $this->getModuleName(), $output ); } @@ -69,17 +67,17 @@ class ApiTranslationReview extends ApiBase { * @param User $user * @param Revision $revision * @param null|string $comment - * @return Bool, whether the action was recorded. + * @return bool whether the action was recorded. */ public static function doReview( User $user, Revision $revision, $comment = null ) { $dbw = wfGetDB( DB_MASTER ); $table = 'translate_reviews'; - $row = array( + $row = [ 'trr_user' => $user->getId(), 'trr_page' => $revision->getPage(), 'trr_revision' => $revision->getId(), - ); - $options = array( 'IGNORE' ); + ]; + $options = [ 'IGNORE' ]; $dbw->insert( $table, $row, __METHOD__, $options ); if ( !$dbw->affectedRows() ) { @@ -92,15 +90,15 @@ class ApiTranslationReview extends ApiBase { $entry->setPerformer( $user ); $entry->setTarget( $title ); $entry->setComment( $comment ); - $entry->setParameters( array( + $entry->setParameters( [ '4::revision' => $revision->getId(), - ) ); + ] ); $logid = $entry->insert(); $entry->publish( $logid ); $handle = new MessageHandle( $title ); - Hooks::run( 'TranslateEventTranslationReview', array( $handle ) ); + Hooks::run( 'TranslateEventTranslationReview', [ $handle ] ); return true; } @@ -147,22 +145,22 @@ class ApiTranslationReview extends ApiBase { } public function getAllowedParams() { - return array( - 'revision' => array( + return [ + 'revision' => [ ApiBase::PARAM_TYPE => 'integer', ApiBase::PARAM_REQUIRED => true, - ), - 'token' => array( + ], + 'token' => [ ApiBase::PARAM_TYPE => 'string', ApiBase::PARAM_REQUIRED => true, - ), - ); + ], + ]; } protected function getExamplesMessages() { - return array( + return [ 'action=translationreview&revision=1&token=foo' => 'apihelp-translationreview-example-1', - ); + ]; } } |