function security_questions_user_answer_form_submit in Security Questions 7
Same name and namespace in other branches
- 6 security_questions.module \security_questions_user_answer_form_submit()
Submit handler for answer form.
1 string reference to 'security_questions_user_answer_form_submit'
- security_questions_form_user_login_alter in ./
security_questions.module - Implements hook_form_FORM_ID_alter() for user_login().
File
- ./
security_questions.module, line 669 - Main module file for security_questions.
Code
function security_questions_user_answer_form_submit($form, &$form_state) {
// Grab the user id from the form during login.
if (isset($form_state['security_questions']['account'])) {
$account = $form_state['security_questions']['account'];
}
else {
global $user;
$account = $user;
}
// Get required number of questions and set a counter.
$required = security_questions_required_for_user($account);
$i = 1;
// Insert each answer into the database.
while ($i <= $required) {
// If the user entered their own questions, we need to input them into the
// security questions table for storage.
if ($form_state['input']['security_question_id_' . $i] == 'other') {
db_insert('security_questions')
->fields(array(
'security_question' => $form_state['input']['security_question_user_question_' . $i],
'uid' => $account->uid,
))
->execute();
// Get the question id for the question we just put in, so we can store
// the user's answer.
$qid = db_query('SELECT security_question_id FROM {security_questions}
WHERE security_question = :question', array(
':question' => $form_state['input']['security_question_user_question_' . $i],
))
->fetchField();
// Reset the question id for input into the answers table.
$form_state['input']['security_question_id_' . $i] = $qid;
}
db_insert('security_questions_answers')
->fields(array(
'uid' => $account->uid,
'security_question_id' => $form_state['input']['security_question_id_' . $i],
'user_answer' => $form_state['input']['security_question_user_answer_' . $i],
))
->execute();
$i++;
}
}