|
|
|
|
@ -2260,6 +2260,17 @@ class Event |
|
|
|
|
$courseTrackingTable = Database::get_main_table(TABLE_STATISTIC_TRACK_E_COURSE_ACCESS); |
|
|
|
|
Database::insert($courseTrackingTable, $params); |
|
|
|
|
|
|
|
|
|
// Time should also be added to the track_e_login table so as to |
|
|
|
|
// affect total time on the platform |
|
|
|
|
$params = [ |
|
|
|
|
'login_user_id' => $userId, |
|
|
|
|
'login_date' => $loginDate, |
|
|
|
|
'user_ip' => api_get_real_ip(), |
|
|
|
|
'logout_date' => $logoutDate |
|
|
|
|
]; |
|
|
|
|
$platformTrackingTable = Database::get_main_table(TABLE_STATISTIC_TRACK_E_LOGIN); |
|
|
|
|
Database::insert($platformTrackingTable, $params); |
|
|
|
|
|
|
|
|
|
return true; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
@ -2292,6 +2303,7 @@ class Event |
|
|
|
|
return false; |
|
|
|
|
} |
|
|
|
|
$courseTrackingTable = Database::get_main_table(TABLE_STATISTIC_TRACK_E_COURSE_ACCESS); |
|
|
|
|
$platformTrackingTable = Database::get_main_table(TABLE_STATISTIC_TRACK_E_LOGIN); |
|
|
|
|
$courseId = (int) $courseId; |
|
|
|
|
$userId = (int) $userId; |
|
|
|
|
$sessionId = (int) $sessionId; |
|
|
|
|
@ -2326,8 +2338,22 @@ class Event |
|
|
|
|
$courseAccessId = $row[0]; |
|
|
|
|
$sql = "DELETE FROM $courseTrackingTable |
|
|
|
|
WHERE course_access_id = $courseAccessId"; |
|
|
|
|
Database::query($sql); |
|
|
|
|
} |
|
|
|
|
$sql = "SELECT login_id |
|
|
|
|
FROM $platformTrackingTable |
|
|
|
|
WHERE |
|
|
|
|
login_user_id = $userId AND |
|
|
|
|
(UNIX_TIMESTAMP(logout_date) - UNIX_TIMESTAMP(login_date)) = '$virtualTime' |
|
|
|
|
ORDER BY login_date DESC LIMIT 0,1"; |
|
|
|
|
$result = Database::query($sql); |
|
|
|
|
if (Database::num_rows($result) > 0) { |
|
|
|
|
// Found the latest connection |
|
|
|
|
$row = Database::fetch_row($result); |
|
|
|
|
$loginAccessId = $row[0]; |
|
|
|
|
$sql = "DELETE FROM $platformTrackingTable |
|
|
|
|
WHERE login_id = $loginAccessId"; |
|
|
|
|
$result = Database::query($sql); |
|
|
|
|
|
|
|
|
|
return $result; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|