From 710b4ab7264b6905b376caeef7c8262aa7c7dd1c Mon Sep 17 00:00:00 2001 From: phl0 Date: Wed, 10 Dec 2025 16:39:27 +0100 Subject: [PATCH] Catch (timeout) errors on communication with hamqth --- application/libraries/Callbook.php | 7 ++++++- application/libraries/Hamqth.php | 4 ++++ 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/application/libraries/Callbook.php b/application/libraries/Callbook.php index ba51201f5..7b42d8a4c 100644 --- a/application/libraries/Callbook.php +++ b/application/libraries/Callbook.php @@ -125,7 +125,12 @@ class Callbook { if (!$this->ci->session->userdata('hamqth_session_key')) { $hamqth_session_key = $this->ci->hamqth->session($username, $password); - $this->ci->session->set_userdata('hamqth_session_key', $hamqth_session_key); + if ($hamqth_session_key == false) { + $callbook['error'] = __("Error obtaining a session key for HamQTH query"); + return $callbook; + } else { + $this->ci->session->set_userdata('hamqth_session_key', $hamqth_session_key); + } } $callbook = $this->ci->hamqth->search($callsign, $this->ci->session->userdata('hamqth_session_key')); diff --git a/application/libraries/Hamqth.php b/application/libraries/Hamqth.php index 91a531b5d..3aa372b93 100644 --- a/application/libraries/Hamqth.php +++ b/application/libraries/Hamqth.php @@ -21,6 +21,10 @@ class Hamqth { curl_setopt($ch, CURLOPT_TIMEOUT, 10); $xml = curl_exec($ch); curl_close($ch); + if(curl_errno($ch)) { + log_message('error', 'Hamqth query failed: '.curl_strerror(curl_errno($ch))." (".curl_errno($ch).")"); + return false; + } // Create XML object $xml = simplexml_load_string($xml);