From 2ee469b3b82653661b2e6c2f9593f4cca9cc48f7 Mon Sep 17 00:00:00 2001 From: martinlanghoff Date: Wed, 19 Sep 2007 07:22:37 +0000 Subject: [PATCH] datalib: add_to_log() fix a bug and better error handling All the $db->Execute calls now do proper err handling, and send their message to debugging(). --- lib/datalib.php | 27 ++++++++++++++++++--------- 1 file changed, 18 insertions(+), 9 deletions(-) diff --git a/lib/datalib.php b/lib/datalib.php index 8dbb743c40..5e5e4d8e91 100644 --- a/lib/datalib.php +++ b/lib/datalib.php @@ -1630,20 +1630,29 @@ function add_to_log($courseid, $module, $action, $url='', $info='', $cm=0, $user /// Store lastaccess times for the current user, do not use in cron and other commandline scripts /// only update the lastaccess/timeaccess fields only once every 60s if (!empty($USER->id) && ($userid == $USER->id) && !defined('FULLME')) { - $db->Execute('UPDATE '. $CFG->prefix .'user - SET lastip=\''. $REMOTE_ADDR .'\', lastaccess=\''. $timenow .'\' - WHERE id = \''. $userid .'\' AND '.$timenow.' - lastaccess > 60'); + $res = $db->Execute('UPDATE '. $CFG->prefix .'user + SET lastip=\''. $REMOTE_ADDR .'\', lastaccess=\''. $timenow .'\' + WHERE id = \''. $userid .'\' AND '.$timenow.' - lastaccess > 60'); + if (!$res) { + debugging('

Error: Could not insert a new entry to the Moodle log

'); // Don't throw an error + } if ($courseid != SITEID && !empty($courseid)) { if (defined('MDL_PERFDB')) { global $PERF ; $PERF->dbqueries++;}; if ($ulid = get_field('user_lastaccess', 'id', 'userid', $userid, 'courseid', $courseid)) { - $db->Execute("UPDATE {$CFG->prefix}user_lastaccess - SET timeaccess=$timenow - WHERE id = $ulid AND $timenow - timeaccess > 60"); + $res = $db->Execute("UPDATE {$CFG->prefix}user_lastaccess + SET timeaccess=$timenow + WHERE id = $ulid AND $timenow - timeaccess > 60"); + if (!$res) { + debugging('Error: Could not insert a new entry to the Moodle log'); // Don't throw an error + } } else { - $db->Execute("INSERT INTO {$CFG->prefix}user_lastaccess - ('userid', 'courseid', 'timeaccess') - VALUES ($userid, $courseid, $timenow)"); + $res = $db->Execute("INSERT INTO {$CFG->prefix}user_lastaccess + ( userid, courseid, timeaccess) + VALUES ($userid, $courseid, $timenow)"); + if (!$res) { + debugging('Error: Could not insert a new entry to the Moodle log'); // Don't throw an error + } } if (defined('MDL_PERFDB')) { global $PERF ; $PERF->dbqueries++;}; } -- 2.39.5