From d75124354935e663fb84a302449f0ae1440db2f6 Mon Sep 17 00:00:00 2001 From: moodler Date: Tue, 30 Dec 2003 07:04:04 +0000 Subject: [PATCH] Bodgy HTML converted to nice clean XHTML fragments. Thanks to Jonathan Moore and all his work! --- mod/quiz/lib.php | 339 ++++++++++++++++++++++++----------------------- 1 file changed, 171 insertions(+), 168 deletions(-) diff --git a/mod/quiz/lib.php b/mod/quiz/lib.php index df16ae9b3b..a86947a52b 100644 --- a/mod/quiz/lib.php +++ b/mod/quiz/lib.php @@ -403,13 +403,13 @@ function quiz_get_attempt_responses($attempt) { function quiz_print_comment($text) { global $THEME; - echo "".text_to_html($text, true, false).""; + echo "".text_to_html($text, true, false).""; } function quiz_print_correctanswer($text) { global $THEME; - echo "

$text

"; + echo "

$text

"; } function quiz_print_question_icon($question, $editlink=true) { @@ -422,31 +422,31 @@ function quiz_print_question_icon($question, $editlink=true) { } switch ($question->qtype) { case SHORTANSWER: - echo ''; + echo ''; break; case TRUEFALSE: - echo ''; + echo ''; break; case MULTICHOICE: - echo ''; + echo ''; break; case RANDOM: - echo ''; + echo ''; break; case MATCH: - echo ''; + echo ''; break; case RANDOMSAMATCH: - echo ''; + echo ''; break; case DESCRIPTION: - echo ''; + echo ''; break; case NUMERICAL: - echo ''; + echo ''; break; case MULTIANSWER: - echo ''; + echo ''; break; } if ($editlink) { @@ -499,35 +499,35 @@ function quiz_print_question($number, $question, $grade, $quizid, $stranswer = get_string("answer", "quiz"); $strmarks = get_string("marks", "quiz"); - echo ""; - echo "\n"; + echo "
"; - echo "

$number

"; + echo ""; + echo "
"; + echo "

$number

"; if ($showgrades) { if ($feedback or $response) { - echo "

$strmarks: $actualgrade/$grade

"; + echo "

$strmarks: $actualgrade/$grade

"; } else { - echo "

$grade $strmarks

"; + echo "

$grade $strmarks

"; } } print_spacer(1,100); if (isset($question->recentlyadded) and $question->recentlyadded) { - echo "
"; + echo ""; // Notify the user of this recently added question echo ''; echo get_string('recentlyaddedquestion', 'quiz'); echo ''; - echo '
'; + echo '
'; } else { // The normal case - echo ""; + echo ""; } if (empty($realquestion)) { $realquestion->id = $question->id; } else { // Add a marker to connect this question to the actual random parent - echo "id}rq$question->id\" value=\"x\">\n"; + echo "id}rq$question->id\" value=\"x\" />\n"; } switch ($question->qtype) { @@ -537,13 +537,13 @@ function quiz_print_question($number, $question, $grade, $quizid, echo text_to_html($question->questiontext); quiz_print_possible_question_image($quizid, $question); if ($response) { - $value = "VALUE=\"$response[0]\""; + $value = "value=\"$response[0]\""; } else { $value = ""; } - echo "

$stranswer: id SIZE=20 $value>

"; + echo "

$stranswer: id\" size=\"20\" $value />

"; if ($feedback) { - quiz_print_comment("

$feedback[0]

"); + quiz_print_comment("

$feedback[0]

"); } if ($correct) { $correctanswers = implode(", ", $correct); @@ -574,10 +574,10 @@ function quiz_print_question($number, $question, $grade, $quizid, $falsechecked = ""; if (!empty($response[$true->id])) { - $truechecked = "CHECKED"; + $truechecked = "checked=\"checked\""; $feedbackid = $true->id; } else if (!empty($response[$false->id])) { - $falsechecked = "CHECKED"; + $falsechecked = "checked=\"checked\""; $feedbackid = $false->id; } @@ -585,20 +585,20 @@ function quiz_print_question($number, $question, $grade, $quizid, $falsecorrect = ""; if ($correct) { if (!empty($correct[$true->id])) { - $truecorrect = "CLASS=highlight"; + $truecorrect = "class=\"highlight\""; } if (!empty($correct[$false->id])) { - $falsecorrect = "CLASS=highlight"; + $falsecorrect = "class=\"highlight\""; } } - echo "
$stranswer:  "; - echo ""; - echo "id\" VALUE=\"$true->id\">$true->answer"; - echo ""; - echo "id\" VALUE=\"$false->id\">$false->answer"; - echo "

"; + echo "
$stranswer:  "; + echo ""; + echo "id\" value=\"$true->id\" />$true->answer"; + echo ""; + echo "id\" value=\"$false->id\" />$false->answer"; + echo "

";// changed from CLEAR=ALL jm if ($feedback) { - quiz_print_comment("

$feedback[$feedbackid]

"); + quiz_print_comment("

$feedback[$feedbackid]

"); } break; @@ -612,9 +612,9 @@ function quiz_print_question($number, $question, $grade, $quizid, } echo text_to_html($question->questiontext); quiz_print_possible_question_image($quizid, $question); - echo ""; - echo "
$stranswer:  "; - echo ""; + echo "
"; + echo "
$stranswer:  "; + echo ""; $answerids = explode(",", $options->answers); if ($shuffleanswers) { @@ -628,31 +628,31 @@ function quiz_print_question($number, $question, $grade, $quizid, if (empty($response[$answerid])) { $checked = ""; } else { - $checked = "CHECKED"; + $checked = "checked=\"checked\""; } - echo ""; + echo ""; if (empty($feedback) or empty($correct[$answer->id])) { - echo ""; + echo ""; } else { - echo ""; + echo ""; } if (!empty($feedback)) { - echo ""; + echo ""; } - echo ""; + echo ""; } - echo "
"; + echo "
"; if ($options->single) { - echo "id VALUE=\"$answer->id\">"; + echo "id\" value=\"$answer->id\" />"; } else { - echo "id"."a$answer->id VALUE=\"$answer->id\">"; + echo "id"."a$answer->id\" value=\"$answer->id\" />"; } - echo "$qnumchar. $answer->answer$qnumchar. $answer->answer$qnumchar. $answer->answer$qnumchar. $answer->answer "; + echo " "; if (!empty($response[$answerid])) { quiz_print_comment($feedback[$answerid]); } - echo "
"; - echo "
"; + echo "
"; + echo "
"; break; case MATCH: @@ -676,24 +676,24 @@ function quiz_print_question($number, $question, $grade, $quizid, $answers = draw_rand_array($answers, count($answers)); - echo ""; + echo "
"; foreach ($subquestions as $key => $subquestion) { - echo ""; if (empty($response)) { - echo "
"; + echo "
"; echo $subquestion->questiontext; echo ""; + echo ""; choose_from_menu($answers, "q$realquestion->id"."r$subquestion->id"); } else { if (empty($response[$key])) { - echo ""; + echo ""; choose_from_menu($answers, "q$realquestion->id"."r$subquestion->id"); } else { if ($response[$key] == $correct[$key]) { - echo ""; + echo ""; choose_from_menu($answers, "q$realquestion->id"."r$subquestion->id", $response[$key]); } else { - echo ""; + echo ""; choose_from_menu($answers, "q$realquestion->id"."r$subquestion->id", $response[$key]); } } @@ -763,18 +763,18 @@ function quiz_print_question($number, $question, $grade, $quizid, break; } - echo ""; + echo "
"; foreach ($randomquestions as $key => $randomquestion) { - echo ""; - echo "
"; + echo "
"; echo $randomquestion->questiontext; echo ""; + echo ""; if (empty($response)) { choose_from_menu($randomanswers, "q$realquestion->id"."r$randomquestion->id"); } else { if (!empty($correct[$key])) { if ($randomanswers[$responseanswer[$key]] == $correct[$key]) { - echo ""; + echo ""; choose_from_menu($randomanswers, "q$realquestion->id"."r$randomquestion->id", $responseanswer[$key]); echo "
"; } else { @@ -837,7 +837,7 @@ function quiz_print_question($number, $question, $grade, $quizid, switch ($multianswer->answertype) { case SHORTANSWER: case NUMERICAL: - echo " "; + echo " "; break; case MULTICHOICE: echo ("
"; + echo "
"; } @@ -960,8 +960,8 @@ function quiz_print_quiz_questions($quiz, $results=NULL, $questions=NULL, $shuff $onsubmit = "onsubmit=\"return confirm('$strconfirmattempt');\""; } - echo "
"; - echo "id\">"; + echo "\n"; + echo "id\" />\n"; $count = 0; $questionorder = array(); @@ -1009,20 +1009,20 @@ function quiz_print_quiz_questions($quiz, $results=NULL, $questions=NULL, $shuff } - print_simple_box_start("CENTER", "90%"); + print_simple_box_start("center", "90%"); quiz_print_question($count, $question, $grades[$question->id]->grade, $quiz->id, $feedback, $response, $actualgrades, $correct, $randomquestion, $quiz->shuffleanswers, $quiz->grade); print_simple_box_end(); - echo "
"; + echo "
"; } if (empty($results) || $results->attemptbuildsonthelast) { if (!empty($quiz->shufflequestions)) { // Things have been mixed up, so pass the question order $shuffleorder = implode(',', $questionorder); - echo "\n"; + echo "\n"; } - echo "
"; + echo "
\n\n
"; } echo "
"; @@ -1085,18 +1085,18 @@ function quiz_print_category_form($course, $current) { $strshow = get_string("show", "quiz"); $streditcats = get_string("editcategories", "quiz"); - echo "
"; - echo "
"; - echo "$strcategory: "; + echo "
"; + echo ""; + echo "$strcategory: "; choose_from_menu($catmenu, "cat", "$current"); - echo ""; - echo ""; - echo ""; - echo "
"; - echo "id\">"; - echo ""; - echo "
"; - echo "
"; + echo ""; + echo ""; + echo "
"; + echo "
"; + echo "id\" />"; + echo ""; + echo "
"; + echo "
"; } @@ -1180,18 +1180,18 @@ function quiz_print_question_list($questionlist, $grades) { global $THEME; if (!$questionlist) { - echo "

