Fix match by dragging with right results - refs BT#11024

pull/2487/head
Angel Fernando Quiroz Campos 9 years ago
parent 3a34d55d03
commit 3964664fde
  1. 73
      main/inc/lib/exercise.lib.php

@ -946,35 +946,36 @@ class ExerciseLib
</td>
<td width="10%">
HTML;
$selectedValue = 0;
$selectedPosition = 0;
$questionOptions = [];
$iTempt = 0;
$draggableSelectOptions = [];
$selectedValue = 0;
$selectedIndex = 0;
foreach ($select_items as $key => $val) {
if ($debug_mark_answer) {
if ($val['id'] == $answerCorrect) {
$selectedValue = $val['id'];
$selectedPosition = $iTempt;
if ($user_choice) {
foreach ($user_choice as $chosen) {
if ($answerCorrect != $chosen['answer']) {
continue;
}
$selectedValue = $chosen['answer'];
}
}
if (
isset($user_choice[$matching_correct_answer]) &&
$val['id'] == $user_choice[$matching_correct_answer]['answer']
) {
$selectedValue = $val['id'];
$selectedPosition = $iTempt;
foreach ($select_items as $key => $select_item) {
$draggableSelectOptions[$select_item['id']] = $select_item['letter'];
}
foreach ($draggableSelectOptions as $value => $text) {
if ($value == $selectedValue) {
break;
}
$questionOptions[$val['id']] = $val['letter'];
$iTempt++;
$selectedIndex++;
}
$s .= Display::select(
"choice[$questionId][$numAnswer]",
$questionOptions,
$draggableSelectOptions,
$selectedValue,
[
'id' => "window_{$windowId}_select",
@ -986,25 +987,25 @@ HTML;
if (!empty($answerCorrect) && !empty($selectedValue)) {
// Show connect if is not freeze (question preview)
if (!$freeze) {
$s .= <<<JAVASCRIPT
<script>
$(document).on('ready', function () {
jsPlumb.ready(function() {
jsPlumb.connect({
source: 'window_$windowId',
target: 'window_{$questionId}_{$selectedPosition}_answer',
endpoint: ['Blank', {radius: 15}],
anchors: ['RightMiddle', 'LeftMiddle'],
paintStyle: {strokeStyle: '#8A8888', lineWidth: 8},
connector: [
MatchingDraggable.connectorType,
{curvines: MatchingDraggable.curviness}
]
$s .= "
<script>
$(document).on('ready', function () {
jsPlumb.ready(function() {
jsPlumb.connect({
source: 'window_$windowId',
target: 'window_{$questionId}_{$selectedIndex}_answer',
endpoint: ['Blank', {radius: 15}],
anchors: ['RightMiddle', 'LeftMiddle'],
paintStyle: {strokeStyle: '#8A8888', lineWidth: 8},
connector: [
MatchingDraggable.connectorType,
{curvines: MatchingDraggable.curviness}
]
});
});
});
});
});
</script>
JAVASCRIPT;
</script>
";
}
}

Loading…
Cancel
Save