예제 #1
0
 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;
     }
 }
예제 #2
0
 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;
         }
     }
 }