Code Duplication    Length = 23-28 lines in 3 locations

main/inc/lib/exercise.lib.php 3 locations

@@ 2876-2898 (lines=23) @@
2873
     * @param    int    session id
2874
     * @return    float    Average score
2875
     */
2876
    public static function get_average_score($exercise_id, $courseId, $session_id)
2877
    {
2878
        $user_results = Event::get_all_exercise_results(
2879
            $exercise_id,
2880
            $courseId,
2881
            $session_id
2882
        );
2883
        $avg_score = 0;
2884
        if (!empty($user_results)) {
2885
            foreach ($user_results as $result) {
2886
                if (!empty($result['exe_weighting']) && intval(
2887
                        $result['exe_weighting']
2888
                    ) != 0
2889
                ) {
2890
                    $score = $result['exe_result'] / $result['exe_weighting'];
2891
                    $avg_score += $score;
2892
                }
2893
            }
2894
            $avg_score = float_format($avg_score / count($user_results), 1);
2895
        }
2896
2897
        return $avg_score;
2898
    }
2899
2900
    /**
2901
     * Get average score by score (NO Exercises in LPs )
@@ 2907-2931 (lines=25) @@
2904
     * @param    int    session id
2905
     * @return    float    Average score
2906
     */
2907
    public static function get_average_score_by_course($courseId, $session_id)
2908
    {
2909
        $user_results = Event::get_all_exercise_results_by_course(
2910
            $courseId,
2911
            $session_id,
2912
            false
2913
        );
2914
        //echo $course_code.' - '.$session_id.'<br />';
2915
        $avg_score = 0;
2916
        if (!empty($user_results)) {
2917
            foreach ($user_results as $result) {
2918
                if (!empty($result['exe_weighting']) && intval(
2919
                        $result['exe_weighting']
2920
                    ) != 0
2921
                ) {
2922
                    $score = $result['exe_result'] / $result['exe_weighting'];
2923
                    $avg_score += $score;
2924
                }
2925
            }
2926
            //We asume that all exe_weighting
2927
            $avg_score = ($avg_score / count($user_results));
2928
        }
2929
2930
        return $avg_score;
2931
    }
2932
2933
    /**
2934
     * @param int $user_id
@@ 2940-2967 (lines=28) @@
2937
     *
2938
     * @return float|int
2939
     */
2940
    public static function get_average_score_by_course_by_user(
2941
        $user_id,
2942
        $courseId,
2943
        $session_id
2944
    )
2945
    {
2946
        $user_results = Event::get_all_exercise_results_by_user(
2947
            $user_id,
2948
            $courseId,
2949
            $session_id
2950
        );
2951
        $avg_score = 0;
2952
        if (!empty($user_results)) {
2953
            foreach ($user_results as $result) {
2954
                if (!empty($result['exe_weighting']) && intval(
2955
                        $result['exe_weighting']
2956
                    ) != 0
2957
                ) {
2958
                    $score = $result['exe_result'] / $result['exe_weighting'];
2959
                    $avg_score += $score;
2960
                }
2961
            }
2962
            // We asumme that all exe_weighting
2963
            $avg_score = ($avg_score / count($user_results));
2964
        }
2965
2966
        return $avg_score;
2967
    }
2968
2969
    /**
2970
     * Get average score by score (NO Exercises in LPs )