You are here

function crm_core_user_sync_user_delete in CRM Core 8.2

Same name and namespace in other branches
  1. 8.3 modules/crm_core_user_sync/crm_core_user_sync.module \crm_core_user_sync_user_delete()
  2. 8 modules/crm_core_user_sync/crm_core_user_sync.module \crm_core_user_sync_user_delete()
  3. 7 modules/crm_core_user_sync/crm_core_user_sync.module \crm_core_user_sync_user_delete()

Implements hook_user_delete()

File

modules/crm_core_user_sync/crm_core_user_sync.module, line 167

Code

function crm_core_user_sync_user_delete($account) {

  // @TODO: For now we delete the relation only.
  // We should handle this properly in hook_user_cancel() regarding other
  // cancellation methods.
  $query = relation_query('user', $account->uid);
  $query
    ->propertyCondition('relation_type', 'crm_core_user_sync');
  $query
    ->propertyCondition('arity', 2);
  $relations = $query
    ->execute();
  $relation_ids = array();
  foreach ($relations as $relation) {
    $relation_ids[] = $relation->relation_id;
  }
  if (!empty($relation_ids)) {
    \Drupal::entityTypeManager()
      ->getStorage('relation')
      ->delete(Relation::loadMultiple($relation_ids));
  }
}