@@ 2784-2814 (lines=31) @@ | ||
2781 | * @param int session id |
|
2782 | * @return float Best average score |
|
2783 | */ |
|
2784 | public static function get_best_average_score_by_exercise( |
|
2785 | $exercise_id, |
|
2786 | $courseId, |
|
2787 | $session_id, |
|
2788 | $user_count |
|
2789 | ) |
|
2790 | { |
|
2791 | $user_results = Event::get_best_exercise_results_by_user( |
|
2792 | $exercise_id, |
|
2793 | $courseId, |
|
2794 | $session_id |
|
2795 | ); |
|
2796 | $avg_score = 0; |
|
2797 | if (!empty($user_results)) { |
|
2798 | foreach ($user_results as $result) { |
|
2799 | if (!empty($result['exe_weighting']) && intval($result['exe_weighting']) != 0) { |
|
2800 | $score = $result['exe_result'] / $result['exe_weighting']; |
|
2801 | $avg_score += $score; |
|
2802 | } |
|
2803 | } |
|
2804 | //We asume that all exe_weighting |
|
2805 | //$avg_score = show_score( $avg_score / count($user_results) , $result['exe_weighting']); |
|
2806 | //$avg_score = ($avg_score / count($user_results)); |
|
2807 | if (!empty($user_count)) { |
|
2808 | $avg_score = float_format($avg_score / $user_count, 1) * 100; |
|
2809 | } else { |
|
2810 | $avg_score = 0; |
|
2811 | } |
|
2812 | } |
|
2813 | ||
2814 | return $avg_score; |
|
2815 | } |
|
2816 | ||
2817 | /** |
@@ 1970-1992 (lines=23) @@ | ||
1967 | * @param int $session_id |
|
1968 | * @return string |
|
1969 | */ |
|
1970 | public static function get_exercise_student_average_best_attempt($exercise_list, $user_id, $courseId, $session_id) |
|
1971 | { |
|
1972 | $result = 0; |
|
1973 | if (!empty($exercise_list)) { |
|
1974 | foreach ($exercise_list as $exercise_data) { |
|
1975 | $exercise_id = $exercise_data['id']; |
|
1976 | $best_attempt = Event::get_best_attempt_exercise_results_per_user( |
|
1977 | $user_id, |
|
1978 | $exercise_id, |
|
1979 | $courseId, |
|
1980 | $session_id |
|
1981 | ); |
|
1982 | ||
1983 | if (!empty($best_attempt) && !empty($best_attempt['exe_weighting'])) { |
|
1984 | $result += $best_attempt['exe_result']/$best_attempt['exe_weighting']; |
|
1985 | } |
|
1986 | } |
|
1987 | $result = $result / count($exercise_list); |
|
1988 | $result = round($result, 2) * 100; |
|
1989 | } |
|
1990 | ||
1991 | return $result.'%'; |
|
1992 | } |
|
1993 | ||
1994 | /** |
|
1995 | * get teacher progress by course and session |