eZ\Publish\Core\Repository\ContentService::getLanguageCodesForUpdate PHP Method

getLanguageCodesForUpdate() protected method

Returns all language codes used in given $fields.
protected getLanguageCodesForUpdate ( eZ\Publish\API\Repository\Values\Content\ContentUpdateStruct $contentUpdateStruct, eZ\Publish\API\Repository\Values\Content\Content $content ) : array
$contentUpdateStruct eZ\Publish\API\Repository\Values\Content\ContentUpdateStruct
$content eZ\Publish\API\Repository\Values\Content\Content
return array
    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);
    }