summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBrian Evans <grknight@gentoo.org>2018-11-20 10:51:06 -0500
committerBrian Evans <grknight@gentoo.org>2018-11-20 10:51:06 -0500
commit1ea74fa59d8d1c6c12d20be6c8e7d5ac7f370fdb (patch)
treead113bd05db878a61b503938c05fe046eca25ee0 /MLEB/Translate/api/ApiGroupReview.php
parentLinkAttributes: Update to v0.2 (diff)
downloadextensions-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.php138
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;
+ ];
}
}