You are here

function quiz_generate_dummy_multichoice_question_info in Quiz 6.x

Same name and namespace in other branches
  1. 8.6 quiz.devel.inc \quiz_generate_dummy_multichoice_question_info()
  2. 8.5 quiz.devel.inc \quiz_generate_dummy_multichoice_question_info()
  3. 7.6 quiz.devel.inc \quiz_generate_dummy_multichoice_question_info()
  4. 7.5 quiz.devel.inc \quiz_generate_dummy_multichoice_question_info()

Template for multichoice questions.

Return value

array

1 call to quiz_generate_dummy_multichoice_question_info()
quiz_generate_questions in ./quiz.devel.inc
Generate Quiz questions.

File

./quiz.devel.inc, line 217

Code

function quiz_generate_dummy_multichoice_question_info() {
  $array = [
    'choice_multi' => array_rand([
      0,
      1,
    ]),
    'choice_random' => array_rand([
      0,
      1,
    ]),
    'choice_boolean' => array_rand([
      0,
      1,
    ]),
  ];
  $rand = $array['choice_multi'] ? 1 : rand(2, 10);
  for ($i = 0; $i < $rand; ++$i) {
    if (!$array['choice_multi']) {

      // Not multi answer - we can only do 1 correct answer.
      if ($i == 0) {
        $correct = 1;
      }
      else {
        $correct = 0;
      }
    }
    else {

      // Multi answer.
      $correct = rand(0, 1);
    }
    $array['alternatives'][] = [
      'correct' => $correct,
      'answer' => [
        'value' => devel_create_greeking(rand(2, 10)),
        'format' => filter_default_format(),
      ],
      'feedback_if_chosen' => [
        'value' => devel_create_greeking(rand(5, 10)),
        'format' => filter_default_format(),
      ],
      'feedback_if_not_chosen' => [
        'value' => devel_create_greeking(rand(5, 10)),
        'format' => filter_default_format(),
      ],
      'score_if_chosen' => 1,
      'score_if_not_chosen' => 0,
    ];
  }
  return $array;
}