function hybridauth_user_identity_delete in HybridAuth Social Login 6.2
Same name and namespace in other branches
- 7.2 hybridauth.pages.inc \hybridauth_user_identity_delete()
1 string reference to 'hybridauth_user_identity_delete'
- hybridauth_menu in ./
hybridauth.module - Implements hook_menu().
File
- ./
hybridauth.pages.inc, line 556
Code
function hybridauth_user_identity_delete(&$form_state, $account, $id) {
$del_identity = _hybridauth_identity_load_by_id($id);
if (!$del_identity || $account->uid != $del_identity['uid']) {
drupal_set_message(t('You are trying to delete non-existing identity.'), 'error');
drupal_access_denied();
}
$del_identity_data = unserialize($del_identity['data']);
//$username = theme('username', $account);
$username = $account->name;
$question = t('Are you sure you want to detach the HybridAuth identity !identity from %user?', array(
'!identity' => l($del_identity_data['profileURL'], $del_identity_data['profileURL'], array(
'attributes' => array(
'target' => '_blank',
),
'external' => TRUE,
)),
'%user' => $username,
));
$form = array();
$form['#account'] = $account;
$form['#del_identity'] = $del_identity;
$form['#del_identity_data'] = $del_identity_data;
$form['question'] = array(
'#value' => $question,
'#prefix' => '<div>',
'#suffix' => '</div>',
);
if (!empty($account->hybridauth) && $account->hybridauth['provider'] == $del_identity_data['provider'] && $account->hybridauth['identifier'] == $del_identity_data['identifier']) {
$identities = _hybridauth_identity_load_by_uid($account->uid);
$providers = hybridauth_providers_list();
$options = array();
foreach ($identities as $key => $identity) {
$data = unserialize($identity['data']);
if ($key != $id) {
$options[$key] = $providers[$identity['provider']] . ' - ' . l($data['profileURL'], $data['profileURL'], array(
'attributes' => array(
'target' => '_blank',
),
'external' => TRUE,
));
}
}
if (!empty($options)) {
$form['explanation'] = array(
'#value' => t('This identity was used to create your account. Please choose another identity to replace it.'),
'#prefix' => '<div>',
'#suffix' => '</div>',
);
$form['identity_choice'] = array(
'#type' => 'radios',
//'#title' => t('Identities'),
'#options' => $options,
'#default_value' => count($options) == 1 ? $key : NULL,
);
}
else {
$form['explanation'] = array(
'#value' => t('This identity was used to create your account. To delete it you should first add another identity to your account.'),
'#prefix' => '<div>',
'#suffix' => '</div>',
);
// Add more identities.
if (user_access('use hybridauth')) {
$form['hybridauth_widget'] = array(
'#type' => 'hybridauth_widget',
'#title' => t('Add more identities'),
'#weight' => 10,
'#hybridauth_widget_type' => 'list',
'#hybridauth_destination' => '',
);
}
return $form;
}
}
$form = confirm_form($form, '', 'user/' . $account->uid . '/hybridauth');
drupal_set_title($username);
return $form;
}