You are here

function security_questions_user_form in Security Questions 7.2

Same name and namespace in other branches
  1. 6.2 security_questions.pages.inc \security_questions_user_form()

The user's security questions form.

Parameters

$account: (optional) A user account object.

1 call to security_questions_user_form()
_security_questions_user_login_form_alter in ./security_questions.module
Helper function for altering the login forms.
2 string references to 'security_questions_user_form'
security_questions_form_user_register_form_alter in ./security_questions.module
Implements hook_form_FORM_ID_alter().
security_questions_menu in ./security_questions.module
Implements hook_menu().

File

./security_questions.pages.inc, line 56
User page callbacks for the security questions module.

Code

function security_questions_user_form($form, &$form_state, $account = NULL) {
  $form['questions'] = array(
    '#tree' => TRUE,
  );
  $i = 0;
  if (is_object($account)) {
    $form['account'] = array(
      '#type' => 'value',
      '#value' => $account,
    );

    // Fields for changing existing answers.
    $answers = security_questions_get_answer_list($account->uid);
    foreach ($answers as $answer) {
      $form['questions'][$i] = security_questions_selector_element('questions[' . $i . ']', $account, $answer);
      $i++;
    }
  }
  else {
    $account = NULL;
  }

  // Fields for selecting new answers.
  $required = variable_get('security_questions_number_required', 3);
  while ($i < $required) {
    $form['questions'][$i] = security_questions_selector_element('questions[' . $i . ']', $account);
    $i++;
  }
  $form['actions'] = array(
    '#type' => 'actions',
  );
  $form['actions']['submit'] = array(
    '#type' => 'submit',
    '#value' => t('Save'),
  );
  return $form;
}