Code Duplication    Length = 23-28 lines in 3 locations

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

@@ 2956-2978 (lines=23) @@
2953
     * @param    int    session id
2954
     * @return    float    Average score
2955
     */
2956
    public static function get_average_score($exercise_id, $courseId, $session_id)
2957
    {
2958
        $user_results = Event::get_all_exercise_results(
2959
            $exercise_id,
2960
            $courseId,
2961
            $session_id
2962
        );
2963
        $avg_score = 0;
2964
        if (!empty($user_results)) {
2965
            foreach ($user_results as $result) {
2966
                if (!empty($result['exe_weighting']) && intval(
2967
                        $result['exe_weighting']
2968
                    ) != 0
2969
                ) {
2970
                    $score = $result['exe_result'] / $result['exe_weighting'];
2971
                    $avg_score += $score;
2972
                }
2973
            }
2974
            $avg_score = float_format($avg_score / count($user_results), 1);
2975
        }
2976
2977
        return $avg_score;
2978
    }
2979
2980
    /**
2981
     * Get average score by score (NO Exercises in LPs )
@@ 2987-3011 (lines=25) @@
2984
     * @param    int    session id
2985
     * @return    float    Average score
2986
     */
2987
    public static function get_average_score_by_course($courseId, $session_id)
2988
    {
2989
        $user_results = Event::get_all_exercise_results_by_course(
2990
            $courseId,
2991
            $session_id,
2992
            false
2993
        );
2994
        //echo $course_code.' - '.$session_id.'<br />';
2995
        $avg_score = 0;
2996
        if (!empty($user_results)) {
2997
            foreach ($user_results as $result) {
2998
                if (!empty($result['exe_weighting']) && intval(
2999
                        $result['exe_weighting']
3000
                    ) != 0
3001
                ) {
3002
                    $score = $result['exe_result'] / $result['exe_weighting'];
3003
                    $avg_score += $score;
3004
                }
3005
            }
3006
            //We asume that all exe_weighting
3007
            $avg_score = ($avg_score / count($user_results));
3008
        }
3009
3010
        return $avg_score;
3011
    }
3012
3013
    /**
3014
     * @param int $user_id
@@ 3020-3047 (lines=28) @@
3017
     *
3018
     * @return float|int
3019
     */
3020
    public static function get_average_score_by_course_by_user(
3021
        $user_id,
3022
        $courseId,
3023
        $session_id
3024
    )
3025
    {
3026
        $user_results = Event::get_all_exercise_results_by_user(
3027
            $user_id,
3028
            $courseId,
3029
            $session_id
3030
        );
3031
        $avg_score = 0;
3032
        if (!empty($user_results)) {
3033
            foreach ($user_results as $result) {
3034
                if (!empty($result['exe_weighting']) && intval(
3035
                        $result['exe_weighting']
3036
                    ) != 0
3037
                ) {
3038
                    $score = $result['exe_result'] / $result['exe_weighting'];
3039
                    $avg_score += $score;
3040
                }
3041
            }
3042
            // We asumme that all exe_weighting
3043
            $avg_score = ($avg_score / count($user_results));
3044
        }
3045
3046
        return $avg_score;
3047
    }
3048
3049
    /**
3050
     * Get average score by score (NO Exercises in LPs )