|
|
|
|
@ -91,10 +91,10 @@ $data['image_width'] = $pictureWidth; |
|
|
|
|
$data['image_height'] = $pictureHeight; |
|
|
|
|
$data['courseCode'] = $_course['path']; |
|
|
|
|
$data['hotspots'] = []; |
|
|
|
|
|
|
|
|
|
$resultDisable = $objExercise->selectResultsDisabled(); |
|
|
|
|
$showTotalScoreAndUserChoicesInLastAttempt = true; |
|
|
|
|
if (in_array( |
|
|
|
|
$objExercise->selectResultsDisabled(), [ |
|
|
|
|
$resultDisable, [ |
|
|
|
|
RESULT_DISABLE_SHOW_SCORE_ATTEMPT_SHOW_ANSWERS_LAST_ATTEMPT, |
|
|
|
|
RESULT_DISABLE_SHOW_SCORE_ATTEMPT_SHOW_ANSWERS_LAST_ATTEMPT_NO_FEEDBACK, |
|
|
|
|
RESULT_DISABLE_DONT_SHOW_SCORE_ONLY_IF_USER_FINISHES_ATTEMPTS_SHOW_ALWAYS_FEEDBACK, |
|
|
|
|
@ -128,15 +128,14 @@ if (in_array( |
|
|
|
|
|
|
|
|
|
$hideExpectedAnswer = false; |
|
|
|
|
if ($objExercise->getFeedbackType() == 0 && |
|
|
|
|
$objExercise->selectResultsDisabled() == RESULT_DISABLE_SHOW_SCORE_ONLY |
|
|
|
|
$resultDisable == RESULT_DISABLE_SHOW_SCORE_ONLY |
|
|
|
|
) { |
|
|
|
|
$hideExpectedAnswer = true; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
if (in_array( |
|
|
|
|
$objExercise->selectResultsDisabled(), [ |
|
|
|
|
$resultDisable, [ |
|
|
|
|
RESULT_DISABLE_SHOW_SCORE_ATTEMPT_SHOW_ANSWERS_LAST_ATTEMPT, |
|
|
|
|
RESULT_DISABLE_SHOW_SCORE_ATTEMPT_SHOW_ANSWERS_LAST_ATTEMPT_NO_FEEDBACK, |
|
|
|
|
RESULT_DISABLE_DONT_SHOW_SCORE_ONLY_IF_USER_FINISHES_ATTEMPTS_SHOW_ALWAYS_FEEDBACK, |
|
|
|
|
] |
|
|
|
|
) |
|
|
|
|
@ -144,6 +143,15 @@ if (in_array( |
|
|
|
|
$hideExpectedAnswer = $showTotalScoreAndUserChoicesInLastAttempt ? false : true; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
if (in_array( |
|
|
|
|
$resultDisable, [ |
|
|
|
|
RESULT_DISABLE_SHOW_SCORE_ATTEMPT_SHOW_ANSWERS_LAST_ATTEMPT_NO_FEEDBACK, |
|
|
|
|
] |
|
|
|
|
) |
|
|
|
|
) { |
|
|
|
|
$hideExpectedAnswer = false; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
$hotSpotWithAnswer = []; |
|
|
|
|
$data['answers'] = []; |
|
|
|
|
$rs = $em |
|
|
|
|
@ -160,7 +168,10 @@ $rs = $em |
|
|
|
|
/** @var TrackEHotspot $row */ |
|
|
|
|
foreach ($rs as $row) { |
|
|
|
|
$data['answers'][] = $row->getHotspotCoordinate(); |
|
|
|
|
$hotSpotWithAnswer[] = $row->getHotspotAnswerId(); |
|
|
|
|
|
|
|
|
|
if ($row->getHotspotCorrect()) { |
|
|
|
|
$hotSpotWithAnswer[] = $row->getHotspotAnswerId(); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
if (!$hideExpectedAnswer) { |
|
|
|
|
@ -183,12 +194,13 @@ if (!$hideExpectedAnswer) { |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
$result = $qb->getQuery()->getResult(); |
|
|
|
|
|
|
|
|
|
/** @var CQuizAnswer $hotSpotAnswer */ |
|
|
|
|
foreach ($result as $hotSpotAnswer) { |
|
|
|
|
if (RESULT_DISABLE_SHOW_SCORE_ATTEMPT_SHOW_ANSWERS_LAST_ATTEMPT_NO_FEEDBACK == $objExercise->results_disabled) { |
|
|
|
|
if (!in_array($hotSpotAnswer->getIid(), $hotSpotWithAnswer)) { |
|
|
|
|
continue; |
|
|
|
|
if (RESULT_DISABLE_SHOW_SCORE_ATTEMPT_SHOW_ANSWERS_LAST_ATTEMPT_NO_FEEDBACK == $resultDisable) { |
|
|
|
|
if (false === $showTotalScoreAndUserChoicesInLastAttempt) { |
|
|
|
|
if (!in_array($hotSpotAnswer->getIid(), $hotSpotWithAnswer)) { |
|
|
|
|
continue; |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|