* @version $Id: exercise.lib.php 20860 2009-05-20 00:09:00Z cvargas1 $
*/
/**
* @param int question id
* @param boolean only answers
* @param boolean origin i.e = learnpath
* @param int current item from the list of questions
* @param int number of total questions
* */
require("../inc/lib/fckeditor/fckeditor.php") ;
function showQuestion($questionId, $onlyAnswers=false, $origin=false,$current_item, $total_item)
{
if (!ereg("MSIE", $_SERVER["HTTP_USER_AGENT"])) {
echo '';
echo '';
}
// reads question informations
if(!$objQuestionTmp = Question::read($questionId))
{
// question not found
return false;
}
$answerType=$objQuestionTmp->selectType();
$pictureName=$objQuestionTmp->selectPicture();
if ($answerType != HOT_SPOT) // Question is not of type hotspot
{
if(!$onlyAnswers) {
$questionName=$objQuestionTmp->selectTitle();
$questionDescription=$objQuestionTmp->selectDescription();
$questionName=api_parse_tex($questionName);
$s="
".get_lang('Question').' ';
$s.=$current_item;
//@todo I need the get the feedback type
//if($answerType != 1)
//$s.=' / '.$total_item;
echo $s;
echo ' : ';
echo $questionName.'
";
}
// fill in blanks
elseif($answerType == FILL_IN_BLANKS)
{
$s.="
$answer
";
}
// free answer
// matching
else {
if(!$answerCorrect) {
// options (A, B, C, ...) that will be put into the list-box
$Select[$answerId]['Lettre']=$cpt1++;
// answers that will be shown at the right side
$answer = api_parse_tex($answer);
$Select[$answerId]['Reponse']=$answer;
} else {
$s.="
";
$cpt2++;
// if the left side of the "matching" has been completely shown
if($answerId == $nbrAnswers)
{
// if it remains answers to shown at the right side
while(isset($Select[$cpt2])) {
$s.="
";
$cpt2++;
} // end while()
} // end if()
}
}
} // end for()
if (!ereg("MSIE", $_SERVER["HTTP_USER_AGENT"])) {
$s .= '
';
}
$s .= '
';
// destruction of the Answer object
unset($objAnswerTmp);
// destruction of the Question object
unset($objQuestionTmp);
if ($origin != 'export')
{
echo $s;
}
else
{
return($s);
}
}
elseif ($answerType == HOT_SPOT) // Question is of type HOT_SPOT
{
$questionName=$objQuestionTmp->selectTitle();
$questionDescription=$objQuestionTmp->selectDescription();
// Get the answers, make a list
$objAnswerTmp=new Answer($questionId);
$nbrAnswers=$objAnswerTmp->selectNbrAnswers();
$answer_list = '
".get_lang('Question').' ';
$s.=$current_item;
//@todo I need to the get the feedback type
//if($answerType == 2)
// $s.=' / '.$total_item;
echo $s;
echo ': ';
$s =$questionName.'