Code Duplication    Length = 23-31 lines in 2 locations

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

@@ 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
    /**

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

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