protected determineLanguageCodesForUpdate ( string $initialLanguageCode, array $structFields, string[] $existingLanguages ) : string[] | ||
$initialLanguageCode | string | |
$structFields | array | |
$existingLanguages | string[] | |
return | string[] |
protected function determineLanguageCodesForUpdate($initialLanguageCode, array $structFields, $existingLanguages)
{
$languageCodes = array_fill_keys($existingLanguages, true);
if ($initialLanguageCode !== null) {
$languageCodes[$initialLanguageCode] = true;
}
foreach ($structFields as $field) {
if ($field->languageCode === null || isset($languageCodes[$field->languageCode])) {
continue;
}
$languageCodes[$field->languageCode] = true;
}
return array_keys($languageCodes);
}