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": {
"languagesearch": "ApiLanguageSearch",
"ulslocalization": "ApiULSLocalization",
"ulslocalization": {
"class": "ApiULSLocalization",
"services": [
"LanguageNameUtils"
]
},
"ulssetlang": {
"class": "ApiULSSetLanguage",
"services": [

View File

@@ -18,10 +18,28 @@
* @license MIT
*/
use MediaWiki\Languages\LanguageNameUtils;
/**
* @ingroup API
*/
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() {
$this->getMain()->setCacheMode( 'public' );
@@ -29,7 +47,7 @@ class ApiULSLocalization extends ApiBase {
$params = $this->extractRequestParams();
$language = $params['language'];
if ( !Language::isValidCode( $language ) ) {
if ( !$this->languageNameUtils->isValidCode( $language ) ) {
$this->dieWithError( [ 'apierror-invalidlang', 'language' ], 'invalidlanguage' );
}
$contents = ULSJsonMessageLoader::getMessages( $language );