Validate and harden SIG handling across controllers and views. Awards: trim and validate requested SIG type, guard against empty types and wrap SIG data loading in try/catch with error logging and user notice. Callhistory: tighten input trimming and validation for proposed SIG info, reject proposals without membership numbers and enforce per-organization SIG-info rules (e.g. numeric for CWOPS). Add scan_remove action to perform reverse/bulk SIG clears for matched QSOs, and filter/validate batch changes before applying. Improve CSV/header parsing by normalizing header keys, aligning rows to headers (handles N1MM !!Order!! cases), extracting exch1 robustly, and adding helpers (looks_like_callsign, is_valid_sig_info_for_organization). View: add Reverse Bulk SIG Update UI, confirmation modal and JS helpers, and convert several forms to use JS-driven confirm dialogs. Misc: various trimming/safety fixes and UX messages.
Add support for comma-separated POTA references across the app: bump migration version to 259 and add migration 260 to expand COL_MY_POTA_REF and station_pota to VARCHAR(255). Introduce Pota::split_refs and collect_refs_from_rows to normalize and aggregate multiple refs; refactor Pota counts to compute unique refs per band/mode. Normalize station_pota when saving in Stations and Logbook_model (uses normalize_pota_refs), and adjust POTA search to match refs inside comma-separated values. Update views to render multiple POTA links and hashtags, and add Selectize-based autocomplete for station POTA input on create/edit forms. Also minor change to user_owns_station query (removed user_id where clause).
Enhanced the WWFF awards page with band, mode, and QSL type filters, quick preset buttons, and a summary section showing worked/confirmed parks and milestone progress. Updated the controller to handle filter input and summary data, and extended the model with methods for filtered queries and statistics.
Introduced a new controller method sigexportcsv() to export SIG QSO data as a CSV file. Added a corresponding button in the SIG QSO list view to allow users to download the CSV export.
Introduces filtering by band, mode, and confirmation status to the SIG awards section in Awards.php, including a filter summary helper. Updates all supported language files to add translations for the new SIG award filters, table headers, and related UI elements.
Introduces band, mode, and confirmed-only filters to the Worked All Britain (WAB) award view and details AJAX endpoint. Updates the controller, model, and view logic to support filtering, and adds new localized strings for WAB award UI elements in multiple languages. Also ensures the correct script is loaded for the WAB section and improves the Bands model to check for field existence before filtering by award.
Replaces the old SOTA model with a new Sota_model, adds CSV-based summit metadata caching, and introduces new controller endpoints and view components for SOTA table, stats, and map fragments. The SOTA award page now supports filtering, improved statistics, and interactive mapping using summit coordinates. Updates .gitignore to include the new SOTA CSV, and refactors SOTA data refresh logic for reliability and maintainability.
Introduces a new POTA awards dashboard with HTMX-powered filtering, statistics, progress bars, and a Leaflet map of worked parks. Adds new controller endpoints, model methods for filtered queries and park metadata, and modular view components for table, stats, progress, and map. Updates language files for new stats labels and enhances the update process to cache the full POTA parks CSV for richer features.
Refactored get_continent_qsos to use a single SQL query for fetching DXCC entities and their worked/confirmed status, replacing multiple per-entity queries. This improves performance and simplifies the code.
Introduces DXCC statistics and continent breakdown features to the awards page, including new controller endpoints for DXCC QSOs, QSOs by status, and continent QSOs. Updates the DXCC model to provide continent and milestone statistics, and enhances the awards view with summary cards, continent progress, table search, sorting, and modal dialogs for QSO details.
Updated gridsquare validation to allow multiple comma-separated gridsquares for VUCC awards. Each gridsquare is now individually validated for correct format, improving input flexibility and error handling.
Enhanced input validation for gridsquare and band parameters in Awards controller to prevent invalid data and potential abuse. Updated Logbook_model to use parameterized queries and early return for empty logbook relationships, improving security and reliability of VUCC QSO details retrieval.
Squashed commit of the following:
commit 91b55288edee8cdae93570212e0e94c3cc2e66ff
Author: phl0 <github@florian-wolters.de>
Date: Mon Jan 16 14:59:52 2023 +0100
Add link to DD3AH map
commit 11149f8202bb118d635b952512de4f4456c1789a
Author: phl0 <github@florian-wolters.de>
Date: Mon Jan 16 14:29:37 2023 +0100
Add datatable
commit fc768b32bc256c12668bb1c095184e56edbb2d25
Author: phl0 <github@florian-wolters.de>
Date: Mon Jan 16 14:06:38 2023 +0100
Remove old code
commit b8dfe8566fdc8b20a105b7120faeff4a054b4166
Author: phl0 <github@florian-wolters.de>
Date: Sun Jan 15 23:13:09 2023 +0100
Filter summary for DOK/SDOK and remove empty lines
commit 5d081a2f7dacd0da8761b7e06a253a6e4050b6c4
Author: phl0 <github@florian-wolters.de>
Date: Sun Jan 15 22:55:46 2023 +0100
Remove not worked for now
commit 00e9354a5f0be9d40ca3b16e29dbf1728b7d2875
Author: phl0 <github@florian-wolters.de>
Date: Sun Jan 15 22:53:17 2023 +0100
Include SAT QSOs in totals
commit c1dd7e131ee750b647d4ba802c5aa7af742bdea3
Author: phl0 <github@florian-wolters.de>
Date: Sun Jan 15 17:16:30 2023 +0100
Use worked DOKs from DB instead of list from file
commit 5e60dc51b5b6ea12bf0109847967c80b0f31e79a
Author: phl0 <github@florian-wolters.de>
Date: Fri Jan 13 14:59:27 2023 +0100
Use QSL only for confirmed QSOs
commit 26c03d9a62492bcbfdfdfb5ec1b6d72e61134bce
Author: phl0 <github@florian-wolters.de>
Date: Mon Jan 9 16:40:37 2023 +0100
Add filter to QSO details popup
commit 20b704aa853c806b0739ac9bd3d4a6082987fb9c
Author: phl0 <github@florian-wolters.de>
Date: Mon Jan 9 15:25:35 2023 +0100
Forgot to delete replaced part of code
commit 574a1ebd17625f508ac40cb87b927efdc9d9f998
Author: phl0 <github@florian-wolters.de>
Date: Mon Jan 9 15:20:21 2023 +0100
Hide NM as just a marker for no DOK at all
commit 2b5c2ad8e149c370e036fdfc2f978f411bc11ea7
Author: phl0 <github@florian-wolters.de>
Date: Thu Jan 5 22:49:03 2023 +0100
Remove debug statement
commit 39406b96a3ec8f98ec8548156b83016d68cb6897
Author: phl0 <github@florian-wolters.de>
Date: Thu Jan 5 22:48:06 2023 +0100
Add option for eQSL
commit 2de47e79f232a8505e951366c557b136c6b6d28d
Author: phl0 <github@florian-wolters.de>
Date: Thu Jan 5 15:27:10 2023 +0100
Rework DOK stats