function field_test_field_storage_delete_revision

Implements hook_field_storage_delete_revision().

File

drupal/modules/field/tests/field_test.storage.inc, line 225
Defines a field storage backend.

Code

function field_test_field_storage_delete_revision($entity_type, $entity, $fields) {
  $data = _field_test_storage_data();
  list($id, $vid, $bundle) = entity_extract_ids($entity_type, $entity);
  foreach ($fields as $field_id) {
    $field_data =& $data[$field_id];
    foreach (array(
      'current',
      'revisions',
    ) as $sub_table) {
      foreach ($field_data[$sub_table] as $key => $row) {
        if ($row->type == $entity_type && $row->entity_id == $id && $row->revision_id == $vid) {
          unset($field_data[$sub_table][$key]);
        }
      }
    }
  }
  _field_test_storage_data($data);
}