You are here

function sf_entity_entity_delete in Salesforce Suite 7.2

Same name and namespace in other branches
  1. 7 sf_entity/sf_entity.module \sf_entity_entity_delete()

Implements hook_entity_delete(). This should be sufficient for implementing node and user deletion as well.

Parameters

string $entity:

string $type:

File

sf_entity/sf_entity.module, line 250
Integrates fieldable entities with the Salesforce API.

Code

function sf_entity_entity_delete($entity, $type) {
  list($id, $vid, $bundle) = entity_extract_ids($type, $entity);

  // If this entity has not already been mapped to Salesforce, then return.
  if (!isset($entity->salesforce->name) || empty($entity->salesforce->name)) {
    return;
  }

  // Otherwise, load the map by which this entity was mapped to Salesforce.
  $map = salesforce_api_salesforce_fieldmap_load($entity->salesforce->name);
  if ($map->automatic & SALESFORCE_AUTO_SYNC_DELETE) {
    $continue = TRUE;
    if (isset($entity->salesforce->sfid) && !empty($entity->salesforce->sfid)) {
      $continues = module_invoke_all('salesforce_api_delete', $entity->salesforce->sfid, $map, $id);
      if (!empty($continues)) {
        foreach ($continues as $continue) {
          if ($continue === FALSE) {
            break;
          }
        }
      }
      if ($continue) {
        salesforce_api_delete_salesforce_objects($entity->salesforce->sfid);
      }
    }
  }
  salesforce_api_delete_object_map($id, $type, $bundle);
}