function _translation_entity_update_field

Stores the given field translations.

1 call to _translation_entity_update_field()
translation_entity_translatable_batch in drupal/core/modules/translation_entity/translation_entity.admin.inc
Batch callback: Converts field data to or from Language::LANGCODE_NOT_SPECIFIED.

File

drupal/core/modules/translation_entity/translation_entity.admin.inc, line 590
The entity translation administration forms.

Code

function _translation_entity_update_field($entity_type, EntityInterface $entity, $field_name) {
  $empty = 0;
  $field = field_info_field($field_name);

  // Ensure that we are trying to store only valid data.
  foreach ($entity->{$field_name} as $langcode => $items) {
    $entity->{$field_name}[$langcode] = _field_filter_items($field, $entity->{$field_name}[$langcode]);
    $empty += empty($entity->{$field_name}[$langcode]);
  }

  // Save the field value only if there is at least one item available,
  // otherwise any stored empty field value would be deleted. If this happens
  // the range queries would be messed up.
  if ($empty < count($entity->{$field_name})) {
    field_attach_presave($entity);
    field_attach_update($entity);
  }
}