You are here

function security_questions_get_question_list in Security Questions 6.2

Same name and namespace in other branches
  1. 7.2 security_questions.module \security_questions_get_question_list()

Fetch a user's available questions from the database.

Parameters

$account: (optional) A user object. If omitted, only global questions are fetched.

Return value

An array suitable for use in a form select element's '#options' of questions that the user is permitted to choose.

1 call to security_questions_get_question_list()
security_questions_selector_element in ./security_questions.pages.inc
Helper function to generate a question selector and answer form element.

File

./security_questions.module, line 822
Main module file for security_questions.

Code

function security_questions_get_question_list($account = NULL) {

  // Cache the question set for the user, as this may be called repeatedly.
  static $options = array();
  $uid = isset($account) ? $account->uid : 0;
  if (!isset($options[$uid])) {
    $questions = security_questions_question_load_multiple(array(
      'uid' => 0,
    ));
    if ($uid && variable_get('security_questions_user_questions', FALSE)) {
      $questions += security_questions_question_load_multiple(array(
        'uid' => $uid,
      ));
    }
    foreach ($questions as $question) {
      $options[$uid][$question->sqid] = $question->question;
    }
  }
  return $options[$uid];
}