function redhen_relation_uninstall in RedHen CRM 7
Implements hook_uninstall().
File
- modules/redhen_relation/ redhen_relation.install, line 184 
- Install, update and uninstall functions for the redhen relations module.
Code
function redhen_relation_uninstall() {
  // Get all the relationship_types (bundles), find all fields
  // delete them.
  $query = db_select('relation_bundles', 'rb')
    ->fields('rb', array(
    'relation_type',
  ))
    ->condition('rb.entity_type', 'redhen_contact')
    ->distinct()
    ->execute();
  $relationship_type = array();
  while ($record = $query
    ->fetchAssoc()) {
    $relationship_type[] = $record['relation_type'];
  }
  foreach ($relationship_type as $type) {
    // Look into the database for each type.
    $relationship_query = db_select('relation', 'r')
      ->fields('r', array(
      'rid',
    ))
      ->condition('r.relation_type', $type)
      ->execute();
    while ($result = $relationship_query
      ->fetchAssoc()) {
      // Delete all the relationships of that type.
      relation_delete($result['rid']);
    }
    // Finally delete the relationshp_type.
    relation_type_delete($type);
  }
  // Delete status field.
  field_delete_field('redhen_relation_status');
  // Delete Roles field:
  field_delete_field('redhen_relation_roles');
  // Delete relation role field.
  field_delete_field(REDHEN_RELATION_ROLES_FIELD);
  entity_info_cache_clear();
}