From 54bf62810f182a4ee4aeaf54db81e14efe3695b0 Mon Sep 17 00:00:00 2001 From: int2001 Date: Fri, 13 Sep 2024 05:04:00 +0000 Subject: [PATCH] Mark QRZ-QSOs as Invalid when specific Error at qrz while uploading --- application/controllers/Qrz.php | 9 +++++++-- application/models/Logbook_model.php | 4 ++-- 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/application/controllers/Qrz.php b/application/controllers/Qrz.php index fcf82a63b..68771e8e2 100644 --- a/application/controllers/Qrz.php +++ b/application/controllers/Qrz.php @@ -131,6 +131,11 @@ class Qrz extends CI_Controller { $this->markqso($qso->COL_PRIMARY_KEY); $i++; $result['status'] = 'OK'; + } elseif ( ($result['status']=='error') && ($result['message'] == 'STATUS=FAIL&RESULT=FAIL&REASON=QRZ Internal Error: Unable to add QSO to database.&EXTENDED=add_qso: outside date range') ) { + log_message('error', 'QRZ upload failed for qso for Station_ID '.$station_id.' // Call: ' . $qso->COL_CALL . ' Band: ' . $qso->COL_BAND . ' Mode: ' . $qso->COL_MODE . ' Time: ' . $qso->COL_TIME_ON . ' // Message: '.$result['message']); + $this->markqso($qso->COL_PRIMARY_KEY,'I'); + $result['status'] = 'Error'; + $errormessages[] = $result['message'] . ' Call: ' . $qso->COL_CALL . ' Band: ' . $qso->COL_BAND . ' Mode: ' . $qso->COL_MODE . ' Time: ' . $qso->COL_TIME_ON; } elseif ( ($result['status']=='error') && (substr($result['message'],0,11) == 'STATUS=AUTH')) { log_message('error', 'QRZ upload failed for qso for Station_ID '.$station_id.' // Call: ' . $qso->COL_CALL . ' Band: ' . $qso->COL_BAND . ' Mode: ' . $qso->COL_MODE . ' Time: ' . $qso->COL_TIME_ON . ' // Message: '.$result['message']); $errormessages[] = $result['message'] . ' Call: ' . $qso->COL_CALL . ' Band: ' . $qso->COL_BAND . ' Mode: ' . $qso->COL_MODE . ' Time: ' . $qso->COL_TIME_ON; @@ -162,8 +167,8 @@ class Qrz extends CI_Controller { /* * Function marks QSO with given primarykey as uploaded to qrz */ - function markqso($primarykey) { - $this->logbook_model->mark_qrz_qsos_sent($primarykey); + function markqso($primarykey,$state = 'Y') { + $this->logbook_model->mark_qrz_qsos_sent($primarykey, $state); } /* diff --git a/application/models/Logbook_model.php b/application/models/Logbook_model.php index 634ed601c..42a1a1c91 100644 --- a/application/models/Logbook_model.php +++ b/application/models/Logbook_model.php @@ -1079,10 +1079,10 @@ class Logbook_model extends CI_Model { * Function marks QSOs as uploaded to QRZ. * $primarykey is the unique id for that QSO in the logbook */ - function mark_qrz_qsos_sent($primarykey) { + function mark_qrz_qsos_sent($primarykey, $state = 'Y') { $data = array( 'COL_QRZCOM_QSO_UPLOAD_DATE' => date("Y-m-d H:i:s", strtotime("now")), - 'COL_QRZCOM_QSO_UPLOAD_STATUS' => 'Y', + 'COL_QRZCOM_QSO_UPLOAD_STATUS' => $state, ); $this->db->where('COL_PRIMARY_KEY', $primarykey);