/** * Returns an HTML ribbon to show on top of the exercise result, with * colouring depending on the success or failure of the student * @param $score * @param $weight * @param bool $check_pass_percentage * @return string */ public function get_question_ribbon($score, $weight, $check_pass_percentage = false) { $eventMessage = null; $ribbon = '<div class="question_row">'; $ribbon .= '<div class="ribbon">'; if ($check_pass_percentage) { $is_success = ExerciseLib::is_success_exercise_result($score, $weight, $this->selectPassPercentage()); // Color the final test score if pass_percentage activated $ribbon_total_success_or_error = ""; if (ExerciseLib::is_pass_pourcentage_enabled($this->selectPassPercentage())) { if ($is_success) { $eventMessage = $this->getOnSuccessMessage(); $ribbon_total_success_or_error = ' ribbon-total-success'; } else { $eventMessage = $this->getOnFailedMessage(); $ribbon_total_success_or_error = ' ribbon-total-error'; } } $ribbon .= '<div class="rib rib-total ' . $ribbon_total_success_or_error . '">'; } else { $ribbon .= '<div class="rib rib-total">'; } $ribbon .= '<h3>' . get_lang('YourTotalScore') . ": "; $ribbon .= ExerciseLib::show_score($score, $weight, false, true); $ribbon .= '</h3>'; $ribbon .= '</div>'; if ($check_pass_percentage) { $ribbon .= ExerciseLib::show_success_message($score, $weight, $this->selectPassPercentage()); } $ribbon .= '</div>'; $ribbon .= '</div>'; $ribbon .= $eventMessage; return $ribbon; }