function qformat_blackboard_6::process_fblank in Quiz 6.5
Same name and namespace in other branches
- 6.6 includes/moodle/question/format/blackboard_6/format.php \qformat_blackboard_6::process_fblank()
1 call to qformat_blackboard_6::process_fblank()
- 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 608
Class
Code
function process_fblank($quest, &$questions) {
$question = $this
->process_common($quest);
$question->qtype = SHORTANSWER;
$question->single = 1;
$answers = array();
$fractions = array();
$feedbacks = array();
// extract the feedback
$feedback = array();
foreach ($quest->feedback as $fback) {
if (isset($fback->ident)) {
if ($fback->ident == 'correct' || $fback->ident == 'incorrect') {
$feedback[$fback->ident] = $fback->text;
}
}
}
foreach ($quest->responses as $response) {
if (isset($response->title)) {
if (isset($response->ident[0]['varequal'][0]['#'])) {
//for BB Fill in the Blank, only interested in correct answers
if ($response->feedback = 'correct') {
$answers[] = addslashes($response->ident[0]['varequal'][0]['#']);
$fractions[] = 1;
if (isset($feedback['correct'])) {
$feedbacks[] = addslashes($feedback['correct']);
}
else {
$feedbacks[] = '';
}
}
}
}
}
//Adding catchall to so that students can see feedback for incorrect answers when they enter something the
//instructor did not enter
$answers[] = '*';
$fractions[] = 0;
if (isset($feedback['incorrect'])) {
$feedbacks[] = addslashes($feedback['incorrect']);
}
else {
$feedbacks[] = '';
}
$question->answer = $answers;
$question->fraction = $fractions;
$question->feedback = $feedbacks;
// Changed to assign $feedbacks to $question->feedback instead of
if (!empty($question)) {
$questions[] = $question;
}
}