diff --git a/application/controllers/Logbook.php b/application/controllers/Logbook.php index a4f6766e4..56d75669c 100644 --- a/application/controllers/Logbook.php +++ b/application/controllers/Logbook.php @@ -77,10 +77,14 @@ class Logbook extends CI_Controller { // Normalize the date only if it's not empty if (!empty($date)) { + // Characters '/' and ',' are not URL safe, so we replace + // them with '_' and '%'. Switch them back here. if (strpos($date, '_') !== false) { - // Replace slashes with dashes for URL processing $date = str_replace('_', '/', $date); } + if (strpos($date, '%') !== false) { + $date = str_replace('%', ',', $date); + } // Get user-preferred date format if ($this->session->userdata('user_date_format')) { $date_format = $this->session->userdata('user_date_format'); diff --git a/assets/js/sections/qso.js b/assets/js/sections/qso.js index c363a4e92..8772953b4 100644 --- a/assets/js/sections/qso.js +++ b/assets/js/sections/qso.js @@ -911,9 +911,14 @@ $("#callsign").on("focusout", function () { let find_callsign = $(this).val().toUpperCase(); let callsign = find_callsign; let startDate = $('#start_date').val(); + // Characters '/' and ',' are not URL safe, so we replace + // them with '_' and '%'. if (startDate.includes('/')) { startDate = startDate.replaceAll('/', '_'); } + if (startDate.includes(',')) { + startDate = startDate.replaceAll(',', '%'); + } startDate = encodeURIComponent(startDate); const stationProfile = $('#stationProfile').val();