"; + echo "

"; print_string("noquestions", "quiz"); - echo "

"; + echo "

"; return; } $order = explode(",", $questionlist); if (!$questions = get_records_list("quiz_questions", "id", $questionlist)) { - echo "

"; + echo "

"; print_string("noquestions", "quiz"); - echo "

"; + echo "

"; return; } @@ -1209,57 +1209,57 @@ function quiz_print_question_list($questionlist, $grades) { $count = 0; $sumgrade = 0; $total = count($order); - echo "
"; - echo ""; - echo ""; + echo ""; + echo "
$strorder$strquestionname$strtype$strgrade$stredit
\n"; + echo "\n"; foreach ($order as $qnum) { if (empty($questions[$qnum])) { continue; } $question = $questions[$qnum]; $count++; - echo "cellcontent\">"; - echo ""; - echo "cellcontent\">"; + echo ""; + echo ""; - echo ""; + echo ""; - echo ""; - echo ""; + echo ""; + echo ""; - echo ""; + echo ""; + echo ""; $sumgrade += $grades[$qnum]; } - echo ""; - echo "
$strorder$strquestionname$strtype$strgrade$stredit
$count"; + echo "
$count"; if ($count != 1) { - echo ""; + echo ""; } - echo ""; + echo ""; if ($count != $total) { - echo ""; + echo ""; } - echo "$question->name"; + echo "$question->name"; quiz_print_question_icon($question); - echo ""; + echo ""; if ($question->qtype == DESCRIPTION) { - echo " "; + echo " \n"; } else { choose_from_menu(quiz_gradesmenu_options($question->defaultgrade), "q$qnum", (string)$grades[$qnum], ""); } - echo ""; - echo " "; - echo ""; - echo ""; + echo " "; + echo "\n"; + echo "
"; - echo ""; - echo ""; - echo "cellcontent\">"; - echo "$sumgrade"; - echo "
"; - echo "
"; + echo "
\n"; + echo "\n"; + echo "\n"; + echo "cellcontent\">\n"; + echo "$sumgrade"; + echo "\n
\n"; + echo "\n"; return $sumgrade; } @@ -1286,7 +1286,7 @@ function quiz_print_cat_question_list($categoryid, $quizselected=true) { $strcreatemultiple = get_string("createmultiple", "quiz"); if (!$categoryid) { - echo "

