From 7df0d6a78b6d768242b1624e9d2c56eec34be8fd Mon Sep 17 00:00:00 2001 From: Andrew Davis Date: Wed, 31 Dec 2014 09:50:48 +0100 Subject: [PATCH] MDL-48729 logs: prevent fatal error is legacy log data retrieval fails --- admin/tool/log/store/legacy/classes/log/store.php | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/admin/tool/log/store/legacy/classes/log/store.php b/admin/tool/log/store/legacy/classes/log/store.php index faabf716b98..d886e616ffe 100644 --- a/admin/tool/log/store/legacy/classes/log/store.php +++ b/admin/tool/log/store/legacy/classes/log/store.php @@ -91,15 +91,18 @@ class store implements \tool_log\log\store, \core\log\sql_select_reader { // Replace the query with hardcoded mappings required for core. list($selectwhere, $params, $sort) = self::replace_sql_legacy($selectwhere, $params, $sort); - $events = array(); $records = array(); try { + // A custom report + on the fly SQL rewriting = a possible exception. $records = $DB->get_recordset_select('log', $selectwhere, $params, $sort, '*', $limitfrom, $limitnum); } catch (\moodle_exception $ex) { debugging("error converting legacy event data " . $ex->getMessage() . $ex->debuginfo, DEBUG_DEVELOPER); + return array(); } + $events = array(); + foreach ($records as $data) { $events[$data->id] = \logstore_legacy\event\legacy_logged::restore_legacy($data); }