Fix delineation questions

pull/2762/head
Angel Fernando Quiroz Campos 7 years ago
parent 69249bcfc2
commit 6c3b9f7395
  1. 4
      main/exercise/exercise.class.php
  2. 2
      main/exercise/exercise_result.php
  3. 44
      main/exercise/exercise_submit_modal.php
  4. 2
      main/exercise/hotspot.class.php
  5. 4
      main/exercise/hotspot_admin.inc.php
  6. 2
      main/exercise/unique_answer.class.php

@ -4901,7 +4901,7 @@ class Exercise
if ($debug > 0) {
error_log(__LINE__.' - answerId is >1 so we\'re probably in OAR', 0);
}
$inter = $result['success'];
//$inter = $result['success'];
$delineation_cord = $objAnswerTmp->selectHotspotCoordinates($answerId);
$poly_answer = convert_coordinates($delineation_cord, '|');
$max_coord = poly_get_max($poly_user, $poly_answer);
@ -5274,7 +5274,7 @@ class Exercise
//echo 'user'; print_r($x_user_list); print_r($y_user_list);
//echo 'official';print_r($x_list);print_r($y_list);
//$result = get_intersection_data($x_list,$y_list,$x_user_list,$y_user_list);
$inter = $result['success'];
//$inter = $result['success'];
$delineation_cord = $objAnswerTmp->selectHotspotCoordinates($answerId);
$poly_answer = convert_coordinates($delineation_cord, '|');
$max_coord = poly_get_max($poly_user, $poly_answer);

