You are here

function hybridauth_user_identity_delete_submit in HybridAuth Social Login 6.2

Same name and namespace in other branches
  1. 7.2 hybridauth.pages.inc \hybridauth_user_identity_delete_submit()

File

./hybridauth.pages.inc, line 638

Code

function hybridauth_user_identity_delete_submit($form, &$form_state) {
  $account = $form['#account'];
  $del_identity = $form['#del_identity'];
  $del_identity_data = $form['#del_identity_data'];
  if (!empty($form_state['values']['identity_choice'])) {

    // Change hybridauth data used for tokens.
    $identity = _hybridauth_identity_load_by_id($form_state['values']['identity_choice']);
    $data = unserialize($identity['data']);
    $edit['hybridauth'] = $data;

    // Change name.

    //$name = _hybridauth_make_username($data);

    //$edit['name'] = $name;
    $account = user_save($account, $edit);
  }
  $deleted = _hybridauth_identity_delete_by_id($del_identity['id']);
  if ($deleted) {
    drupal_set_message(t('Identity deleted.'));

    // Invoke hybridauth_identity_deleted rules event.
    if (module_exists('rules')) {
      rules_invoke_event('hybridauth_identity_deleted', $account, $del_identity_data);
    }
  }
  if ($hybridauth = hybridauth_get_instance()) {
    $adapter = $hybridauth
      ->getAdapter($del_identity['provider']);
    $adapter
      ->logout();
    _hybridauth_session_save($hybridauth
      ->getSessionData(), $account->uid);
  }
  $form_state['redirect'] = 'user/' . $account->uid . '/hybridauth';
}