public function on_generate_feedbacks() { parent::on_generate_feedbacks(); // Question combined feedback. $responsenodes = $this->questions->nodeList('plugin_qtype_shortanswer_question//answer', $this->question_node); $count = 0; foreach ($responsenodes as $respnode) { $content = $this->questions->nodeValue('feedback', $respnode); if (empty($content)) { continue; } $correct = (int) $this->questions->nodeValue('fraction', $respnode) == 1; $answerid = (int) $this->questions->nodeValue('@id', $respnode); $result = cc_helpers::process_linked_files($content, $this->manifest, $this->rootpath, $this->contextid, $this->outdir); $ident = $correct ? 'correct' : 'incorrect'; $ident .= '_' . $count . '_fb'; cc_assesment_helper::add_feedback($this->qitem, $result[0], cc_qti_values::htmltype, $ident); pkg_resource_dependencies::instance()->add($result[1]); if ($correct) { $this->correct_feedbacks[$answerid] = $ident; } else { $this->incorrect_feedbacks[$answerid] = $ident; } ++$count; } }
public function on_generate_feedbacks() { parent::on_generate_feedbacks(); //Question combined feedbacks $correct_question_fb = $this->questions->nodeValue('plugin_qtype_multichoice_question/multichoice/correctfeedback', $this->question_node); $incorrect_question_fb = $this->questions->nodeValue('plugin_qtype_multichoice_question/multichoice/incorrectfeedback', $this->question_node); if (empty($correct_question_fb)) { //Hardcode some text for now $correct_question_fb = 'Well done!'; } if (empty($incorrect_question_fb)) { //Hardcode some text for now $incorrect_question_fb = 'Better luck next time!'; } $proc = array('correct_fb' => $correct_question_fb, 'incorrect_fb' => $incorrect_question_fb); foreach ($proc as $ident => $content) { if (empty($content)) { continue; } $result = cc_helpers::process_linked_files($content, $this->manifest, $this->rootpath, $this->contextid, $this->outdir); cc_assesment_helper::add_feedback($this->qitem, $result[0], cc_qti_values::htmltype, $ident); pkg_resource_dependencies::instance()->add($result[1]); if ($ident == 'correct_fb') { $this->correct_feedbacks[$ident] = $ident; } else { $this->incorrect_feedbacks[$ident] = $ident; } } }