Code Duplication    Length = 23-31 lines in 2 locations

main/inc/lib/exercise.lib.php 1 location

@@ 2764-2794 (lines=31) @@
2761
     * @param    int        session id
2762
     * @return    float    Best average score
2763
     */
2764
    public static function get_best_average_score_by_exercise(
2765
        $exercise_id,
2766
        $courseId,
2767
        $session_id,
2768
        $user_count
2769
    ) {
2770
        $user_results = Event::get_best_exercise_results_by_user(
2771
            $exercise_id,
2772
            $courseId,
2773
            $session_id
2774
        );
2775
        $avg_score = 0;
2776
        if (!empty($user_results)) {
2777
            foreach ($user_results as $result) {
2778
                if (!empty($result['exe_weighting']) && intval($result['exe_weighting']) != 0) {
2779
                    $score = $result['exe_result'] / $result['exe_weighting'];
2780
                    $avg_score += $score;
2781
                }
2782
            }
2783
            //We asume that all exe_weighting
2784
            //$avg_score = show_score( $avg_score / count($user_results) , $result['exe_weighting']);
2785
            //$avg_score = ($avg_score / count($user_results));
2786
            if (!empty($user_count)) {
2787
                $avg_score = float_format($avg_score / $user_count, 1) * 100;
2788
            } else {
2789
                $avg_score = 0;
2790
            }
2791
        }
2792
2793
        return $avg_score;
2794
    }
2795
2796
    /**
2797
     * @param string $course_code

main/inc/lib/tracking.lib.php 1 location

@@ 1928-1950 (lines=23) @@
1925
     * @param int $session_id
1926
     * @return string
1927
     */
1928
    public static function get_exercise_student_average_best_attempt($exercise_list, $user_id, $courseId, $session_id)
1929
    {
1930
        $result = 0;
1931
        if (!empty($exercise_list)) {
1932
            foreach ($exercise_list as $exercise_data) {
1933
                $exercise_id = $exercise_data['id'];
1934
                $best_attempt = Event::get_best_attempt_exercise_results_per_user(
1935
                    $user_id,
1936
                    $exercise_id,
1937
                    $courseId,
1938
                    $session_id
1939
                );
1940
1941
                if (!empty($best_attempt) && !empty($best_attempt['exe_weighting'])) {
1942
                    $result += $best_attempt['exe_result']/$best_attempt['exe_weighting'];
1943
                }
1944
            }
1945
            $result = $result / count($exercise_list);
1946
            $result = round($result, 2) * 100;
1947
        }
1948
1949
        return $result.'%';
1950
    }
1951
1952
    /**
1953
     * get teacher progress by course and session