"; + echo "

"; print_string("selectcategoryabove", "quiz"); echo "

"; if ($quizselected) { @@ -1301,85 +1301,85 @@ function quiz_print_cat_question_list($categoryid, $quizselected=true) { notify("Category not found!"); return; } - echo "
"; + echo "
"; echo text_to_html($category->info); - echo ""; - echo ""; - echo "
$straddquestions:"; - echo "
"; + echo ""; + echo ""; + echo "
$straddquestions:"; + echo ""; choose_from_menu($QUIZ_QUESTION_TYPE, "qtype", "", ""); - echo "id\">"; - echo ""; + echo "id\" />"; + echo ""; helpbutton("questiontypes", $strcreatenewquestion, "quiz"); - echo ""; + echo ""; - echo "
"; - echo "id\">"; - echo ""; + echo ""; + echo "id\" />"; + echo ""; helpbutton("import", $strimportquestions, "quiz"); - echo "
"; + echo ""; - echo "
"; - echo "id\">"; - echo ""; + echo ""; + echo "id\" />"; + echo ""; helpbutton("createmultiple", $strcreatemultiple, "quiz"); - echo "
"; + echo ""; - echo "
"; + echo "
"; - echo "
"; + echo "
"; if (!$questions = get_records("quiz_questions", "category", $category->id, "qtype ASC")) { - echo "

