Simplify LanguageManager::availableLanguages() conditions

Signed-off-by: Maurício Meneghini Fauth <mauricio@fauth.dev>
This commit is contained in:
Maurício Meneghini Fauth 2024-01-09 13:32:54 -03:00
parent 37d1b3ec33
commit eeb196470d
No known key found for this signature in database
GPG Key ID: 6A16FD38AFC89CC8
2 changed files with 9 additions and 24 deletions

View File

@ -9865,11 +9865,6 @@ parameters:
count: 1
path: src/LanguageManager.php
-
message: "#^Unsafe access to private property PhpMyAdmin\\\\LanguageManager\\:\\:\\$languageData through static\\:\\:\\.$#"
count: 2
path: src/LanguageManager.php
-
message: "#^Binary operation \"\\+\" between int\\|string\\|null and int\\<0, max\\> results in an error\\.$#"
count: 1

View File

@ -711,7 +711,7 @@ class LanguageManager
/** @var mixed[] */
private array $availableLocales = [];
/** @var Language[] */
/** @var array<string, Language> */
private array $availableLanguages = [];
private bool $langFailedConfig = false;
@ -810,28 +810,18 @@ class LanguageManager
/**
* Returns (cached) list of all available languages
*
* @return Language[] array of Language objects
* @return array<string, Language>
*/
public function availableLanguages(): array
{
if ($this->availableLanguages === []) {
$this->availableLanguages = [];
if ($this->availableLanguages !== []) {
return $this->availableLanguages;
}
foreach ($this->availableLocales() as $lang) {
$lang = strtolower($lang);
if (isset(static::$languageData[$lang])) {
$data = static::$languageData[$lang];
$this->availableLanguages[$lang] = new Language($data[0], $data[1], $data[2], $data[3], $data[4]);
} else {
$this->availableLanguages[$lang] = new Language(
$lang,
ucfirst($lang),
ucfirst($lang),
$lang,
'',
);
}
}
foreach ($this->availableLocales() as $lang) {
$lang = strtolower($lang);
$data = self::$languageData[$lang] ?? [$lang, ucfirst($lang), ucfirst($lang), $lang, ''];
$this->availableLanguages[$lang] = new Language(...$data);
}
return $this->availableLanguages;