@ -51,7 +51,7 @@ if (empty($objExercise)) {
header("Location: overview.php?exerciseId=".$exercise_stat_info['exe_exo_id'].'&'.api_get_cidreq());
exit;
}
api_not_allowed();
api_not_allowed(true);
}
if (api_is_in_gradebook()) {

@ -13,7 +13,7 @@ api_protect_course_script(false);
require_once api_get_path(LIBRARY_PATH).'geometry.lib.php';
Display::display_reduced_header();
//Display::display_reduced_header();
echo '<div id="delineation-container">';
@ -80,7 +80,7 @@ if (isset($_GET['choice'])) {
if (empty($choice_value)) {
echo "<script>
// this works for only radio buttons
var f = self.parent.window.document.frm_exercise;
var f = window.document.frm_exercise;
var choice_js='';
var hotspot = new Array();
var hotspotcoord = new Array();
@ -92,7 +92,7 @@ if (empty($choice_value)) {
}
if (f.elements[i].type=='hidden' ) {
name = f.elements[i].name;
var name = f.elements[i].name;
if (name.substr(0,7)=='hotspot')
hotspot.push(f.elements[i].value);
@ -304,6 +304,11 @@ if (!empty($choice_value)) {
$missing_color = true; //echo 'c';
}
$try_hotspot = null;
$lp_hotspot = null;
$url_hotspot = null;
$select_question_hotspot = null;
// if pass
//if ($final_overlap>=$threadhold1 && $final_missing<=$threadhold2 && $final_excess<=$threadhold3) {
if ($final_overlap >= $threadhold1 && $final_missing <= $threadhold3 && $final_excess <= $threadhold2) {
@ -313,14 +318,15 @@ if (!empty($choice_value)) {
$next = 1; //Go to the oars. If $next = 0 we will show this message: "One (or more) area at risk has been hit" instead of the table resume with the results
$wrong_results = true;
$result_comment = get_lang('Unacceptable');
$special_comment = $comment = $answerDestination = $objAnswerTmp->selectComment(1);
$answerDestination = $objAnswerTmp->selectDestination(1);
$destination_items = explode('@@', $answerDestination);
$try_hotspot = $destination_items[1];
$lp_hotspot = $destination_items[2];
$select_question_hotspot = $destination_items[3];
$url_hotspot = $destination_items[4];
}
$special_comment = $comment = $answerDestination = $objAnswerTmp->selectComment(1);
$answerDestination = $objAnswerTmp->selectDestination(1);
$destination_items = explode('@@', $answerDestination);
$try_hotspot = $destination_items[1];
$lp_hotspot = $destination_items[2];
$select_question_hotspot = $destination_items[3];
$url_hotspot = $destination_items[4];
} elseif ($answerId > 1) {
if ($objAnswerTmp->selectHotspotType($answerId) == 'noerror') {
if ($dbg_local > 0) {
@ -464,7 +470,7 @@ Session::write('newquestionList', $newquestionList);
$links = '';
if (isset($choice_value) && $choice_value == -1) {
if ($answerType != HOT_SPOT_DELINEATION) {
$links .= '<a href="#" onclick="self.parent.tb_remove();">'.get_lang('ChooseAnAnswer').'</a><br />';
$links .= '<a href="#" onclick="tb_remove();">'.get_lang('ChooseAnAnswer').'</a><br />';
}
}
@ -561,13 +567,15 @@ if ($destinationid == -1) {
echo '<script>
function SendEx(num) {
if (num == -1) {
self.parent.window.location.href = "exercise_result.php?take_session=1&exerciseId='.$exerciseId.'&num="+num+"&exerciseType='.$exerciseType.'&origin='.$origin.'&learnpath_item_id='.$learnpath_item_id.'&learnpath_id='.$learnpath_id.'";
self.parent.tb_remove();
window.location.href = "exercise_result.php?take_session=1&exerciseId='.$exerciseId.'&num="+num+"&exerciseType='.$exerciseType.'&origin='.$origin.'&learnpath_item_id='.$learnpath_item_id.'&learnpath_id='.$learnpath_id.'";
//tb_remove();
} else {
num -= 1;
self.parent.window.location.href = "exercise_submit.php?tryagain=1&exerciseId='.$exerciseId.'&num="+num+"&exerciseType='.$exerciseType.'&origin='.$origin.'&learnpath_item_id='.$learnpath_item_id.'&learnpath_id='.$learnpath_id.'";
self.parent.tb_remove();
window.location.href = "exercise_submit.php?tryagain=1&exerciseId='.$exerciseId.'&num="+num+"&exerciseType='.$exerciseType.'&origin='.$origin.'&learnpath_item_id='.$learnpath_item_id.'&learnpath_id='.$learnpath_id.'";
//tb_remove();
}
return false;
}
</script>';
@ -606,11 +614,11 @@ if ($links != '') {
} else {
$questionNum++;
echo '<script>
self.parent.window.location.href = "exercise_submit.php?exerciseId='.$exerciseId.'&num='.$questionNum.'&exerciseType='.$exerciseType.'&'.api_get_cidreq().'";
//self.parent.tb_remove();
window.location.href = "exercise_submit.php?exerciseId='.$exerciseId.'&num='.$questionNum.'&exerciseType='.$exerciseType.'&'.api_get_cidreq().'";
//tb_remove();
</script>';
}
echo '</div>';
Display::display_footer();
//Display::display_footer();

@ -130,7 +130,7 @@ class HotSpotDelineation extends HotSpot
*/
public function createForm(&$form, $exercise)
{
parent::createForm($form);
parent::createForm($form, $exercise);
}
/**

@ -323,7 +323,7 @@ if ($submitAnswers || $buttonBack) {
// sets the total weighting of the question
$objQuestion->updateWeighting($questionWeighting);
$objQuestion->save($exerciseId);
$objQuestion->save($objExercise);
$editQuestion = $questionId;
unset($modifyAnswers);
@ -333,7 +333,7 @@ if ($submitAnswers || $buttonBack) {
}
}
if ($modifyAnswers) {
if (isset($modifyAnswers)) {
if ($debug > 0) {
echo str_repeat('&nbsp;', 0).'$modifyAnswers is set'."<br />\n";
}

@ -334,7 +334,7 @@ class UniqueAnswer extends Question
//$list_destination = $form -> getSubmitValue('destination'.$i);
//$destination_str = $form -> getSubmitValue('destination'.$i);
$try = $scenario['try'.$i];
$try = !empty($scenario['try'.$i]);
$lp = $scenario['lp'.$i];
$destination = $scenario['destination'.$i];
$url = trim($scenario['url'.$i]);

Loading…
Cancel
Save