|
|
|
@ -161,17 +161,17 @@ class Event |
|
|
|
} else { |
|
|
|
} else { |
|
|
|
$userId = '0'; // no one |
|
|
|
$userId = '0'; // no one |
|
|
|
} |
|
|
|
} |
|
|
|
$sql = "INSERT INTO $TABLETRACK_ACCESS (user_ip, access_user_id, c_id, access_date, access_session_id) |
|
|
|
$sql = "INSERT INTO $TABLETRACK_ACCESS (user_ip, access_user_id, c_id, access_date, access_session_id) |
|
|
|
VALUES ('$ip', $userId, $courseId, '$now', $sessionId)"; |
|
|
|
VALUES ('$ip', $userId, $courseId, '$now', $sessionId)"; |
|
|
|
|
|
|
|
|
|
|
|
Database::query($sql); |
|
|
|
Database::query($sql); |
|
|
|
|
|
|
|
|
|
|
|
// added for "what's new" notification |
|
|
|
// added for "what's new" notification |
|
|
|
$sql = "UPDATE $TABLETRACK_LASTACCESS SET access_date = '$now' |
|
|
|
$sql = "UPDATE $TABLETRACK_LASTACCESS SET access_date = '$now' |
|
|
|
WHERE |
|
|
|
WHERE |
|
|
|
access_user_id = $userId AND |
|
|
|
access_user_id = $userId AND |
|
|
|
c_id = $courseId AND |
|
|
|
c_id = $courseId AND |
|
|
|
access_tool IS NULL AND |
|
|
|
access_tool IS NULL AND |
|
|
|
access_session_id = $sessionId"; |
|
|
|
access_session_id = $sessionId"; |
|
|
|
$result = Database::query($sql); |
|
|
|
$result = Database::query($sql); |
|
|
|
|
|
|
|
|
|
|
|
@ -258,10 +258,10 @@ class Event |
|
|
|
// "what's new" notification |
|
|
|
// "what's new" notification |
|
|
|
$sql = "UPDATE $tableLastAccess |
|
|
|
$sql = "UPDATE $tableLastAccess |
|
|
|
SET access_date = '$reallyNow' |
|
|
|
SET access_date = '$reallyNow' |
|
|
|
WHERE |
|
|
|
WHERE |
|
|
|
access_user_id = $userId AND |
|
|
|
access_user_id = $userId AND |
|
|
|
c_id = $courseId AND |
|
|
|
c_id = $courseId AND |
|
|
|
access_tool = '$tool' AND |
|
|
|
access_tool = '$tool' AND |
|
|
|
access_session_id = $sessionId"; |
|
|
|
access_session_id = $sessionId"; |
|
|
|
$result = Database::query($sql); |
|
|
|
$result = Database::query($sql); |
|
|
|
|
|
|
|
|
|
|
|
@ -1000,7 +1000,7 @@ class Event |
|
|
|
$event_message_language = Database::escape_string($event_message_language); |
|
|
|
$event_message_language = Database::escape_string($event_message_language); |
|
|
|
|
|
|
|
|
|
|
|
// Deletes then re-adds the users linked to the event |
|
|
|
// Deletes then re-adds the users linked to the event |
|
|
|
$sql = 'DELETE FROM '.Database::get_main_table(TABLE_EVENT_TYPE_REL_USER).' |
|
|
|
$sql = 'DELETE FROM '.Database::get_main_table(TABLE_EVENT_TYPE_REL_USER).' |
|
|
|
WHERE event_type_name = "'.$event_name.'" '; |
|
|
|
WHERE event_type_name = "'.$event_name.'" '; |
|
|
|
Database::query($sql); |
|
|
|
Database::query($sql); |
|
|
|
|
|
|
|
|
|
|
|
@ -1306,9 +1306,9 @@ class Event |
|
|
|
|
|
|
|
|
|
|
|
if (api_get_configuration_value('lp_minimum_time')) { |
|
|
|
if (api_get_configuration_value('lp_minimum_time')) { |
|
|
|
$sql = "DELETE FROM track_e_access_complete |
|
|
|
$sql = "DELETE FROM track_e_access_complete |
|
|
|
WHERE |
|
|
|
WHERE |
|
|
|
tool = 'learnpath' AND |
|
|
|
tool = 'learnpath' AND |
|
|
|
c_id = $course_id AND |
|
|
|
c_id = $course_id AND |
|
|
|
tool_id = $lp_id AND |
|
|
|
tool_id = $lp_id AND |
|
|
|
user_id = $user_id AND |
|
|
|
user_id = $user_id AND |
|
|
|
session_id = $session_id |
|
|
|
session_id = $session_id |
|
|
|
@ -1326,7 +1326,7 @@ class Event |
|
|
|
Database::query($sql); |
|
|
|
Database::query($sql); |
|
|
|
|
|
|
|
|
|
|
|
$sql = "SELECT exe_id FROM $track_e_exercises |
|
|
|
$sql = "SELECT exe_id FROM $track_e_exercises |
|
|
|
WHERE |
|
|
|
WHERE |
|
|
|
exe_user_id = $user_id AND |
|
|
|
exe_user_id = $user_id AND |
|
|
|
session_id = $session_id AND |
|
|
|
session_id = $session_id AND |
|
|
|
c_id = $course_id AND |
|
|
|
c_id = $course_id AND |
|
|
|
@ -1538,7 +1538,7 @@ class Event |
|
|
|
$list = []; |
|
|
|
$list = []; |
|
|
|
while ($row = Database::fetch_array($res, 'ASSOC')) { |
|
|
|
while ($row = Database::fetch_array($res, 'ASSOC')) { |
|
|
|
$list[$row['exe_id']] = $row; |
|
|
|
$list[$row['exe_id']] = $row; |
|
|
|
$sql = "SELECT * FROM $table_track_attempt |
|
|
|
$sql = "SELECT * FROM $table_track_attempt |
|
|
|
WHERE exe_id = {$row['exe_id']}"; |
|
|
|
WHERE exe_id = {$row['exe_id']}"; |
|
|
|
$res_question = Database::query($sql); |
|
|
|
$res_question = Database::query($sql); |
|
|
|
while ($row_q = Database::fetch_array($res_question, 'ASSOC')) { |
|
|
|
while ($row_q = Database::fetch_array($res_question, 'ASSOC')) { |
|
|
|
@ -1576,7 +1576,7 @@ class Event |
|
|
|
|
|
|
|
|
|
|
|
//Checking if this attempt was revised by a teacher |
|
|
|
//Checking if this attempt was revised by a teacher |
|
|
|
$sql_revised = "SELECT exe_id FROM $table_track_attempt_recording |
|
|
|
$sql_revised = "SELECT exe_id FROM $table_track_attempt_recording |
|
|
|
WHERE author != '' AND exe_id = $exe_id |
|
|
|
WHERE author != '' AND exe_id = $exe_id |
|
|
|
LIMIT 1"; |
|
|
|
LIMIT 1"; |
|
|
|
$res_revised = Database::query($sql_revised); |
|
|
|
$res_revised = Database::query($sql_revised); |
|
|
|
$row['attempt_revised'] = 0; |
|
|
|
$row['attempt_revised'] = 0; |
|
|
|
@ -1585,7 +1585,7 @@ class Event |
|
|
|
} |
|
|
|
} |
|
|
|
$list[$exe_id] = $row; |
|
|
|
$list[$exe_id] = $row; |
|
|
|
$sql = "SELECT * FROM $table_track_attempt |
|
|
|
$sql = "SELECT * FROM $table_track_attempt |
|
|
|
WHERE exe_id = $exe_id |
|
|
|
WHERE exe_id = $exe_id |
|
|
|
ORDER BY tms ASC"; |
|
|
|
ORDER BY tms ASC"; |
|
|
|
$res_question = Database::query($sql); |
|
|
|
$res_question = Database::query($sql); |
|
|
|
while ($row_q = Database::fetch_array($res_question, 'ASSOC')) { |
|
|
|
while ($row_q = Database::fetch_array($res_question, 'ASSOC')) { |
|
|
|
@ -1690,7 +1690,7 @@ class Event |
|
|
|
$session_id = (int) $session_id; |
|
|
|
$session_id = (int) $session_id; |
|
|
|
$user_id = (int) $user_id; |
|
|
|
$user_id = (int) $user_id; |
|
|
|
|
|
|
|
|
|
|
|
$sql = "SELECT count(*) as count |
|
|
|
$sql = "SELECT count(*) as count |
|
|
|
FROM $table |
|
|
|
FROM $table |
|
|
|
WHERE status = '' AND |
|
|
|
WHERE status = '' AND |
|
|
|
exe_user_id = $user_id AND |
|
|
|
exe_user_id = $user_id AND |
|
|
|
@ -1755,7 +1755,7 @@ class Event |
|
|
|
while ($row = Database::fetch_array($res, 'ASSOC')) { |
|
|
|
while ($row = Database::fetch_array($res, 'ASSOC')) { |
|
|
|
$list[$row['exe_id']] = $row; |
|
|
|
$list[$row['exe_id']] = $row; |
|
|
|
$exeId = $row['exe_id']; |
|
|
|
$exeId = $row['exe_id']; |
|
|
|
$sql = "SELECT * FROM $table_track_attempt |
|
|
|
$sql = "SELECT * FROM $table_track_attempt |
|
|
|
WHERE exe_id = $exeId"; |
|
|
|
WHERE exe_id = $exeId"; |
|
|
|
$res_question = Database::query($sql); |
|
|
|
$res_question = Database::query($sql); |
|
|
|
while ($row_q = Database::fetch_array($res_question, 'ASSOC')) { |
|
|
|
while ($row_q = Database::fetch_array($res_question, 'ASSOC')) { |
|
|
|
@ -1906,7 +1906,7 @@ class Event |
|
|
|
while ($row = Database::fetch_array($res, 'ASSOC')) { |
|
|
|
while ($row = Database::fetch_array($res, 'ASSOC')) { |
|
|
|
$exeId = $row['exe_id']; |
|
|
|
$exeId = $row['exe_id']; |
|
|
|
$list[$exeId] = $row; |
|
|
|
$list[$exeId] = $row; |
|
|
|
$sql = "SELECT * FROM $table_track_attempt |
|
|
|
$sql = "SELECT * FROM $table_track_attempt |
|
|
|
WHERE exe_id = $exeId"; |
|
|
|
WHERE exe_id = $exeId"; |
|
|
|
$res_question = Database::query($sql); |
|
|
|
$res_question = Database::query($sql); |
|
|
|
while ($row_q = Database::fetch_array($res_question, 'ASSOC')) { |
|
|
|
while ($row_q = Database::fetch_array($res_question, 'ASSOC')) { |
|
|
|
@ -1959,7 +1959,7 @@ class Event |
|
|
|
$table = Database::get_main_table(TABLE_STATISTIC_TRACK_E_ATTEMPT); |
|
|
|
$table = Database::get_main_table(TABLE_STATISTIC_TRACK_E_ATTEMPT); |
|
|
|
$exe_id = (int) $exe_id; |
|
|
|
$exe_id = (int) $exe_id; |
|
|
|
$question_id = (int) $question_id; |
|
|
|
$question_id = (int) $question_id; |
|
|
|
$sql = "SELECT teacher_comment |
|
|
|
$sql = "SELECT teacher_comment |
|
|
|
FROM $table |
|
|
|
FROM $table |
|
|
|
WHERE |
|
|
|
WHERE |
|
|
|
exe_id = $exe_id AND |
|
|
|
exe_id = $exe_id AND |
|
|
|
@ -2085,7 +2085,7 @@ class Event |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
$sql = "DELETE FROM $table |
|
|
|
$sql = "DELETE FROM $table |
|
|
|
WHERE |
|
|
|
WHERE |
|
|
|
hotspot_exe_id = $exeId AND |
|
|
|
hotspot_exe_id = $exeId AND |
|
|
|
hotspot_user_id = $user_id AND |
|
|
|
hotspot_user_id = $user_id AND |
|
|
|
c_id = $courseId AND |
|
|
|
c_id = $courseId AND |
|
|
|
@ -2185,12 +2185,12 @@ class Event |
|
|
|
$userId = (int) $userId; |
|
|
|
$userId = (int) $userId; |
|
|
|
|
|
|
|
|
|
|
|
$table = Database::get_main_table(TABLE_STATISTIC_TRACK_E_COURSE_ACCESS); |
|
|
|
$table = Database::get_main_table(TABLE_STATISTIC_TRACK_E_COURSE_ACCESS); |
|
|
|
$sql = "SELECT course_access_id, logout_course_date |
|
|
|
$sql = "SELECT course_access_id, logout_course_date |
|
|
|
FROM $table |
|
|
|
FROM $table |
|
|
|
WHERE |
|
|
|
WHERE |
|
|
|
c_id = $courseId AND |
|
|
|
c_id = $courseId AND |
|
|
|
session_id = $sessionId AND |
|
|
|
session_id = $sessionId AND |
|
|
|
user_id = $userId |
|
|
|
user_id = $userId |
|
|
|
ORDER BY login_course_date DESC |
|
|
|
ORDER BY login_course_date DESC |
|
|
|
LIMIT 1"; |
|
|
|
LIMIT 1"; |
|
|
|
|
|
|
|
|
|
|
|
@ -2209,8 +2209,8 @@ class Event |
|
|
|
$now - $logout < $maxSeconds |
|
|
|
$now - $logout < $maxSeconds |
|
|
|
) { |
|
|
|
) { |
|
|
|
$now = api_get_utc_datetime(); |
|
|
|
$now = api_get_utc_datetime(); |
|
|
|
$sql = "UPDATE $table SET |
|
|
|
$sql = "UPDATE $table SET |
|
|
|
logout_course_date = '$now', |
|
|
|
logout_course_date = '$now', |
|
|
|
counter = counter + 1 |
|
|
|
counter = counter + 1 |
|
|
|
WHERE course_access_id = $id"; |
|
|
|
WHERE course_access_id = $id"; |
|
|
|
Database::query($sql); |
|
|
|
Database::query($sql); |
|
|
|
@ -2271,20 +2271,20 @@ class Event |
|
|
|
$time = api_get_utc_datetime($diff); |
|
|
|
$time = api_get_utc_datetime($diff); |
|
|
|
$sql = "SELECT course_access_id, logout_course_date |
|
|
|
$sql = "SELECT course_access_id, logout_course_date |
|
|
|
FROM $tableCourseAccess |
|
|
|
FROM $tableCourseAccess |
|
|
|
WHERE |
|
|
|
WHERE |
|
|
|
user_id = $userId AND |
|
|
|
user_id = $userId AND |
|
|
|
c_id = $courseId AND |
|
|
|
c_id = $courseId AND |
|
|
|
session_id = $sessionId AND |
|
|
|
session_id = $sessionId AND |
|
|
|
login_course_date > '$time' |
|
|
|
login_course_date > '$time' |
|
|
|
ORDER BY login_course_date DESC |
|
|
|
ORDER BY login_course_date DESC |
|
|
|
LIMIT 1"; |
|
|
|
LIMIT 1"; |
|
|
|
$result = Database::query($sql); |
|
|
|
$result = Database::query($sql); |
|
|
|
$insert = false; |
|
|
|
$insert = false; |
|
|
|
if (Database::num_rows($result) > 0) { |
|
|
|
if (Database::num_rows($result) > 0) { |
|
|
|
$row = Database::fetch_array($result, 'ASSOC'); |
|
|
|
$row = Database::fetch_array($result, 'ASSOC'); |
|
|
|
$courseAccessId = $row['course_access_id']; |
|
|
|
$courseAccessId = $row['course_access_id']; |
|
|
|
$sql = "UPDATE $tableCourseAccess SET |
|
|
|
$sql = "UPDATE $tableCourseAccess SET |
|
|
|
logout_course_date = '$currentDate', |
|
|
|
logout_course_date = '$currentDate', |
|
|
|
counter = counter + 1 |
|
|
|
counter = counter + 1 |
|
|
|
WHERE course_access_id = $courseAccessId"; |
|
|
|
WHERE course_access_id = $courseAccessId"; |
|
|
|
Database::query($sql); |
|
|
|
Database::query($sql); |
|
|
|
@ -2439,7 +2439,7 @@ class Event |
|
|
|
// format returned by SQL for a subtraction of two datetime values |
|
|
|
// format returned by SQL for a subtraction of two datetime values |
|
|
|
// @todo make sure this is portable between DBMSes |
|
|
|
// @todo make sure this is portable between DBMSes |
|
|
|
if (preg_match('/:/', $virtualTime)) { |
|
|
|
if (preg_match('/:/', $virtualTime)) { |
|
|
|
[$h, $m, $s] = preg_split('/:/', $virtualTime); |
|
|
|
list($h, $m, $s) = preg_split('/:/', $virtualTime); |
|
|
|
$virtualTime = $h * 3600 + $m * 60 + $s; |
|
|
|
$virtualTime = $h * 3600 + $m * 60 + $s; |
|
|
|
} else { |
|
|
|
} else { |
|
|
|
$virtualTime *= 3600; |
|
|
|
$virtualTime *= 3600; |
|
|
|
@ -2464,7 +2464,7 @@ class Event |
|
|
|
// Found the latest connection |
|
|
|
// Found the latest connection |
|
|
|
$row = Database::fetch_row($result); |
|
|
|
$row = Database::fetch_row($result); |
|
|
|
$courseAccessId = $row[0]; |
|
|
|
$courseAccessId = $row[0]; |
|
|
|
$sql = "DELETE FROM $courseTrackingTable |
|
|
|
$sql = "DELETE FROM $courseTrackingTable |
|
|
|
WHERE course_access_id = $courseAccessId"; |
|
|
|
WHERE course_access_id = $courseAccessId"; |
|
|
|
Database::query($sql); |
|
|
|
Database::query($sql); |
|
|
|
} |
|
|
|
} |
|
|
|
|