function uuid_fpp_features_rebuild in UUID Features Integration 7
Implements hook_features_rebuild().
Rebuilds terms based on UUID from code defaults.
1 call to uuid_fpp_features_rebuild()
- uuid_fpp_features_revert in includes/uuid_fpp.features.inc 
- Implements hook_features_revert().
File
- includes/uuid_fpp.features.inc, line 130 
- Features hooks for the uuid_fpp features component.
Code
function uuid_fpp_features_rebuild($module) {
  $fpps = features_get_default('uuid_fpp', $module);
  if (!empty($fpps)) {
    // Get info about current FPP types available in system.
    $entity_info = entity_get_info('fieldable_panels_pane');
    $entity_type = 'fieldable_panels_pane';
    // Loop through the export.
    foreach ($fpps as $data) {
      // Double-check that FPP can be created/reverted.
      if (!isset($entity_info['bundles'][$data['bundle']])) {
        drupal_set_message('Bundle not found for fieldable panels pane of type ' . $data['bundle'] . '. Fieldable panels pane was not created/reverted.', 'warning');
      }
      else {
        // If this is an update, there will be a by-UUID matching FPP.
        $existing = entity_get_id_by_uuid('fieldable_panels_pane', array(
          $data['uuid'],
        ));
        if (!empty($existing)) {
          $fpp = entity_load_single('fieldable_panels_pane', $existing[$data['uuid']]);
          foreach ($data as $key => $value) {
            $fpp->{$key} = $value;
          }
        }
        else {
          // Create a new FPP.
          $fpp = entity_create('fieldable_panels_pane', $data);
        }
        drupal_alter('uuid_entity_features_rebuild', $entity_type, $fpp, $data, $module);
        uuid_features_file_field_import($fpp, 'fieldable_panels_pane');
        if (!fieldable_panels_panes_save($fpp)) {
          drupal_set_message('Failed to create ' . $data['bundle'] . ' fieldable panels pane ' . $data['label'], 'error');
        }
      }
    }
    module_invoke_all('uuid_entity_features_rebuild_complete', $entity_type, $fpps, $module);
  }
}