Code Duplication    Length = 30-43 lines in 2 locations

main/inc/lib/myspace.lib.php 2 locations

@@ 1419-1448 (lines=30) @@
1416
            $total_score_obtained = 0;
1417
            $total_score_possible = 0;
1418
            $total_questions_answered = 0;
1419
            while ($row_user = Database::fetch_object($result_users)) {
1420
                // get time spent in the course and session
1421
                $time_spent += Tracking::get_time_spent_on_the_course($row_user->user_id, $courseId, $session_id);
1422
                $progress_tmp = Tracking::get_avg_student_progress($row_user->user_id, $row->code, array(), $session_id, true);
1423
                $progress += $progress_tmp[0];
1424
                $nb_progress_lp += $progress_tmp[1];
1425
                $score_tmp = Tracking::get_avg_student_score($row_user->user_id, $row->code, array(), $session_id, true);
1426
                if (is_array($score_tmp)) {
1427
                    $score += $score_tmp[0];
1428
                    $nb_score_lp += $score_tmp[1];
1429
                }
1430
                $nb_messages += Tracking::count_student_messages($row_user->user_id, $row->code, $session_id);
1431
                $nb_assignments += Tracking::count_student_assignments($row_user->user_id, $row->code, $session_id);
1432
                $last_login_date_tmp = Tracking::get_last_connection_date_on_the_course($row_user->user_id, $courseInfo, $session_id, false);
1433
                if ($last_login_date_tmp != false && $last_login_date == false) {
1434
                    // TODO: To be cleaned.
1435
                    $last_login_date = $last_login_date_tmp;
1436
                } else if ($last_login_date_tmp != false && $last_login_date != false) {
1437
                    // TODO: Repeated previous condition! To be cleaned.
1438
                    // Find the max and assign it to first_login_date
1439
                    if (strtotime($last_login_date_tmp) > strtotime($last_login_date)) {
1440
                        $last_login_date = $last_login_date_tmp;
1441
                    }
1442
                }
1443
1444
                $exercise_results_tmp = self::exercises_results($row_user->user_id, $row->code, $session_id);
1445
                $total_score_obtained += $exercise_results_tmp['score_obtained'];
1446
                $total_score_possible += $exercise_results_tmp['score_possible'];
1447
                $total_questions_answered += $exercise_results_tmp['questions_answered'];
1448
            }
1449
            if ($nb_progress_lp > 0) {
1450
                $avg_progress = round($progress / $nb_progress_lp, 2);
1451
            } else {
@@ 1580-1622 (lines=43) @@
1577
                $total_score_obtained = 0;
1578
                $total_score_possible = 0;
1579
                $total_questions_answered = 0;
1580
                while ($row_user = Database::fetch_object($result_users)) {
1581
                    // get time spent in the course and session
1582
                    $time_spent += Tracking::get_time_spent_on_the_course($row_user->user_id, $courseId, $session_id);
1583
                    $progress_tmp = Tracking::get_avg_student_progress($row_user->user_id, $row->code, array(), $session_id, true);
1584
                    $progress += $progress_tmp[0];
1585
                    $nb_progress_lp += $progress_tmp[1];
1586
                    $score_tmp = Tracking::get_avg_student_score($row_user->user_id, $row->code, array(), $session_id, true);
1587
                    if (is_array($score_tmp)) {
1588
                        $score += $score_tmp[0];
1589
                        $nb_score_lp += $score_tmp[1];
1590
                    }
1591
                    $nb_messages += Tracking::count_student_messages(
1592
                        $row_user->user_id,
1593
                        $row->code,
1594
                        $session_id
1595
                    );
1596
1597
                    $nb_assignments += Tracking::count_student_assignments(
1598
                        $row_user->user_id,
1599
                        $row->code,
1600
                        $session_id
1601
                    );
1602
1603
                    $last_login_date_tmp = Tracking:: get_last_connection_date_on_the_course(
1604
                        $row_user->user_id,
1605
                        $courseInfo,
1606
                        $session_id,
1607
                        false
1608
                    );
1609
                    if ($last_login_date_tmp != false && $last_login_date == false) { // TODO: To be cleaned.
1610
                        $last_login_date = $last_login_date_tmp;
1611
                    } else if ($last_login_date_tmp != false && $last_login_date == false) { // TODO: Repeated previous condition. To be cleaned.
1612
                        // Find the max and assign it to first_login_date
1613
                        if (strtotime($last_login_date_tmp) > strtotime($last_login_date)) {
1614
                            $last_login_date = $last_login_date_tmp;
1615
                        }
1616
                    }
1617
1618
                    $exercise_results_tmp = self::exercises_results($row_user->user_id, $row->code, $session_id);
1619
                    $total_score_obtained += $exercise_results_tmp['score_obtained'];
1620
                    $total_score_possible += $exercise_results_tmp['score_possible'];
1621
                    $total_questions_answered += $exercise_results_tmp['questions_answered'];
1622
                }
1623
                if ($nb_progress_lp > 0) {
1624
                    $avg_progress = round($progress / $nb_progress_lp, 2);
1625
                } else {