Mark QRZ-QSOs as Invalid when specific Error at qrz while uploading

This commit is contained in:
int2001
2024-09-13 05:04:00 +00:00
parent 7d716d9a06
commit 54bf62810f
2 changed files with 9 additions and 4 deletions

View File

@@ -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);
}
/*

View File

@@ -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);