function qformat_blackboard_6::process_mc in Quiz 6.6
Same name and namespace in other branches
- 6.5 includes/moodle/question/format/blackboard_6/format.php \qformat_blackboard_6::process_mc()
1 call to qformat_blackboard_6::process_mc()
- qformat_blackboard_6::readquestions in includes/moodle/question/format/blackboard_6/format.php
- Parses an array of lines into an array of questions,
where each item is a question object as defined by
readquestion(). Questions are defined as anything
between blank lines.
File
- includes/moodle/question/format/blackboard_6/format.php, line 670
Class
- qformat_blackboard_6
Code
function process_mc($quest, &$questions) {
$question = $this
->process_common($quest);
$question->qtype = MULTICHOICE;
$question->single = 1;
$feedback = array();
foreach ($quest->feedback as $fback) {
$feedback[$fback->ident] = addslashes($fback->text);
}
foreach ($quest->responses as $response) {
if (isset($response->title)) {
if ($response->title == 'correct') {
$correct = $response->ident[0]['varequal'][0]['#'];
}
}
else {
if ($response->feedback == 'correct') {
$correct = $response->ident[0]['varequal'][0]['#'];
}
}
}
$i = 0;
foreach ($quest->RESPONSE_BLOCK->choices as $response) {
$question->answer[$i] = addslashes($response->text);
if ($correct == $response->ident) {
$question->fraction[$i] = 1;
if (!empty($feedback['correct'])) {
$question->feedback[$i] = $feedback['correct'];
}
elseif (!empty($feedback[$i])) {
$question->feedback[$i] = $feedback[$i];
}
else {
$question->feedback[$i] = "correct";
}
}
else {
$question->fraction[$i] = 0;
if (!empty($feedback['incorrect'])) {
$question->feedback[$i] = $feedback['incorrect'];
}
elseif (!empty($feedback[$i])) {
$question->feedback[$i] = $feedback[$i];
}
else {
$question->feedback[$i] = 'incorrect';
}
}
$i++;
}
if (!empty($question)) {
$questions[] = $question;
}
}