"; + echo "

"; print_string("noquestions", "quiz"); - echo "

"; + echo "

"; return; } $canedit = isteacheredit($category->course); - echo "
"; - echo ""; - echo ""; + echo ""; + echo "
"; + echo ""; if ($quizselected) { - echo ""; + echo ""; } - echo ""; + echo ""; if ($canedit) { - echo ""; + echo ""; } - echo ""; + echo "\n"; foreach ($questions as $question) { - echo "cellcontent\">"; + echo "cellcontent\">\n"; if ($quizselected) { - echo ""; + echo ""; } - echo ""; - echo "\n"; + echo ""; + echo "\n"; if ($canedit) { - echo ""; + echo "\n";// deleted jm } - echo ""; + echo "\n"; } if ($quizselected) { - echo ""; - } - echo "
$strselect$strselect$strquestionname$strtype$strquestionname$strtype$stredit$stredit
"; - echo "id VALUE=\"1\">"; - echo ""; + echo "id\" value=\"1\" />\n"; + echo "".$question->name.""; + echo "".$question->name."\n"; quiz_print_question_icon($question); - echo ""; - echo "id&delete=$question->id\"> "; - echo "id\">"; - echo "
\n"; + echo "id&delete=$question->id\">\n "; + echo "id\">"; + echo "
"; - echo ""; - //echo ""; - echo ""; - echo "
"; - echo "
"; + echo "\n"; + echo "\n"; + //echo ""; + echo "\n"; // not sure about onclick case jm + echo ""; + } + echo "\n"; + echo "\n"; } @@ -1414,7 +1414,7 @@ function quiz_get_user_attempts_string($quiz, $attempts, $bestgrade) { foreach ($attempts as $attempt) { $attemptgrade = format_float(($attempt->sumgrades / $quiz->sumgrades) * $quiz->grade); if ($attemptgrade == $bestgrade) { - $userattempts[] = "id&attempt=$attempt->id\">$attemptgrade"; + $userattempts[] = "id&attempt=$attempt->id\">$attemptgrade"; } else { $userattempts[] = "id&attempt=$attempt->id\">$attemptgrade"; } @@ -1615,6 +1615,9 @@ function quiz_grade_attempt_question_result($question, $response[0] = $question->answer; $bestshortanswer = 0; foreach ($answers as $answer) { // There might be multiple right answers + + $answer->answer = trim($answer->answer); // Just in case + if ($answer->fraction > $bestshortanswer) { $correct[$answer->id] = $answer->answer; $bestshortanswer = $answer->fraction; @@ -1902,7 +1905,7 @@ function quiz_save_question_options($question) { if ($dataanswer != "") { if ($oldanswer = array_shift($oldanswers)) { // Existing answer, so reuse it $answer = $oldanswer; - $answer->answer = $dataanswer; + $answer->answer = trim($dataanswer); $answer->fraction = $question->fraction[$key]; $answer->feedback = $question->feedback[$key]; if (!update_record("quiz_answers", $answer)) { @@ -1911,7 +1914,7 @@ function quiz_save_question_options($question) { } } else { // This is a completely new answer unset($answer); - $answer->answer = $dataanswer; + $answer->answer = trim($dataanswer); $answer->question = $question->id; $answer->fraction = $question->fraction[$key]; $answer->feedback = $question->feedback[$key]; -- 2.39.5