From aaa97295e6c211e225f712b9663afdfa4bed8129 Mon Sep 17 00:00:00 2001 From: Hugo Silva Date: Wed, 3 Jan 2024 13:28:12 +0000 Subject: [PATCH] Handle WWFF's specific and sig fields on QSO object, and display refs accordingly --- src/QSLManager/QSO.php | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/src/QSLManager/QSO.php b/src/QSLManager/QSO.php index 19648c38..5296a9d5 100644 --- a/src/QSLManager/QSO.php +++ b/src/QSLManager/QSO.php @@ -31,6 +31,7 @@ class QSO private string $deSigInfo; private string $deIOTAIslandID; private string $deSOTAReference; + private string $deWWFFReference; /** Awards */ private string $cqzone; private string $state; @@ -163,6 +164,7 @@ class QSO $this->deSigInfo = $data['station_sig_info'] ?? ''; $this->deIOTAIslandID = $data['COL_MY_IOTA_ISLAND_ID'] ?? ''; $this->deSOTAReference = $data['station_sota'] ?? ''; + $this->deWWFFReference = $data['station_wwff'] ?? ''; $this->deVUCCGridsquares = $data['COL_MY_VUCC_GRIDS'] ?? ''; @@ -841,6 +843,7 @@ class QSO private function getFormattedDeRefs(): string { + $includedInRefs=[]; $refs = []; if ($this->deVUCCGridsquares !== '') { $refs[] = $this->deVUCCGridsquares; @@ -859,14 +862,21 @@ class QSO if ($this->deSOTAReference !== '') { $refs[] = "SOTA:" . $this->deSOTAReference; } + if ($this->deWWFFReference !== '') { + $includedInRefs[] = "WWFF"; + $refs[] = "WWFF:" . $this->deWWFFReference; + } if ($this->deSig !== '') { - $refs[] = $this->deSig . ":" . $this->deSigInfo; + if (!in_array($this->deSig, $includedInRefs)) { + $refs[] = $this->deSig . ":" . $this->deSigInfo; + } } return trim(implode(" ", $refs)); } private function getFormattedDxRefs(): string { + $includedInRefs=[]; $refs = []; if ($this->dxVUCCGridsquares !== '') { $refs[] = '' . $this->dxVUCCGridsquares . ' ' .$this->getQrbLink($this->deGridsquare, $this->dxVUCCGridsquares, $this->dxGridsquare); @@ -880,10 +890,13 @@ class QSO $refs[] = "POTA: " . '' . $this->dxPOTAReference. ''; } if ($this->dxWWFFReference !== '') { + $includedInRefs[] = "WWFF"; $refs[] = "WWFF: " . '' . $this->dxWWFFReference. ''; } if ($this->dxSig !== '') { - $refs[] = $this->dxSig . ":" . $this->dxSigInfo; + if (!in_array($this->dxSig, $includedInRefs)) { + $refs[] = $this->dxSig . ":" . $this->dxSigInfo; + } } if ($this->dxDARCDOK !== '') { $refs[] = "DOK:" . $this->dxDARCDOK;