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

@@ 2002-2024 (lines=23) @@
1999
     * @param int $session_id
2000
     * @return string
2001
     */
2002
    public static function get_exercise_student_average_best_attempt($exercise_list, $user_id, $courseId, $session_id)
2003
    {
2004
        $result = 0;
2005
        if (!empty($exercise_list)) {
2006
            foreach ($exercise_list as $exercise_data) {
2007
                $exercise_id = $exercise_data['id'];
2008
                $best_attempt = Event::get_best_attempt_exercise_results_per_user(
2009
                    $user_id,
2010
                    $exercise_id,
2011
                    $courseId,
2012
                    $session_id
2013
                );
2014
2015
                if (!empty($best_attempt) && !empty($best_attempt['exe_weighting'])) {
2016
                    $result += $best_attempt['exe_result']/$best_attempt['exe_weighting'];
2017
                }
2018
            }
2019
            $result = $result / count($exercise_list);
2020
            $result = round($result, 2) * 100;
2021
        }
2022
2023
        return $result.'%';
2024
    }
2025
2026
    /**
2027
     * get teacher progress by course and session