Code Duplication    Length = 23-31 lines in 2 locations

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

@@ 2976-3006 (lines=31) @@
2973
     * @param    int        session id
2974
     * @return    float    Best average score
2975
     */
2976
    public static function get_best_average_score_by_exercise(
2977
        $exercise_id,
2978
        $courseId,
2979
        $session_id,
2980
        $user_count
2981
    )
2982
    {
2983
        $user_results = Event::get_best_exercise_results_by_user(
2984
            $exercise_id,
2985
            $courseId,
2986
            $session_id
2987
        );
2988
        $avg_score = 0;
2989
        if (!empty($user_results)) {
2990
            foreach ($user_results as $result) {
2991
                if (!empty($result['exe_weighting']) && intval($result['exe_weighting']) != 0) {
2992
                    $score = $result['exe_result'] / $result['exe_weighting'];
2993
                    $avg_score += $score;
2994
                }
2995
            }
2996
            //We asumme that all exe_weighting
2997
            //$avg_score = show_score( $avg_score / count($user_results) , $result['exe_weighting']);
2998
            //$avg_score = ($avg_score / count($user_results));
2999
            if (!empty($user_count)) {
3000
                $avg_score = float_format($avg_score / $user_count, 1) * 100;
3001
            } else {
3002
                $avg_score = 0;
3003
            }
3004
        }
3005
3006
        return $avg_score;
3007
    }
3008
3009
    /**

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

@@ 2221-2243 (lines=23) @@
2218
     * @param int $session_id
2219
     * @return string
2220
     */
2221
    public static function get_exercise_student_average_best_attempt(
2222
        $exercise_list,
2223
        $user_id,
2224
        $courseId,
2225
        $session_id
2226
    ) {
2227
        $result = 0;
2228
        if (!empty($exercise_list)) {
2229
            foreach ($exercise_list as $exercise_data) {
2230
                $exercise_id = $exercise_data['id'];
2231
                $best_attempt = Event::get_best_attempt_exercise_results_per_user(
2232
                    $user_id,
2233
                    $exercise_id,
2234
                    $courseId,
2235
                    $session_id
2236
                );
2237
2238
                if (!empty($best_attempt) && !empty($best_attempt['exe_weighting'])) {
2239
                    $result += $best_attempt['exe_result'] / $best_attempt['exe_weighting'];
2240
                }
2241
            }
2242
            $result = $result / count($exercise_list);
2243
            $result = round($result, 2) * 100;
2244
        }
2245
2246
        return $result.'%';