From 35078669abfbe296b578b3f131a30dcb38ed99f5 Mon Sep 17 00:00:00 2001 From: Simon Rettberg Date: Thu, 7 Mar 2019 13:29:48 +0100 Subject: [locationinfo] Add error log for backends --- modules-available/locationinfo/inc/locationinfo.inc.php | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) (limited to 'modules-available/locationinfo/inc/locationinfo.inc.php') diff --git a/modules-available/locationinfo/inc/locationinfo.inc.php b/modules-available/locationinfo/inc/locationinfo.inc.php index 377e960b..6cc71b3e 100644 --- a/modules-available/locationinfo/inc/locationinfo.inc.php +++ b/modules-available/locationinfo/inc/locationinfo.inc.php @@ -46,10 +46,25 @@ class LocationInfo * Set current error message of given server. Pass null or false to clear. * * @param int $serverId id of server - * @param string $message error message to set, null or false clears error. + * @param string|array $message error message to set, array of error message struct, null or false clears error. */ public static function setServerError($serverId, $message) { + if (is_array($message)) { + $fatal = false; + foreach ($message as $m) { + if ($m['fatal']) { + $fatal = $m['message']; + } + Database::exec('INSERT INTO locationinfo_backendlog (serverid, dateline, message) + VALUES (:sid, :dateline, :message)', [ + 'sid' => $serverId, + 'dateline' => $m['time'], + 'message' => ($m['fatal'] ? '[F]' : '[W]') . $m['message'], + ]); + } + $message = $fatal; + } if ($message === false || $message === null) { Database::exec("UPDATE `locationinfo_coursebackend` SET error = NULL WHERE serverid = :id", array('id' => $serverId)); -- cgit v1.2.3-55-g7522