From 5e02b514aea36b8d9a0054fd334ed280f61cb209 Mon Sep 17 00:00:00 2001 From: int2001 Date: Fri, 5 Dec 2025 08:01:12 +0000 Subject: [PATCH] Use central function to generate ADIF-Header --- application/controllers/Adif.php | 13 ++----------- application/controllers/Api.php | 6 +----- application/libraries/AdifHelper.php | 9 +++++++++ application/views/adif/data/exportall.php | 10 ++-------- 4 files changed, 14 insertions(+), 24 deletions(-) diff --git a/application/controllers/Adif.php b/application/controllers/Adif.php index 91528a274..00cc48a6c 100644 --- a/application/controllers/Adif.php +++ b/application/controllers/Adif.php @@ -103,11 +103,7 @@ class adif extends CI_Controller { header('Content-Disposition: attachment; filename="'.$filename.'"'); // Output ADIF header // No chance to use exportall-view any longer, because of chunking logic - echo "Wavelog ADIF export\n"; - echo "3.1.6\n"; - echo "config->item('app_name')).">".$this->config->item('app_name')."\r\n"; - echo "optionslib->get_option('version')).">".$this->optionslib->get_option('version')."\r\n"; - echo "\n\n"; + echo $this->adifhelper->getAdifHeader($this->config->item('app_name'),$this->optionslib->get_option('version')); // Stream QSOs in 5K chunks $offset = 0; @@ -204,12 +200,7 @@ class adif extends CI_Controller { header('Content-Type: text/plain; charset=utf-8'); header('Content-Disposition: attachment; filename="'.$filename.'"'); - // Output ADIF header // No chance to use exportall-view any longer, because of chunking logic - echo "Wavelog ADIF export\n"; - echo "3.1.6\n"; - echo "config->item('app_name')).">".$this->config->item('app_name')."\r\n"; - echo "optionslib->get_option('version')).">".$this->optionslib->get_option('version')."\r\n"; - echo "\n\n"; + echo $this->adifhelper->getAdifHeader($this->config->item('app_name'),$this->optionslib->get_option('version')); // Collect QSO IDs for LoTW marking (since we can't access all at once) $qso_ids_for_lotw = []; diff --git a/application/controllers/Api.php b/application/controllers/Api.php index 6995c5353..c07cb6e01 100644 --- a/application/controllers/Api.php +++ b/application/controllers/Api.php @@ -453,11 +453,7 @@ class API extends CI_Controller { $offset = 0; // Start building ADIF content - $adif_content = "Wavelog ADIF export\n"; - $adif_content .= "3.1.6\n"; - $adif_content .= "config->item('app_name')).">".$this->config->item('app_name')."\r\n"; - $adif_content .= "optionslib->get_option('version')).">".$this->optionslib->get_option('version')."\r\n"; - $adif_content .= "\n\n"; + $adif_content = $this->adifhelper->getAdifHeader($this->config->item('app_name'),$this->optionslib->get_option('version')); do { // Calculate chunk size for this iteration diff --git a/application/libraries/AdifHelper.php b/application/libraries/AdifHelper.php index 40adf9895..c317fd210 100644 --- a/application/libraries/AdifHelper.php +++ b/application/libraries/AdifHelper.php @@ -262,6 +262,15 @@ class AdifHelper { return $line; } + function getAdifHeader($app_name,$version) { + $adif_header = "Wavelog ADIF export\n"; + $adif_header .= "3.1.6\n"; + $adif_header .= "".$app_name."\r\n"; + $adif_header .= "".$version."\r\n"; + $adif_header .= "\n\n"; + return $adif_header; + } + function getAdifFieldLine($adifcolumn, $dbvalue) { if ($dbvalue !== "" && $dbvalue !== null && $dbvalue !== 0) { return "<" . $adifcolumn . ":" . mb_strlen($dbvalue, "UTF-8") . ">" . $dbvalue . "\r\n"; diff --git a/application/views/adif/data/exportall.php b/application/views/adif/data/exportall.php index 9f2b6b603..6f5aadb9a 100644 --- a/application/views/adif/data/exportall.php +++ b/application/views/adif/data/exportall.php @@ -5,19 +5,13 @@ header('Content-Type: text/plain; charset=utf-8'); header('Content-Disposition: attachment; filename="'.$this->session->userdata('user_callsign').'-'.date('Ymd-Hi').'.adi"'); } -?> -Wavelog ADIF export -3.1.6 -config->item('app_name')); ?>>config->item('app_name')."\r\n"; ?> -optionslib->get_option('version')); ?>>optionslib->get_option('version')."\r\n"; ?> - - -load->is_loaded('AdifHelper')) { $CI->load->library('AdifHelper'); } +echo $this->adifhelper->getAdifHeader($CI->config->item('app_name'),$CI->optionslib->get_option('version')); + foreach ($qsos->result() as $qso) { echo $CI->adifhelper->getAdifLine($qso); }