eZ\Publish\Core\Repository\Tests\Service\Mock\ContentTest::mapStructFieldsForUpdate PHP Method

mapStructFieldsForUpdate() protected method

protected mapStructFieldsForUpdate ( string $initialLanguageCode, eZ\Publish\API\Repository\Values\Content\Field[] $structFields, string $mainLanguageCode, eZ\Publish\API\Repository\Values\ContentType\FieldDefinition[] $fieldDefinitions ) : array
$initialLanguageCode string
$structFields eZ\Publish\API\Repository\Values\Content\Field[]
$mainLanguageCode string
$fieldDefinitions eZ\Publish\API\Repository\Values\ContentType\FieldDefinition[]
return array
    protected function mapStructFieldsForUpdate($initialLanguageCode, $structFields, $mainLanguageCode, $fieldDefinitions)
    {
        $initialLanguageCode = $initialLanguageCode ?: $mainLanguageCode;
        $mappedFieldDefinitions = array();
        foreach ($fieldDefinitions as $fieldDefinition) {
            $mappedFieldDefinitions[$fieldDefinition->identifier] = $fieldDefinition;
        }
        $mappedStructFields = array();
        foreach ($structFields as $structField) {
            $identifier = $structField->fieldDefIdentifier;
            if ($structField->languageCode !== null) {
                $languageCode = $structField->languageCode;
            } elseif ($mappedFieldDefinitions[$identifier]->isTranslatable) {
                $languageCode = $initialLanguageCode;
            } else {
                $languageCode = $mainLanguageCode;
            }
            $mappedStructFields[$identifier][$languageCode] = (string) $structField->value;
        }
        return $mappedStructFields;
    }
ContentTest