Drupal 7 – Cancelar cuenta sin confirmar email
Cuando marcamos la casilla de que el usuario confirme el email al crear cuenta también obligamos a que confirme por email la cancelación.
Para saltarnos este paso y que cada usuario pueda borrar su cuenta cuando le plazca sin confirmar por email, pero manteniendo la confirmación al crearlo deberemos hacer uso del siguiente código:
function MYMODULE_form_user_cancel_confirm_form_alter(&$form, &$form_state, $form_id) {
$form['#submit'][] = 'MYMODULE_user_cancel_form_submit';
}
function MYMODULE_user_cancel_form_submit(&$form, &$form_state) {
// Rather than negating the complex access expression from the original form we can
// just make the change in the else portion
global $user;
$account = $form_state['values']['_account'];
if (user_access('administer users') && empty($form_state['values']['user_cancel_confirm']) && $account->uid != $user->uid) {
// Account has already been cancelled by the system.
}
else {
// Cancel the account
user_cancel($form_state['values'], $account->uid, $form_state['values']['user_cancel_method']);
}
}
Apasionado de la montaña, del SEO y la programación a partes iguales, llevo más de 20 años trabajando en distintos sectores, pero siempre enfocado a la web, si quieres saber más de mí, sigue el enlace.