function security_questions_form_user_pass_alter in Security Questions 7.2
Same name and namespace in other branches
- 6.2 security_questions.module \security_questions_form_user_pass_alter()
- 6 security_questions.module \security_questions_form_user_pass_alter()
- 7 security_questions.module \security_questions_form_user_pass_alter()
Implements hook_form_FORM_ID_alter().
Adds a question challenge to the password reset form.
File
- ./
security_questions.module, line 462 - Main module file for security_questions.
Code
function security_questions_form_user_pass_alter(&$form, &$form_state, $form_id) {
// Abort if the password form is not protected.
if (!variable_get('security_questions_password_reset', FALSE)) {
return;
}
global $user;
// We need our own submission handler to make this a multistep form.
$form['#submit'] = array(
'security_questions_user_pass_submit',
);
// If the user is already logged in but not allowed to bypass, or our submit
// handler triggered a rebuild, then we need to issue a challenge.
$account = FALSE;
if ($user->uid > 0 && !security_questions_bypass_challenge($user)) {
$account = $user;
}
elseif (!empty($form_state['security_questions']['uid'])) {
$account = user_load($form_state['security_questions']['uid']);
}
if ($account) {
$form += security_questions_challenge($account);
$form['#validate'][] = 'security_questions_user_pass_answer_validate';
$form['name']['#type'] = 'value';
$form['name']['#value'] = $account->mail;
}
}