From 8ffbf298a286b207f425a09ec996f96dd78505c3 Mon Sep 17 00:00:00 2001 From: int2001 Date: Fri, 13 Dec 2024 08:32:15 +0000 Subject: [PATCH] Added 3.15 cols to adifhelper for export --- application/libraries/AdifHelper.php | 418 ++++++++++++++------------- 1 file changed, 214 insertions(+), 204 deletions(-) diff --git a/application/libraries/AdifHelper.php b/application/libraries/AdifHelper.php index 964ec7380..37d62fcfd 100644 --- a/application/libraries/AdifHelper.php +++ b/application/libraries/AdifHelper.php @@ -2,215 +2,225 @@ class AdifHelper { - public function getAdifLine($qso) { - $normalFields = array( - 'ADDRESS', - 'AGE', - 'A_INDEX', - 'ANT_AZ', - 'ANT_EL', - 'ANT_PATH', - 'ARRL_SECT', - 'AWARD_GRANTED', - 'AWARD_SUBMITTED', - 'BAND', - 'BAND_RX', - 'BIOGRAPHY', - 'CALL', - 'CHECK', - 'CLASS', - 'CLUBLOG_QSO_UPLOAD_STATUS', - 'CNTY', - 'COMMENT', - 'CONT', - 'CONTACTED_OP', - 'CONTEST_ID', - 'COUNTRY', - 'CQZ', - 'CREDIT_GRANTED', - 'CREDIT_SUBMITTED', - 'DARC_DOK', - 'DISTANCE', - 'DXCC', - 'EMAIL', - 'EQ_CALL', - 'EQSL_QSL_RCVD', - 'EQSL_QSL_SENT', - 'EQSL_STATUS', - 'FISTS', - 'FISTS_CC', - 'FORCE_INIT', - 'GRIDSQUARE', - 'HEADING', - 'IOTA', - 'ITUZ', - 'K_INDEX', - 'LAT', - 'LON', - 'LOTW_QSL_RCVD', - 'LOTW_QSL_SENT', - 'LOTW_STATUS', - 'MAX_BURSTS', - 'MODE', - 'MS_SHOWER', - 'NAME', - 'NOTES', - 'NR_BURSTS', - 'NR_PINGS', - 'OPERATOR', - 'OWNER_CALLSIGN', - 'PFX', - 'PRECEDENCE', - 'PROP_MODE', - 'PUBLIC_KEY', - 'HRDLOG_QSO_UPLOAD_STATUS', - 'QRZCOM_QSO_UPLOAD_STATUS', - 'QSLMSG', - 'QSL_RCVD', - 'QSL_RCVD_VIA', - 'QSL_SENT', - 'QSL_SENT_VIA', - 'QSL_VIA', - 'QSO_COMPLETE', - 'QSO_RANDOM', - 'QTH', - 'REGION', - 'RIG', - 'RST_RCVD', - 'RST_SENT', - 'RX_PWR', - 'SAT_MODE', - 'SAT_NAME', - 'SFI', - 'SILENT_KEY', - 'SKCC', - 'SOTA_REF', - 'WWFF_REF', - 'POTA_REF', - 'SRX', - 'SRX_STRING', - 'STATE', - 'STX', - 'STX_STRING', - 'SUBMODE', - 'SWL', - 'TEN_TEN', - 'TX_PWR', - 'UKSMG', - 'USACA_COUNTIES', - 'VUCC_GRIDS', - 'WEB', - ); + public function getAdifLine($qso) { + $normalFields = array( + 'ADDRESS', + 'AGE', + 'A_INDEX', + 'ANT_AZ', + 'ANT_EL', + 'ANT_PATH', + 'ARRL_SECT', + 'AWARD_GRANTED', + 'AWARD_SUBMITTED', + 'BAND', + 'BAND_RX', + 'BIOGRAPHY', + 'CALL', + 'CHECK', + 'CLASS', + 'CLUBLOG_QSO_UPLOAD_STATUS', + 'CNTY', + 'COMMENT', + 'CONT', + 'CONTACTED_OP', + 'CONTEST_ID', + 'COUNTRY', + 'CQZ', + 'CREDIT_GRANTED', + 'CREDIT_SUBMITTED', + 'DARC_DOK', + 'DISTANCE', + 'DXCC', + 'EMAIL', + 'EQ_CALL', + 'EQSL_QSL_RCVD', + 'EQSL_QSL_SENT', + 'EQSL_STATUS', + 'FISTS', + 'FISTS_CC', + 'FORCE_INIT', + 'GRIDSQUARE', + 'HEADING', + 'IOTA', + 'ITUZ', + 'K_INDEX', + 'LAT', + 'LON', + 'LOTW_QSL_RCVD', + 'LOTW_QSL_SENT', + 'LOTW_STATUS', + 'MAX_BURSTS', + 'MODE', + 'MS_SHOWER', + 'NAME', + 'NOTES', + 'NR_BURSTS', + 'NR_PINGS', + 'OPERATOR', + 'OWNER_CALLSIGN', + 'PFX', + 'PRECEDENCE', + 'PROP_MODE', + 'PUBLIC_KEY', + 'HRDLOG_QSO_UPLOAD_STATUS', + 'QRZCOM_QSO_UPLOAD_STATUS', + 'QSLMSG', + 'QSL_RCVD', + 'QSL_RCVD_VIA', + 'QSL_SENT', + 'QSL_SENT_VIA', + 'QSL_VIA', + 'QSO_COMPLETE', + 'QSO_RANDOM', + 'QTH', + 'REGION', + 'RIG', + 'RST_RCVD', + 'RST_SENT', + 'RX_PWR', + 'SAT_MODE', + 'SAT_NAME', + 'SFI', + 'SILENT_KEY', + 'SKCC', + 'SOTA_REF', + 'WWFF_REF', + 'POTA_REF', + 'SRX', + 'SRX_STRING', + 'STATE', + 'STX', + 'STX_STRING', + 'SUBMODE', + 'SWL', + 'TEN_TEN', + 'TX_PWR', + 'UKSMG', + 'USACA_COUNTIES', + 'VUCC_GRIDS', + 'WEB', + 'CNTY_ALT', + 'MY_CNTY_ALT', + 'MY_DARC_DOK', + 'DCL_QSLRDATE', + 'DCL_QSLSDATE', + 'MORSE_KEY_INFO', + 'MORSE_KEY_TYPE', + 'QSLMSG_RCVD', + ); - $dateFields = array( - 'EQSL_QSLRDATE', - 'EQSL_QSLSDATE', - 'LOTW_QSLRDATE', - 'LOTW_QSLSDATE', - 'QSLRDATE', - 'QSLSDATE', - 'CLUBLOG_QSO_UPLOAD_DATE', - 'HRDLOG_QSO_UPLOAD_DATE', - 'QRZCOM_QSO_UPLOAD_DATE', - ); + $dateFields = array( + 'EQSL_QSLRDATE', + 'EQSL_QSLSDATE', + 'LOTW_QSLRDATE', + 'LOTW_QSLSDATE', + 'QSLRDATE', + 'QSLSDATE', + 'CLUBLOG_QSO_UPLOAD_DATE', + 'HRDLOG_QSO_UPLOAD_DATE', + 'QRZCOM_QSO_UPLOAD_DATE', + 'DCL_QSLRDATE', + 'DCL_QSLSDATE', + ); - /** - Missing: - USER_DEFINED_0 - USER_DEFINED_1 - USER_DEFINED_2 - USER_DEFINED_3 - USER_DEFINED_4 - USER_DEFINED_5 - USER_DEFINED_6 - USER_DEFINED_7 - USER_DEFINED_8 - USER_DEFINED_9 - */ + /** + Missing: + USER_DEFINED_0 + USER_DEFINED_1 + USER_DEFINED_2 + USER_DEFINED_3 + USER_DEFINED_4 + USER_DEFINED_5 + USER_DEFINED_6 + USER_DEFINED_7 + USER_DEFINED_8 + USER_DEFINED_9 + */ - // Build ADIF fields + // Build ADIF fields - $line = ""; - foreach ($normalFields as $field) { - $line .= $this->getAdifFieldLine($field, $qso->{'COL_' . $field}); - } + $line = ""; + foreach ($normalFields as $field) { + $line .= $this->getAdifFieldLine($field, $qso->{'COL_' . $field}); + } - foreach ($dateFields as $field) { - if ($qso->{'COL_' . $field}) { - $date = strtotime($qso->{'COL_' . $field}); - $date = date('Ymd', $date); - $line .= $this->getAdifFieldLine($field, $date); - } - } + foreach ($dateFields as $field) { + if ($qso->{'COL_' . $field}) { + $date = strtotime($qso->{'COL_' . $field}); + $date = date('Ymd', $date); + $line .= $this->getAdifFieldLine($field, $date); + } + } - if ($qso->COL_FREQ != 0) { - $freq_in_mhz = $qso->COL_FREQ / 1000000; - $line .= $this->getAdifFieldLine("FREQ", $freq_in_mhz); - } + if ($qso->COL_FREQ != 0) { + $freq_in_mhz = $qso->COL_FREQ / 1000000; + $line .= $this->getAdifFieldLine("FREQ", $freq_in_mhz); + } - if ($qso->COL_FREQ_RX != 0) { - $freq_rx_in_mhz = $qso->COL_FREQ_RX / 1000000; - $line .= $this->getAdifFieldLine("FREQ_RX", $freq_rx_in_mhz); - } + if ($qso->COL_FREQ_RX != 0) { + $freq_rx_in_mhz = $qso->COL_FREQ_RX / 1000000; + $line .= $this->getAdifFieldLine("FREQ_RX", $freq_rx_in_mhz); + } - if (isset($qso->COL_TIME_ON) && (date('YmdHis',strtotime($qso->COL_TIME_ON)) != '-00011130000000')) { - $date_on = strtotime($qso->COL_TIME_ON); - $date_on = date('Ymd', $date_on); - $line .= $this->getAdifFieldLine("QSO_DATE", $date_on); + if (isset($qso->COL_TIME_ON) && (date('YmdHis',strtotime($qso->COL_TIME_ON)) != '-00011130000000')) { + $date_on = strtotime($qso->COL_TIME_ON); + $date_on = date('Ymd', $date_on); + $line .= $this->getAdifFieldLine("QSO_DATE", $date_on); - $time_on = strtotime($qso->COL_TIME_ON); - $time_on = date('His', $time_on); - $line .= $this->getAdifFieldLine("TIME_ON", $time_on); - } else { - $line .= $this->getAdifFieldLine("QSO_DATE", '19700101'); - $line .= $this->getAdifFieldLine("TIME_ON", '000000'); - } + $time_on = strtotime($qso->COL_TIME_ON); + $time_on = date('His', $time_on); + $line .= $this->getAdifFieldLine("TIME_ON", $time_on); + } else { + $line .= $this->getAdifFieldLine("QSO_DATE", '19700101'); + $line .= $this->getAdifFieldLine("TIME_ON", '000000'); + } - if (isset($qso->COL_TIME_OFF) && (date('YmdHis',strtotime($qso->COL_TIME_OFF)) != '-00011130000000')) { - $date_off = strtotime($qso->COL_TIME_OFF); - $date_off = date('Ymd', $date_off); - $line .= $this->getAdifFieldLine("QSO_DATE_OFF", $date_off); + if (isset($qso->COL_TIME_OFF) && (date('YmdHis',strtotime($qso->COL_TIME_OFF)) != '-00011130000000')) { + $date_off = strtotime($qso->COL_TIME_OFF); + $date_off = date('Ymd', $date_off); + $line .= $this->getAdifFieldLine("QSO_DATE_OFF", $date_off); - $time_off = strtotime($qso->COL_TIME_OFF); - $time_off = date('His', $time_off); - $line .= $this->getAdifFieldLine("TIME_OFF", $time_off); - } else { - $line .= $this->getAdifFieldLine("QSO_DATE_OFF", '19700101'); - $line .= $this->getAdifFieldLine("TIME_OFF", '000000'); - } + $time_off = strtotime($qso->COL_TIME_OFF); + $time_off = date('His', $time_off); + $line .= $this->getAdifFieldLine("TIME_OFF", $time_off); + } else { + $line .= $this->getAdifFieldLine("QSO_DATE_OFF", '19700101'); + $line .= $this->getAdifFieldLine("TIME_OFF", '000000'); + } - // "MY" information - $line .= $this->getAdifFieldLine("STATION_CALLSIGN", $qso->station_callsign); + // "MY" information + $line .= $this->getAdifFieldLine("STATION_CALLSIGN", $qso->station_callsign); - $line .= $this->getAdifFieldLine("MY_CITY", $qso->station_city); + $line .= $this->getAdifFieldLine("MY_CITY", $qso->station_city); - $line .= $this->getAdifFieldLine("MY_COUNTRY", $qso->station_country); + $line .= $this->getAdifFieldLine("MY_COUNTRY", $qso->station_country); - $line .= $this->getAdifFieldLine("MY_DXCC", $qso->station_dxcc); + $line .= $this->getAdifFieldLine("MY_DXCC", $qso->station_dxcc); - if (strpos($qso->station_gridsquare, ',') !== false ) { - $line .= $this->getAdifFieldLine("MY_VUCC_GRIDS", $qso->station_gridsquare); - } else { - $line .= $this->getAdifFieldLine("MY_GRIDSQUARE", $qso->station_gridsquare); - } + if (strpos($qso->station_gridsquare, ',') !== false ) { + $line .= $this->getAdifFieldLine("MY_VUCC_GRIDS", $qso->station_gridsquare); + } else { + $line .= $this->getAdifFieldLine("MY_GRIDSQUARE", $qso->station_gridsquare); + } - $line .= $this->getAdifFieldLine("MY_IOTA", $qso->station_iota); + $line .= $this->getAdifFieldLine("MY_IOTA", $qso->station_iota); - $line .= $this->getAdifFieldLine("MY_SOTA_REF", $qso->station_sota); + $line .= $this->getAdifFieldLine("MY_SOTA_REF", $qso->station_sota); - $line .= $this->getAdifFieldLine("MY_WWFF_REF", $qso->station_wwff); + $line .= $this->getAdifFieldLine("MY_WWFF_REF", $qso->station_wwff); - $line .= $this->getAdifFieldLine("MY_POTA_REF", $qso->station_pota); + $line .= $this->getAdifFieldLine("MY_POTA_REF", $qso->station_pota); - $line .= $this->getAdifFieldLine("MY_CQ_ZONE", $qso->station_cq); + $line .= $this->getAdifFieldLine("MY_CQ_ZONE", $qso->station_cq); - $line .= $this->getAdifFieldLine("MY_ITU_ZONE", $qso->station_itu); + $line .= $this->getAdifFieldLine("MY_ITU_ZONE", $qso->station_itu); - $line .= $this->getAdifFieldLine("MY_STATE", $qso->state); + $line .= $this->getAdifFieldLine("MY_STATE", $qso->state); - // See: https://adif.org/314/ADIF_314.htm#Sponsor_Defined_Code_Format - if ($qso->station_cnty) { - switch ($qso->station_dxcc) { + // See: https://adif.org/314/ADIF_314.htm#Sponsor_Defined_Code_Format + if ($qso->station_cnty) { + switch ($qso->station_dxcc) { case '6': case '110': case '291': @@ -219,10 +229,10 @@ class AdifHelper { default: $county = trim($qso->station_cnty); break; + } + } else { + $county = ''; } - } else { - $county = ''; - } $line .= $this->getAdifFieldLine("MY_CNTY", $county); @@ -246,24 +256,24 @@ class AdifHelper { $line .= $this->getAdifFieldLine("SIG_INFO", $qso->{'COL_SIG_INFO'}); } - /* - Missing: - MY_ANTENNA - MY_FISTS - MY_IOTA_ISLAND_ID - MY_LAT - MY_LON - MY_NAME - MY_POSTAL_CODE - MY_RIG - MY_STREET - MY_USACA_COUNTIES - */ + /* + Missing: + MY_ANTENNA + MY_FISTS + MY_IOTA_ISLAND_ID + MY_LAT + MY_LON + MY_NAME + MY_POSTAL_CODE + MY_RIG + MY_STREET + MY_USACA_COUNTIES + */ - $line .= "\r\n\r\n"; + $line .= "\r\n\r\n"; - return $line; - } + return $line; + } function getAdifFieldLine($adifcolumn, $dbvalue) { if ($dbvalue !== "" && $dbvalue !== null && $dbvalue !== 0) {