From 4a5d721cd67d2872aca3e4092ee9217722811d81 Mon Sep 17 00:00:00 2001 From: thepurpleblob Date: Tue, 19 Aug 2008 10:46:27 +0000 Subject: [PATCH] MDL-8130 Change html_entity_decode to PHP5 version and also fix problem with shortening question to derive name. --- question/format/blackboard/format.php | 60 ++++++--------------------- 1 file changed, 13 insertions(+), 47 deletions(-) diff --git a/question/format/blackboard/format.php b/question/format/blackboard/format.php index c6e1b85d19..95ee5b6f47 100644 --- a/question/format/blackboard/format.php +++ b/question/format/blackboard/format.php @@ -22,40 +22,6 @@ class qformat_blackboard extends qformat_default { } -/******************************** - - function readdata($filename) { - /// Returns complete file with an array, one item per line - - if (is_readable($filename)) { - - $zip = zip_open($filename); - $zip_entry = $zip_read($zip); - if (strstr($zip_entry_name($zip_entry), "imsmanifest") == 0) - $zip_entry = $zip_read($zip); // skip past manifest file - - if (zip_entry_open($zip, $zip_entry, "r")) { - - $strbuf = zip_entry_read($zip_entry, zip_entry_filesize($zip_entry)); - $buf = explode("\n", $strbuf); - zip_entry_close($zip_entry); - zip_close($zip); - return $buf; - - } else { - - zip_close($zip); - return false; - - } - - } - - return false; - } - -********************************/ - function readquestions ($lines) { /// Parses an array of lines into an array of questions, /// where each item is a question object as defined by @@ -101,11 +67,11 @@ function process_tf($xml, &$questions) { // put questiontext in question object if ($ishtml) { - $question->questiontext = html_entity_decode_php4(trim($thisquestion["#"]["BODY"][0]["#"]["TEXT"][0]["#"])); + $question->questiontext = html_entity_decode(trim($thisquestion["#"]["BODY"][0]["#"]["TEXT"][0]["#"]),ENT_QUOTES,'UTF-8'); } $question->questiontext = $question->questiontext; // put name in question object - $question->name = substr($question->questiontext, 0, 254); + $question->name = shorten_text($question->questiontext, 254); $choices = $thisquestion["#"]["ANSWER"]; @@ -154,12 +120,12 @@ function process_mc($xml, &$questions) { // put questiontext in question object if ($ishtml) { - $question->questiontext = html_entity_decode_php4(trim($thisquestion["#"]["BODY"][0]["#"]["TEXT"][0]["#"])); + $question->questiontext = html_entity_decode(trim($thisquestion["#"]["BODY"][0]["#"]["TEXT"][0]["#"]),ENT_QUOTES,'UTF-8'); } $question->questiontext = $question->questiontext; // put name of question in question object, careful of length - $question->name = substr($question->questiontext, 0, 254); + $question->name = shorten_text($question->questiontext, 254); $choices = $thisquestion["#"]["ANSWER"]; for ($j = 0; $j < sizeof ($choices); $j++) { @@ -167,7 +133,7 @@ function process_mc($xml, &$questions) { $choice = trim($choices[$j]["#"]["TEXT"][0]["#"]); // put this choice in the question object. if ($ishtml) { - $question->answer[$j] = html_entity_decode_php4($choice); + $question->answer[$j] = html_entity_decode($choice,ENT_QUOTES,'UTF-8'); } $question->answer[$j] = $question->answer[$j]; @@ -177,13 +143,13 @@ function process_mc($xml, &$questions) { if (strcmp ($id, $correct_answer_id) == 0) { $question->fraction[$j] = 1; if ($ishtml) { - $question->feedback[$j] = html_entity_decode_php4(trim(@$thisquestion["#"]["GRADABLE"][0]["#"]["FEEDBACK_WHEN_CORRECT"][0]["#"])); + $question->feedback[$j] = html_entity_decode(trim(@$thisquestion["#"]["GRADABLE"][0]["#"]["FEEDBACK_WHEN_CORRECT"][0]["#"]),ENT_QUOTES,'UTF-8'); } $question->feedback[$j] = $question->feedback[$j]; } else { $question->fraction[$j] = 0; if ($ishtml) { - $question->feedback[$j] = html_entity_decode_php4(trim(@$thisquestion["#"]["GRADABLE"][0]["#"]["FEEDBACK_WHEN_INCORRECT"][0]["#"])); + $question->feedback[$j] = html_entity_decode(trim(@$thisquestion["#"]["GRADABLE"][0]["#"]["FEEDBACK_WHEN_INCORRECT"][0]["#"]),ENT_QUOTES,'UTF-8'); } $question->feedback[$j] = $question->feedback[$j]; } @@ -220,11 +186,11 @@ function process_ma($xml, &$questions) { // put questiontext in question object if ($ishtml) { - $question->questiontext = html_entity_decode_php4(trim($thisquestion["#"]["BODY"][0]["#"]["TEXT"][0]["#"])); + $question->questiontext = html_entity_decode(trim($thisquestion["#"]["BODY"][0]["#"]["TEXT"][0]["#"]),ENT_QUOTES,'UTF-8'); } $question->questiontext = $question->questiontext; // put name of question in question object - $question->name = substr($question->questiontext, 0, 254); + $question->name = shorten_text($question->questiontext, 254); $choices = $thisquestion["#"]["ANSWER"]; $correctanswers = $thisquestion["#"]["GRADABLE"][0]["#"]["CORRECTANSWER"]; @@ -284,11 +250,11 @@ function process_fib($xml, &$questions) { // put questiontext in question object if ($ishtml) { - $question->questiontext = html_entity_decode_php4(trim($thisquestion["#"]["BODY"][0]["#"]["TEXT"][0]["#"])); + $question->questiontext = html_entity_decode(trim($thisquestion["#"]["BODY"][0]["#"]["TEXT"][0]["#"]),ENT_QUOTES,'UTF-8'); } $question->questiontext = $question->questiontext; // put name of question in question object - $question->name = substr($question->questiontext, 0, 254); + $question->name = shorten_text($question->questiontext, 254); $answer = trim($thisquestion["#"]["ANSWER"][0]["#"]["TEXT"][0]["#"]); @@ -338,11 +304,11 @@ function process_matching($xml, &$questions) { // put questiontext in question object if ($ishtml) { - $question->questiontext = html_entity_decode_php4(trim($thisquestion["#"]["BODY"][0]["#"]["TEXT"][0]["#"])); + $question->questiontext = html_entity_decode(trim($thisquestion["#"]["BODY"][0]["#"]["TEXT"][0]["#"]),ENT_QUOTES,'UTF-8'); } $question->questiontext = $question->questiontext; // put name of question in question object - $question->name = substr($question->questiontext, 0, 254); + $question->name = shorten_text($question->questiontext, 254); $choices = $thisquestion["#"]["CHOICE"]; for ($j = 0; $j < sizeof ($choices); $j++) { -- 2.39.5