diff options
author | 2018-11-20 10:51:06 -0500 | |
---|---|---|
committer | 2018-11-20 10:51:06 -0500 | |
commit | 1ea74fa59d8d1c6c12d20be6c8e7d5ac7f370fdb (patch) | |
tree | ad113bd05db878a61b503938c05fe046eca25ee0 /MLEB/Translate/api/ApiGroupReview.php | |
parent | LinkAttributes: Update to v0.2 (diff) | |
download | extensions-1ea74fa59d8d1c6c12d20be6c8e7d5ac7f370fdb.tar.gz extensions-1ea74fa59d8d1c6c12d20be6c8e7d5ac7f370fdb.tar.bz2 extensions-1ea74fa59d8d1c6c12d20be6c8e7d5ac7f370fdb.zip |
Update to MediaWikiLanguageExtensionBundle-2018.10
Signed-off-by: Brian Evans <grknight@gentoo.org>
Diffstat (limited to 'MLEB/Translate/api/ApiGroupReview.php')
-rw-r--r-- | MLEB/Translate/api/ApiGroupReview.php | 138 |
1 files changed, 32 insertions, 106 deletions
diff --git a/MLEB/Translate/api/ApiGroupReview.php b/MLEB/Translate/api/ApiGroupReview.php index 7fa3cf1e..67583854 100644 --- a/MLEB/Translate/api/ApiGroupReview.php +++ b/MLEB/Translate/api/ApiGroupReview.php @@ -3,8 +3,7 @@ * API module for switching workflow states for message groups * @file * @author Niklas Laxström - * @copyright Copyright © 2011, Niklas Laxström - * @license GPL-2.0+ + * @license GPL-2.0-or-later */ /** @@ -14,7 +13,6 @@ */ class ApiGroupReview extends ApiBase { protected static $right = 'translate-groupreview'; - protected static $salt = 'translate-groupreview'; public function execute() { $user = $this->getUser(); @@ -24,47 +22,44 @@ class ApiGroupReview extends ApiBase { $code = $requestParams['language']; if ( !$group || MessageGroups::isDynamic( $group ) ) { - $this->dieUsageMsg( array( 'missingparam', 'group' ) ); + $this->dieWithError( [ 'apierror-missingparam', 'group' ] ); } $stateConfig = $group->getMessageGroupStates()->getStates(); if ( !$stateConfig ) { - $this->dieUsage( 'Message group review not in use', 'disabled' ); + $this->dieWithError( 'apierror-translate-groupreviewdisabled', 'disabled' ); } - if ( !$user->isAllowed( self::$right ) ) { - $this->dieUsage( 'Permission denied', 'permissiondenied' ); - } + $this->checkUserRightsAny( self::$right ); if ( $user->isBlocked() ) { - $this->dieUsage( 'You have been blocked', 'blocked' ); + $this->dieBlocked( $user->getBlock() ); } $requestParams = $this->extractRequestParams(); $languages = Language::fetchLanguageNames(); if ( !isset( $languages[$code] ) ) { - $this->dieUsageMsg( array( 'missingparam', 'language' ) ); + $this->dieWithError( [ 'apierror-missingparam', 'language' ] ); } $targetState = $requestParams['state']; if ( !isset( $stateConfig[$targetState] ) ) { - $this->dieUsage( 'The requested state is invalid', 'invalidstate' ); + $this->dieWithError( 'apierror-translate-invalidstate', 'invalidstate' ); } if ( is_array( $stateConfig[$targetState] ) && isset( $stateConfig[$targetState]['right'] ) - && !$user->isAllowed( $stateConfig[$targetState]['right'] ) ) { - $this->dieUsage( 'Permission denied', 'permissiondenied' ); + $this->checkUserRightsAny( $stateConfig[$targetState]['right'] ); } self::changeState( $group, $code, $targetState, $user ); - $output = array( 'review' => array( + $output = [ 'review' => [ 'group' => $group->getId(), 'language' => $code, 'state' => $targetState, - ) ); + ] ]; $this->getResult()->addValue( null, $this->getModuleName(), $output ); } @@ -74,10 +69,10 @@ class ApiGroupReview extends ApiBase { $table = 'translate_groupreviews'; $field = 'tgr_state'; - $conds = array( + $conds = [ 'tgr_group' => $group->getId(), 'tgr_lang' => $code - ); + ]; return $dbw->selectField( $table, $field, $conds, __METHOD__ ); } @@ -89,33 +84,33 @@ class ApiGroupReview extends ApiBase { } $table = 'translate_groupreviews'; - $index = array( 'tgr_group', 'tgr_language' ); - $row = array( + $index = [ 'tgr_group', 'tgr_language' ]; + $row = [ 'tgr_group' => $group->getId(), 'tgr_lang' => $code, 'tgr_state' => $newState, - ); + ]; $dbw = wfGetDB( DB_MASTER ); - $dbw->replace( $table, array( $index ), $row, __METHOD__ ); + $dbw->replace( $table, [ $index ], $row, __METHOD__ ); $entry = new ManualLogEntry( 'translationreview', 'group' ); $entry->setPerformer( $user ); $entry->setTarget( SpecialPage::getTitleFor( 'Translate', $group->getId() ) ); // @todo // $entry->setComment( $comment ); - $entry->setParameters( array( + $entry->setParameters( [ '4::language' => $code, '5::group-label' => $group->getLabel(), '6::old-state' => $currentState, '7::new-state' => $newState, - ) ); + ] ); $logid = $entry->insert(); $entry->publish( $logid ); - wfRunHooks( 'TranslateEventMessageGroupStateChange', - array( $group, $code, $currentState, $newState ) ); + Hooks::run( 'TranslateEventMessageGroupStateChange', + [ $group, $code, $currentState, $newState ] ); return true; } @@ -128,100 +123,31 @@ class ApiGroupReview extends ApiBase { return 'csrf'; } - // This function exists for backwards compatibility with MediaWiki before - // 1.24 - public function getTokenSalt() { - return self::$salt; - } - - // This function maintains backwards compatibility with self::getToken() - // below. If salt is removed from self::getToken() and nothing else (e.g. - // JS) generates the token directly, this could probably be removed. - protected function getWebUITokenSalt( array $params ) { - return self::$salt; - } - public function getAllowedParams() { - return array( - 'group' => array( + return [ + 'group' => [ ApiBase::PARAM_TYPE => 'string', ApiBase::PARAM_REQUIRED => true, - ), - 'language' => array( + ], + 'language' => [ ApiBase::PARAM_TYPE => 'string', ApiBase::PARAM_DFLT => 'en', - ), - 'state' => array( + ], + 'state' => [ ApiBase::PARAM_TYPE => 'string', ApiBase::PARAM_REQUIRED => true, - ), - 'token' => array( + ], + 'token' => [ ApiBase::PARAM_TYPE => 'string', ApiBase::PARAM_REQUIRED => true, - ), - ); - } - - /** - * @deprecated since MediaWiki core 1.25 - */ - public function getParamDescription() { - $action = TranslateUtils::getTokenAction( 'groupreview' ); - - return array( - 'group' => 'Message group', - 'language' => 'Language code', - 'state' => 'The new state for the group', - 'token' => "A token previously acquired with $action", - ); - } - - /** - * @deprecated since MediaWiki core 1.25 - */ - public function getDescription() { - return 'Set message group workflow states'; - } - - /** - * @deprecated since MediaWiki core 1.25 - */ - public function getExamples() { - $group = 'page-Example'; - - return array( - "api.php?action=groupreview&group=$group&language=de&state=ready&token=foo", - ); + ], + ]; } - /** - * @see ApiBase::getExamplesMessages() - */ protected function getExamplesMessages() { - return array( + return [ 'action=groupreview&group=page-Example&language=de&state=ready&token=foo' => 'apihelp-groupreview-example-1', - ); - } - - // These two functions implement pre-1.24 token fetching via the - // ApiTokensGetTokenTypes hook, kept for backwards compatibility. - public static function getToken() { - $user = RequestContext::getMain()->getUser(); - if ( !$user->isAllowed( self::$right ) ) { - return false; - } - - return $user->getEditToken( self::$salt ); - } - - public static function injectTokenFunction( &$list ) { - $list['groupreview'] = array( __CLASS__, 'getToken' ); - - return true; // Hooks must return bool - } - - public static function getRight() { - return self::$right; + ]; } } |