diff --git a/application/libraries/EqslImporter.php b/application/libraries/EqslImporter.php index 2110d1f49..0d602c5ef 100644 --- a/application/libraries/EqslImporter.php +++ b/application/libraries/EqslImporter.php @@ -163,6 +163,13 @@ class EqslImporter $record['qsl_sent'] = $config['eqsl_rcvd_mark']; } + // eQSL now provides EQSL_QSLRDATE so we can use it if it is present + if ((array_key_exists('eqsl_qslrdate', $record)) && ($record['eqsl_qslrdate'] != '')) { + $eqsl_qslrdate = $record['eqsl_qslrdate']; + } else { + $eqsl_qslrdate = date('Y-m-d'); + } + $status = $this->CI->logbook_model->import_check($time_on, $record['call'], $record['band'], $record['mode'], $station_callsign, $station_id); $qsoid = 0; if ($status[0] == "Found") { @@ -170,7 +177,7 @@ class EqslImporter $dupe = $this->CI->eqslmethods_model->eqsl_dupe_check($time_on, $record['call'], $record['band'], $record['mode'], $config['eqsl_rcvd_mark'], $station_callsign, $station_id); if ($dupe == false) { $updated += 1; - $eqsl_status = $this->CI->eqslmethods_model->eqsl_update($time_on, $record['call'], $record['band'], $record['mode'], $config['eqsl_rcvd_mark'], $station_callsign, $station_id); + $eqsl_status = $this->CI->eqslmethods_model->eqsl_update($time_on, $record['call'], $record['band'], $record['mode'], $config['eqsl_rcvd_mark'], $station_callsign, $station_id, $eqsl_qslrdate); } else { $dupes += 1; $eqsl_status = "Already received an eQSL for this QSO."; diff --git a/application/models/Eqslmethods_model.php b/application/models/Eqslmethods_model.php index a6aeb5a4e..23fe1bf1c 100644 --- a/application/models/Eqslmethods_model.php +++ b/application/models/Eqslmethods_model.php @@ -505,9 +505,9 @@ class Eqslmethods_model extends CI_Model { // We could also probably use this: // https://eqsl.cc/qslcard/VerifyQSO.txt // https://www.eqsl.cc/qslcard/ImportADIF.txt - function eqsl_update($datetime, $callsign, $band, $mode, $qsl_status, $station_callsign, $station_id) { + function eqsl_update($datetime, $callsign, $band, $mode, $qsl_status, $station_callsign, $station_id, $eqsl_qslrdate = null) { $data = array( - 'COL_EQSL_QSLRDATE' => date('Y-m-d H:i:s'), // eQSL doesn't give us a date, so let's use current + 'COL_EQSL_QSLRDATE' => $eqsl_qslrdate ?? date('Y-m-d'), // eQSL gives a date now. Use current date as fallback only 'COL_EQSL_QSL_RCVD' => $qsl_status );