summaryrefslogtreecommitdiff
path: root/www/wiki/extensions/Translate/api/ApiGroupReview.php
diff options
context:
space:
mode:
Diffstat (limited to 'www/wiki/extensions/Translate/api/ApiGroupReview.php')
-rw-r--r--www/wiki/extensions/Translate/api/ApiGroupReview.php65
1 files changed, 31 insertions, 34 deletions
diff --git a/www/wiki/extensions/Translate/api/ApiGroupReview.php b/www/wiki/extensions/Translate/api/ApiGroupReview.php
index 8f7ce9ca..67583854 100644
--- a/www/wiki/extensions/Translate/api/ApiGroupReview.php
+++ b/www/wiki/extensions/Translate/api/ApiGroupReview.php
@@ -3,7 +3,7 @@
* API module for switching workflow states for message groups
* @file
* @author Niklas Laxström
- * @license GPL-2.0+
+ * @license GPL-2.0-or-later
*/
/**
@@ -22,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 );
}
@@ -72,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__ );
}
@@ -87,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 );
Hooks::run( 'TranslateEventMessageGroupStateChange',
- array( $group, $code, $currentState, $newState ) );
+ [ $group, $code, $currentState, $newState ] );
return true;
}
@@ -127,30 +124,30 @@ class ApiGroupReview extends ApiBase {
}
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,
- ),
- );
+ ],
+ ];
}
protected function getExamplesMessages() {
- return array(
+ return [
'action=groupreview&group=page-Example&language=de&state=ready&token=foo'
=> 'apihelp-groupreview-example-1',
- );
+ ];
}
}