diff --git a/main/exercise/exercise.class.php b/main/exercise/exercise.class.php index ac319ffbf6..441d6497a6 100755 --- a/main/exercise/exercise.class.php +++ b/main/exercise/exercise.class.php @@ -3340,7 +3340,7 @@ class Exercise $hotspot_delineation_result = [], $showTotalScoreAndUserChoicesInLastAttempt = true ) { - global $debug; + $debug = false; //needed in order to use in the exercise_attempt() for the time global $learnpath_id, $learnpath_item_id; require_once api_get_path(LIBRARY_PATH).'geometry.lib.php'; @@ -3354,7 +3354,7 @@ class Exercise error_log('$from: '.$from); error_log('$saved_results: '.intval($saved_results)); error_log('$from_database: '.intval($from_database)); - error_log('$show_result: '.$show_result); + error_log('$show_result: '.intval($show_result)); error_log('$propagate_neg: '.$propagate_neg); error_log('$exerciseResultCoordinates: '.print_r($exerciseResultCoordinates, 1)); error_log('$hotspot_delineation_result: '.print_r($hotspot_delineation_result, 1)); @@ -3706,6 +3706,9 @@ class Exercise exe_id = $exeId AND question_id= ".intval($questionId); $result = Database::query($sql); + if ($debug) { + error_log($sql); + } $str = $answerFromDatabase = Database::result($result, 0, 'answer'); } @@ -3866,11 +3869,20 @@ class Exercise $studentAnswer = isset($choice[$i]) ? $choice[$i] : ''; $correctAnswer = $listCorrectAnswers['words'][$i]; + if ($debug) { + error_log("Student answer: $i"); + error_log($studentAnswer); + } + // This value is the user input, not escaped while correct answer is escaped by ckeditor // Works with cyrillic alphabet and when using ">" chars see #7718 #7610 #7618 // ENT_QUOTES is used in order to transform ' to ' if (!$from_database) { $studentAnswer = FillBlanks::clearStudentAnswer($studentAnswer); + if ($debug) { + error_log("Student answer cleaned:"); + error_log($studentAnswer); + } } $isAnswerCorrect = 0; @@ -3881,9 +3893,15 @@ class Exercise $totalScore += $answerWeighting[$i]; $isAnswerCorrect = 1; } + if ($debug) { + error_log("isAnswerCorrect $i: $isAnswerCorrect"); + } $studentAnswerToShow = $studentAnswer; $type = FillBlanks::getFillTheBlankAnswerType($correctAnswer); + if ($debug) { + error_log("Fill in blank type: $type"); + } if ($type == FillBlanks::FILL_THE_BLANK_MENU) { $listMenu = FillBlanks::getFillTheBlankMenuAnswers($correctAnswer, false); if ($studentAnswer != '') { @@ -3908,6 +3926,11 @@ class Exercise $studentAnswer = trim($listStudentAnswerTemp[$i]); $studentAnswerToShow = $studentAnswer; + if ($debug) { + error_log("Student answer: $i"); + error_log($studentAnswer); + } + $found = false; for ($j = 0; $j < count($listTeacherAnswerTemp); $j++) { $correctAnswer = $listTeacherAnswerTemp[$j];