Fix #1737 direct feedback no question list set.

pull/2487/head
jmontoyaa 9 years ago
parent 1d38179f25
commit f5dd738fe7
  1. 23
      main/inc/lib/exercise.lib.php

@ -3484,6 +3484,9 @@ HOTSPOT;
if ($save_user_result == false) { if ($save_user_result == false) {
$question_list = $objExercise->get_validated_question_list(); $question_list = $objExercise->get_validated_question_list();
} }
if ($objExercise->selectFeedbackType() == EXERCISE_FEEDBACK_TYPE_DIRECT) {
$question_list = $objExercise->get_validated_question_list();
}
} }
$counter = 1; $counter = 1;
@ -3583,25 +3586,37 @@ HOTSPOT;
$media_list = array(); $media_list = array();
$category_list = array(); $category_list = array();
$loadChoiceFromSession = false;
$fromDatabase = true;
$exerciseResult = null;
if ($objExercise->selectFeedbackType() == EXERCISE_FEEDBACK_TYPE_DIRECT) {
$loadChoiceFromSession = true;
$fromDatabase = false;
$exerciseResult = Session::read('exerciseResult');
}
// Loop over all question to show results for each of them, one by one // Loop over all question to show results for each of them, one by one
if (!empty($question_list)) { if (!empty($question_list)) {
foreach ($question_list as $questionId) { foreach ($question_list as $questionId) {
// creates a temporary Question object // creates a temporary Question object
$objQuestionTmp = Question::read($questionId); $objQuestionTmp = Question::read($questionId);
// This variable came from exercise_submit_modal.php // This variable came from exercise_submit_modal.php
ob_start(); ob_start();
$choice = null;
if ($loadChoiceFromSession) {
$choice = isset($exerciseResult[$questionId]) ? $exerciseResult[$questionId] : null;
}
// We're inside *one* question. Go through each possible answer for this question // We're inside *one* question. Go through each possible answer for this question
$result = $objExercise->manage_answer( $result = $objExercise->manage_answer(
$exercise_stat_info['exe_id'], $exe_id,
$questionId, $questionId,
null, $choice,
'exercise_result', 'exercise_result',
[], [],
$save_user_result, $save_user_result,
true, $fromDatabase,
$show_results, $show_results,
$objExercise->selectPropagateNeg(), $objExercise->selectPropagateNeg(),
[], [],

Loading…
Cancel
Save