selectTitle();
$answerType = $objQuestion->selectType();
$pictureName = $objQuestion->selectPicture();
$debug = 0; // debug variable to get where we are
$okPicture=empty($pictureName)?false:true;
// if we come from the warning box "this question is used in serveral exercises"
if($modifyIn) {
if($debug>0){echo '$modifyIn was set'."
\n";}
// if the user has chosed to modify the question only in the current exercise
if($modifyIn == 'thisExercise') {
// duplicates the question
$questionId=$objQuestion->duplicate();
// deletes the old question
$objQuestion->delete($exerciseId);
// removes the old question ID from the question list of the Exercise object
$objExercise->removeFromList($modifyAnswers);
// adds the new question ID into the question list of the Exercise object
$objExercise->addToList($questionId);
// construction of the duplicated Question
$objQuestion = Question :: read($questionId);
// adds the exercise ID into the exercise list of the Question object
$objQuestion->addToList($exerciseId);
// copies answers from $modifyAnswers to $questionId
$objAnswer->duplicate($questionId);
// construction of the duplicated Answers
$objAnswer=new Answer($questionId);
}
$color = unserialize($color);
$reponse = unserialize($reponse);
$comment = unserialize($comment);
$weighting = unserialize($weighting);
$hotspot_coordinates= unserialize($hotspot_coordinates);
$hotspot_type = unserialize($hotspot_type);
$destination = unserialize($destination);
unset($buttonBack);
}
$hotspot_admin_url = api_get_path(WEB_CODE_PATH) . 'exercice/admin.php?' . api_get_cidreq() . '&hotspotadmin='.$modifyAnswers. '&exerciseId='.$exerciseId;
// the answer form has been submitted
if ($submitAnswers || $buttonBack) {
if ($answerType==HOT_SPOT) {
if($debug>0){echo '$submitAnswers or $buttonBack was set'."
\n";}
$questionWeighting=$nbrGoodAnswers=0;
for($i=1;$i <= $nbrAnswers;$i++) {
if($debug>0){echo str_repeat(' ',4).'$answerType is HOT_SPOT'."
\n";}
$reponse[$i]=trim($reponse[$i]);
$comment[$i]=trim($comment[$i]);
$weighting[$i]=$weighting[$i]; // it can be float
// checks if field is empty
if(empty($reponse[$i]) && $reponse[$i] != '0') {
$msgErr=get_lang('HotspotGiveAnswers');
// clears answers already recorded into the Answer object
$objAnswer->cancel();
break;
}
if($weighting[$i] <= 0) {
$msgErr=get_lang('HotspotWeightingError');
// clears answers already recorded into the Answer object
$objAnswer->cancel();
break;
}
if($hotspot_coordinates[$i] == '0;0|0|0' || empty($hotspot_coordinates[$i])) {
$msgErr=get_lang('HotspotNotDrawn');
// clears answers already recorded into the Answer object
$objAnswer->cancel();
break;
}
} // end for()
if(empty($msgErr)) {
for($i=1;$i <= $nbrAnswers;$i++) {
if($debug>0){echo str_repeat(' ',4).'$answerType is HOT_SPOT'."
\n";}
$reponse[$i]=trim($reponse[$i]);
$comment[$i]=trim($comment[$i]);
$weighting[$i]=($weighting[$i]); //it can be float
if($weighting[$i]) {
$questionWeighting+=$weighting[$i];
}
// creates answer
$objAnswer->createAnswer($reponse[$i], '',$comment[$i],$weighting[$i],$i,$hotspot_coordinates[$i],$hotspot_type[$i]);
} // end for()
// saves the answers into the data base
$objAnswer->save();
// sets the total weighting of the question
$objQuestion->updateWeighting($questionWeighting);
$objQuestion->save($exerciseId);
$editQuestion=$questionId;
unset($modifyAnswers);
echo '';
}
if($debug>0){echo '$modifyIn was set - end'."
\n";}
} else {
if($debug>0){echo '$submitAnswers or $buttonBack was set'."
\n";}
$questionWeighting=$nbrGoodAnswers=0;
$select_question=$_POST['select_question'];
$try=$_POST['try'];
$url=$_POST['url'];
$destination=array();
$threadhold1 = $_POST['threadhold1'];
$threadhold2 = $_POST['threadhold2'];
$threadhold3 = $_POST['threadhold3'];
for($i=1;$i <= $nbrAnswers;$i++) {
if($debug>0){echo str_repeat(' ',4).'$answerType is HOT_SPOT'."
\n";}
$reponse[$i]=trim($reponse[$i]);
$comment[$i]=trim($comment[$i]);
$weighting[$i] = $weighting[$i];
if (empty($threadhold1[$i]))
$threadhold1_str=0;
else
$threadhold1_str=intval($threadhold1[$i]);
if (empty($threadhold2[$i]))
$threadhold2_str=0;
else
$threadhold2_str=intval($threadhold2[$i]);
if (empty($threadhold3[$i]))
$threadhold3_str=0;
else
$threadhold3_str=intval($threadhold3[$i]);
$threadhold_total=$threadhold1_str.';'.$threadhold2_str.';'.$threadhold3_str;
//echo '
';print_r($_POST);echo ''; if ($try[$i]=='on') { $try_str=1; } else { $try_str=0; } if (empty($lp[$i])) { $lp_str=0; } else { $lp_str=$lp[$i]; } if ($url[$i]=='') { $url_str=''; } else { $url_str=$url[$i]; } if ($select_question[$i]=='') { $question_str=0; } else { $question_str=$select_question[$i]; } $destination[$i]= $threadhold_total.'@@'.$try_str.'@@'.$lp_str.'@@'.$question_str.'@@'.$url_str; // the last answer is the IF NO ERROR section witch has not have the reponse, weight and coordinates values //if ($i!=$nbrAnswers && !($answerType==HOT_SPOT_DELINEATION)) // { // checks if field is empty if(empty($reponse[$i]) && $reponse[$i] != '0') { $msgErr=get_lang('HotspotGiveAnswers'); // clears answers already recorded into the Answer object $objAnswer->cancel(); break; } if($weighting[$i] <= 0 && $_SESSION['tmp_answers']['hotspot_type'][$i] != 'oar') { $msgErr=get_lang('HotspotWeightingError'); // clears answers already recorded into the Answer object $objAnswer->cancel(); break; } if($hotspot_coordinates[$i] == '0;0|0|0' || empty($hotspot_coordinates[$i])) { $msgErr=get_lang('HotspotNotDrawn'); // clears answers already recorded into the Answer object $objAnswer->cancel(); break; } } // end for() //now the noerror section $select_question_noerror=$_POST['select_question_noerror']; $lp_noerror=$_POST['lp_noerror']; $try_noerror=$_POST['try_noerror']; $url_noerror=$_POST['url_noerror']; $comment_noerror=$_POST['comment_noerror']; $threadhold_total='0;0;0'; if ($try_noerror=='on') { $try_str=1; } else { $try_str=0; } if (empty($lp_noerror)) { $lp_str=0; } else { $lp_str=$lp_noerror; } if ($url_noerror=='') { $url_str=''; } else { $url_str=$url_noerror; } if ($select_question_noerror=='') { $question_str=0; } else { $question_str=$select_question_noerror; } $destination_noerror= $threadhold_total.'@@'.$try_str.'@@'.$lp_str.'@@'.$question_str.'@@'.$url_str; if(empty($msgErr)) { for($i=1;$i <= $nbrAnswers;$i++) { if($debug>0){echo str_repeat(' ',4).'$answerType is HOT_SPOT'."