From: thepurpleblob Date: Wed, 5 Jul 2006 11:51:08 +0000 (+0000) Subject: Merged from STABLE X-Git-Url: http://git.mjollnir.org/gw?a=commitdiff_plain;h=eaaf06f1ce920538cbb9fb174ddd0c441b3f97db;p=moodle.git Merged from STABLE --- diff --git a/question/format/blackboard/format.php b/question/format/blackboard/format.php index 9969343aa6..77bc06bd37 100644 --- a/question/format/blackboard/format.php +++ b/question/format/blackboard/format.php @@ -62,11 +62,13 @@ class qformat_blackboard extends qformat_default { $questions = array(); - process_tf($xml, $questions); - process_mc($xml, $questions); - process_ma($xml, $questions); - process_fib($xml, $questions); - process_matching($xml, $questions); + $defaultq = $this->defaultquestion(); + + process_tf($xml, $questions, $defaultq); + process_mc($xml, $questions, $defaultq); + process_ma($xml, $questions, $defaultq); + process_fib($xml, $questions, $defaultq); + process_matching($xml, $questions, $defaultq); return $questions; } @@ -75,13 +77,18 @@ class qformat_blackboard extends qformat_default { //---------------------------------------- // Process True / False Questions //---------------------------------------- -function process_tf($xml, &$questions) { +function process_tf($xml, &$questions, $defaultq) { - $tfquestions = $xml["POOL"]["#"]["QUESTION_TRUEFALSE"]; + if (isset($xml["POOL"]["#"]["QUESTION_TRUEFALSE"])) { + $tfquestions = $xml["POOL"]["#"]["QUESTION_TRUEFALSE"]; + } + else { + return; + } for ($i = 0; $i < sizeof ($tfquestions); $i++) { - $question = $this->defaultquestion(); + $question = $defaultq; $question->qtype = TRUEFALSE; $question->single = 1; // Only one answer is allowed @@ -115,13 +122,18 @@ function process_tf($xml, &$questions) { //---------------------------------------- // Process Multiple Choice Questions //---------------------------------------- -function process_mc($xml, &$questions) { +function process_mc($xml, &$questions, $defaultq) { - $mcquestions = $xml["POOL"]["#"]["QUESTION_MULTIPLECHOICE"]; + if (isset($xml["POOL"]["#"]["QUESTION_MULTIPLECHOICE"])) { + $mcquestions = $xml["POOL"]["#"]["QUESTION_MULTIPLECHOICE"]; + } + else { + return; + } for ($i = 0; $i < sizeof ($mcquestions); $i++) { - $question = $this->defaultquestion(); + $question = $defaultq; $question->qtype = MULTICHOICE; $question->single = 1; // Only one answer is allowed @@ -157,13 +169,18 @@ function process_mc($xml, &$questions) { //---------------------------------------- // Process Multiple Choice Questions With Multiple Answers //---------------------------------------- -function process_ma($xml, &$questions) { +function process_ma($xml, &$questions, $defaultq) { - $maquestions = $xml["POOL"]["#"]["QUESTION_MULTIPLEANSWER"]; + if (isset($xml["POOL"]["#"]["QUESTION_MULTIPLEANSWER"])) { + $maquestions = $xml["POOL"]["#"]["QUESTION_MULTIPLEANSWER"]; + } + else { + return; + } for ($i = 0; $i < sizeof ($maquestions); $i++) { - $question = $this->defaultquestion(); + $question = $defaultq; $question->qtype = MULTICHOICE; $question->defaultgrade = 1; @@ -212,12 +229,18 @@ function process_ma($xml, &$questions) { //---------------------------------------- // Process Fill in the Blank Questions //---------------------------------------- -function process_fib($xml, &$questions) { +function process_fib($xml, &$questions, $defaultq) { + + if (isset($xml["POOL"]["#"]["QUESTION_FILLINBLANK"])) { + $fibquestions = $xml["POOL"]["#"]["QUESTION_FILLINBLANK"]; + } + else { + return; + } - $fibquestions = $xml["POOL"]["#"]["QUESTION_FILLINBLANK"]; for ($i = 0; $i < sizeof ($fibquestions); $i++) { - $question = $this->defaultquestion(); + $question = $defaultq; $question->qtype = SHORTANSWER; $question->usecase = 0; // Ignore case @@ -242,12 +265,18 @@ function process_fib($xml, &$questions) { //---------------------------------------- // Process Matching Questions //---------------------------------------- -function process_matching($xml, &$questions) { +function process_matching($xml, &$questions, $defaultq) { + + if (isset($xml["POOL"]["#"]["QUESTION_MATCH"])) { + $matchquestions = $xml["POOL"]["#"]["QUESTION_MATCH"]; + } + else { + return; + } - $matchquestions = $xml["POOL"]["#"]["QUESTION_MATCH"]; for ($i = 0; $i < sizeof ($matchquestions); $i++) { - $question = $this->defaultquestion(); + $question = $defaultq; $question->qtype = MATCH;