From bd679e578a3179e8c0fc1e7115bf91fd42443db1 Mon Sep 17 00:00:00 2001 From: Andreas Kristiansen <6977712+AndreasK79@users.noreply.github.com> Date: Mon, 17 Nov 2025 10:07:45 +0100 Subject: [PATCH 1/3] [Advanced Logbook] Added distance filter --- application/controllers/Logbookadvanced.php | 4 +++- application/models/Logbookadvanced_model.php | 14 ++++++++++++++ application/views/logbookadvanced/index.php | 10 +++++++--- assets/js/sections/logbookadvanced.js | 1 + assets/js/sections/logbookadvanced_map.js | 3 ++- 5 files changed, 27 insertions(+), 5 deletions(-) diff --git a/application/controllers/Logbookadvanced.php b/application/controllers/Logbookadvanced.php index 238010819..f2d0e6d95 100644 --- a/application/controllers/Logbookadvanced.php +++ b/application/controllers/Logbookadvanced.php @@ -153,7 +153,8 @@ class Logbookadvanced extends CI_Controller { 'qsoids' => xss_clean($this->input->post('qsoids')), 'dok' => xss_clean($this->input->post('dok')), 'qrzSent' => xss_clean($this->input->post('qrzSent')), - 'qrzReceived' => xss_clean($this->input->post('qrzReceived')) + 'qrzReceived' => xss_clean($this->input->post('qrzReceived')), + 'distance' => xss_clean($this->input->post('distance')), ); } @@ -378,6 +379,7 @@ class Logbookadvanced extends CI_Controller { 'dok' => '*', 'qrzSent' => '', 'qrzReceived' => '', + 'distance' => '', 'ids' => json_decode(xss_clean($this->input->post('ids'))), 'qsoids' => xss_clean($this->input->post('qsoids')) ); diff --git a/application/models/Logbookadvanced_model.php b/application/models/Logbookadvanced_model.php index 0fd5d38c8..acc2358e3 100644 --- a/application/models/Logbookadvanced_model.php +++ b/application/models/Logbookadvanced_model.php @@ -409,6 +409,20 @@ class Logbookadvanced_model extends CI_Model { $conditions[] = "(coalesce(COL_GRIDSQUARE, '') = '' and coalesce(COL_VUCC_GRIDS, '') = '')"; } + + if ($searchCriteria['distance'] !== '*' && $searchCriteria['distance'] !== '') { + if (strtolower($searchCriteria['distance']) == '!empty') { + $conditions[] = "COL_DISTANCE <> ''"; + } else { + $conditions[] = "COL_DISTANCE >= ?"; + $binding[] = $searchCriteria['distance']; + } + } + + if ($searchCriteria['distance'] == '') { + $conditions[] = "coalesce(COL_DISTANCE, '') = ''"; + } + if (($searchCriteria['propmode'] ?? '') == 'None') { $conditions[] = "(trim(COL_PROP_MODE) = '' OR COL_PROP_MODE is null)"; } elseif ($searchCriteria['propmode'] !== '') { diff --git a/application/views/logbookadvanced/index.php b/application/views/logbookadvanced/index.php index e43386d15..9e5ddde6b 100644 --- a/application/views/logbookadvanced/index.php +++ b/application/views/logbookadvanced/index.php @@ -256,7 +256,7 @@ $options = json_decode($options); = __("Filters"); ?>