|
|
|
|
@ -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> |
|
|
|
|
"; |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|