Code Duplication    Length = 23-31 lines in 2 locations

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

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

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

@@ 1968-1990 (lines=23) @@
1965
     * @param int $session_id
1966
     * @return string
1967
     */
1968
    public static function get_exercise_student_average_best_attempt($exercise_list, $user_id, $courseId, $session_id)
1969
    {
1970
        $result = 0;
1971
        if (!empty($exercise_list)) {
1972
            foreach ($exercise_list as $exercise_data) {
1973
                $exercise_id = $exercise_data['id'];
1974
                $best_attempt = Event::get_best_attempt_exercise_results_per_user(
1975
                    $user_id,
1976
                    $exercise_id,
1977
                    $courseId,
1978
                    $session_id
1979
                );
1980
1981
                if (!empty($best_attempt) && !empty($best_attempt['exe_weighting'])) {
1982
                    $result += $best_attempt['exe_result']/$best_attempt['exe_weighting'];
1983
                }
1984
            }
1985
            $result = $result / count($exercise_list);
1986
            $result = round($result, 2) * 100;
1987
        }
1988
1989
        return $result.'%';
1990
    }
1991
1992
    /**
1993
     * get teacher progress by course and session