You are here

function hybridauth_user_identity_delete_submit in HybridAuth Social Login 7.2

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

File

./hybridauth.pages.inc, line 823
HybridAuth module pages.

Code

function hybridauth_user_identity_delete_submit($form, &$form_state) {
  $account = $form['#user'];
  $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['data']['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.'));
    _hybridauth_invoke_hooks('hybridauth_identity_deleted', $account, $del_identity_data);
  }
  if ($hybridauth = hybridauth_get_instance()) {
    if (is_object($hybridauth)) {
      $adapter = $hybridauth
        ->getAdapter($del_identity['provider']);
      $adapter
        ->logout();
    }
  }
  $form_state['redirect'] = 'user/' . $account->uid . '/hybridauth';
}