示例#1
0
 /**
  * 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') . ":&nbsp;";
     $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;
 }