From 92729a4d26416e5d320b1487383474a839a82576 Mon Sep 17 00:00:00 2001 From: jmontoyaa Date: Wed, 6 Sep 2017 11:32:53 +0200 Subject: [PATCH] Add "course spent time" fix see BT#13312 --- tests/scripts/fix_course_spent_time.php | 68 +++++++++++++++++++++++++ 1 file changed, 68 insertions(+) create mode 100644 tests/scripts/fix_course_spent_time.php diff --git a/tests/scripts/fix_course_spent_time.php b/tests/scripts/fix_course_spent_time.php new file mode 100644 index 0000000000..1bd142e3c1 --- /dev/null +++ b/tests/scripts/fix_course_spent_time.php @@ -0,0 +1,68 @@ + UNIX_TIMESTAMP(login_course_date) + ORDER by diff DESC + LIMIT $limit +"; + +// contidos +//SELECT course_access_id, counter, (UNIX_TIMESTAMP(logout_course_date) - UNIX_TIMESTAMP(login_course_date)) / 60 / 60 diff, login_course_date, logout_course_date FROM track_e_course_access WHERE UNIX_TIMESTAMP(logout_course_date) > UNIX_TIMESTAMP(login_course_date) order by diff DESC limit 10; + +$result = Database::query($sql); +$log = ''; +while ($row = Database::fetch_array($result)) { + if ($row['diff'] >= $maxSeconds) { + $id = $row['course_access_id']; + $loginDate = $row['login_course_date']; + $logoutDate = $row['logout_course_date']; + $diff = round($row['diff']/60/60); + + $login = api_strtotime($row['login_course_date'], 'UTC') + $addSecondsToLogin; + $newLogout = api_get_utc_datetime($login); + $sql = "UPDATE track_e_course_access SET logout_course_date = '$newLogout' WHERE course_access_id = $id;"; + + if ($update) { + Database::query($sql); + } + $report = "Login : $loginDate"; + $report .= PHP_EOL; + $report .= "Logout: $logoutDate Diff in hours: $diff"; + $report .= PHP_EOL; + $report .= $sql; + $report .= PHP_EOL; + $report .= PHP_EOL; + $log .= $report; + echo $report; + } +} + +if ($sendMessage && !empty($log)) { + $log = nl2br($log); + MessageManager::send_message_simple( + $userId, + 'Course time spent fixes', + $log + ); +}