function security_questions_pass_reset_validate_account in Security Questions 7
Same name and namespace in other branches
- 6 security_questions.module \security_questions_pass_reset_validate_account()
Validation handler for security_questions_form_user_pass_alter().
1 string reference to 'security_questions_pass_reset_validate_account'
- security_questions_form_user_pass_alter in ./
security_questions.module - Implements hook_form_FORM_ID_alter() for user_pass().
File
- ./
security_questions.module, line 1037 - Main module file for security_questions.
Code
function security_questions_pass_reset_validate_account(&$form, &$form_state) {
$errors = form_get_errors();
if (!$errors) {
// Taken from user_pass_validate().
$name = trim($form_state['values']['name']);
$account = user_load_by_mail($name);
if (!$account) {
// No success, try to load by name.
$account = user_load_by_name($name);
}
$question = security_questions_get_random_question($account);
// If the user has questions answered, we can rebuild the form and ask it.
if ($question && !user_access('bypass security questions', $account)) {
// Store account for later, and rebuild the form.
$form_state['security_questions']['account'] = $account;
$form_state['rebuild'] = TRUE;
}
elseif ($question && user_access('bypass security questions', $account)) {
user_pass_submit($form, $form_state);
}
else {
user_pass_submit($form, $form_state);
}
}
}