You are here

function entity_translation_uuid_entity_features_export_render_alter in UUID Features Integration 7

Implements hook_uuid_entity_features_export_render_alter().

File

includes/modules/entity_translation.inc, line 10
uuid features hooks on behalf of the entity_translation module.

Code

function entity_translation_uuid_entity_features_export_render_alter($entity_type, &$export, &$entity, $module) {
  if (entity_translation_enabled($entity_type, $entity)) {
    $entity_info = entity_get_info($entity_type);
    if (isset($entity_info['entity keys']['translations']) && isset($entity->{$entity_info['entity keys']['translations']})) {
      $translations = $entity->{$entity_info['entity keys']['translations']};

      // Don't export certain parts of entity translation.
      if (isset($translations->data)) {
        foreach ($translations->data as $language => $value) {

          // Replace entity_id by uuid.
          if (isset($translations->data[$language]['entity_id'])) {
            $uuids = entity_get_uuid_by_id($entity_type, array(
              $translations->data[$language]['entity_id'],
            ));
            $translations->data[$language]['entity_uuid'] = reset($uuids);
          }

          // Replace user id by uuid.
          if (isset($translations->data[$language]['uid'])) {
            $uuids = entity_get_uuid_by_id('user', array(
              $translations->data[$language]['uid'],
            ));
            $translations->data[$language]['user_uuid'] = reset($uuids);
          }

          // Remove unnecessary keys.
          unset($translations->data[$language]['uid'], $translations->data[$language]['entity_id'], $translations->data[$language]['revision_id'], $translations->data[$language]['changed']);
        }
      }

      // Don't export the translation handler id from entity translation.
      unset($export->entity_translation_handler_id);
    }
  }
}