ApiULSLocalization: Inject LanguageNameUtils

Replace deprecated Language::isValidCode by
LanguageNameUtils::isValidCode.

Change-Id: I2adef21fb37e78c163674008a4f9b1e5a74aa6a1
This commit is contained in:
Fomafix
2021-10-27 20:03:44 +00:00
committed by jenkins-bot
parent 006ae60eb7
commit 183bb97f74
2 changed files with 25 additions and 2 deletions

View File

@@ -32,7 +32,12 @@
}, },
"APIModules": { "APIModules": {
"languagesearch": "ApiLanguageSearch", "languagesearch": "ApiLanguageSearch",
"ulslocalization": "ApiULSLocalization", "ulslocalization": {
"class": "ApiULSLocalization",
"services": [
"LanguageNameUtils"
]
},
"ulssetlang": { "ulssetlang": {
"class": "ApiULSSetLanguage", "class": "ApiULSSetLanguage",
"services": [ "services": [

View File

@@ -18,10 +18,28 @@
* @license MIT * @license MIT
*/ */
use MediaWiki\Languages\LanguageNameUtils;
/** /**
* @ingroup API * @ingroup API
*/ */
class ApiULSLocalization extends ApiBase { class ApiULSLocalization extends ApiBase {
/** @var LanguageNameUtils */
private $languageNameUtils;
/**
* @param ApiMain $main
* @param string $action
* @param LanguageNameUtils $languageNameUtils
*/
public function __construct(
ApiMain $main,
$action,
LanguageNameUtils $languageNameUtils
) {
parent::__construct( $main, $action );
$this->languageNameUtils = $languageNameUtils;
}
public function execute() { public function execute() {
$this->getMain()->setCacheMode( 'public' ); $this->getMain()->setCacheMode( 'public' );
@@ -29,7 +47,7 @@ class ApiULSLocalization extends ApiBase {
$params = $this->extractRequestParams(); $params = $this->extractRequestParams();
$language = $params['language']; $language = $params['language'];
if ( !Language::isValidCode( $language ) ) { if ( !$this->languageNameUtils->isValidCode( $language ) ) {
$this->dieWithError( [ 'apierror-invalidlang', 'language' ], 'invalidlanguage' ); $this->dieWithError( [ 'apierror-invalidlang', 'language' ], 'invalidlanguage' );
} }
$contents = ULSJsonMessageLoader::getMessages( $language ); $contents = ULSJsonMessageLoader::getMessages( $language );