protected function getLanguageCodesForUpdate(APIContentUpdateStruct $contentUpdateStruct, APIContent $content)
{
if ($contentUpdateStruct->initialLanguageCode !== null) {
$this->persistenceHandler->contentLanguageHandler()->loadByLanguageCode($contentUpdateStruct->initialLanguageCode);
} else {
$contentUpdateStruct->initialLanguageCode = $content->contentInfo->mainLanguageCode;
}
$languageCodes = array_fill_keys($content->versionInfo->languageCodes, true);
$languageCodes[$contentUpdateStruct->initialLanguageCode] = true;
foreach ($contentUpdateStruct->fields as $field) {
if ($field->languageCode === null || isset($languageCodes[$field->languageCode])) {
continue;
}
$this->persistenceHandler->contentLanguageHandler()->loadByLanguageCode($field->languageCode);
$languageCodes[$field->languageCode] = true;
}
return array_keys($languageCodes);
}