You are here

function uuid_field_collection_features_export_options in UUID Features Integration 7

Implements hook_features_export_options().

File

includes/uuid_field_collection.features.inc, line 10
Features hooks for the uuid_field_collection features component.

Code

function uuid_field_collection_features_export_options() {
  $options = array();
  $all_ids = array();

  // Only allow enabled bundles to be exported.
  $enabled_bundles = array();
  $entity_info = entity_get_info('field_collection_item');
  foreach ($entity_info['bundles'] as $key => $value) {
    if (variable_get("uuid_features_entity_field_collection_item_{$key}", FALSE)) {
      $enabled_bundles[$key] = $key;
    }
  }
  if ($enabled_bundles) {
    $efq_field_collection_items = new EntityFieldQuery();
    $efq_field_collection_items
      ->entityCondition('entity_type', 'field_collection_item');
    $efq_field_collection_items
      ->entityCondition('bundle', $enabled_bundles);
    $efq_field_collection_items
      ->addTag('uuid_field_collection_features_export_options');
    $result = $efq_field_collection_items
      ->execute();
    if (!empty($result['field_collection_item'])) {
      $all_ids = array_keys($result['field_collection_item']);
    }
    $items = entity_load('field_collection_item', $all_ids);
    foreach ($items as $item) {
      $info = $item
        ->instanceInfo();
      $options[$item->uuid] = t('@type: @title', array(
        '@type' => $info['label'],
        '@title' => $item
          ->defaultLabel(),
      ));
    }
  }
  drupal_alter('uuid_field_collection_features_export_options', $options);
  return $options;
}