Commit graph

351 commits

Author SHA1 Message Date
Peter Goodhall
1aff7dcf50 Make logbook header and table responsive
Add responsive styles and restructure header markup for better mobile layout (flex column on small, row on md+; full-width diary button on small). Update echo_table_header_col() and echo_table_col() to accept an optional CSS class and apply it to th/td elements. Apply Bootstrap responsive utility classes (d-none d-sm-/d-md-/d-lg-table-cell) to hide less-important columns on smaller screens and adjust time column visibility. These changes improve readability on narrow viewports while preserving existing tooltips and badges.
2026-05-07 22:19:02 +01:00
Peter Goodhall
0a49b83318 Refactor timeline UI and details modal
Replace the old timeline dialog with a Bootstrap 5 modal (with HTMX support and jQuery fallback) and move AJAX content into the modal body. Add initTimelineDetailsTable to initialize/destroy DataTables for detail views and guard DataTable initialization when tables are absent. Revamp the timeline index: convert filters into a Bootstrap card with improved form layout, add Reset button, show a summary badge/count and a DXCC info alert for DXCC award, and embed the details modal markup. Convert timeline tables to responsive containers, use semantic <th> headers, and replace text links with accessible buttons that call displayTimelineContacts. Minor UI tweaks: change empty-result alert to warning and add a CSS class (menuOnResultTab) to the dropdown-menu in log_ajax for result-row actions.
2026-04-26 18:12:58 +01:00
Peter Goodhall
c3a5410805 Normalize county/state fields and use in queries
Normalize COL_CNTY/COL_STATE handling and use normalized expressions in queries to ensure consistent grouping/filtering and avoid mismatches.

- application/models/Counties.php: add normalized SQL expressions (trim/case/substring) and apply them to counting, grouping and ordering queries; filter out empty normalized states and adjust joins to compare normalized values.
- application/models/Logbook_model.php: normalize incoming $county/$state, add dxcc_entities join and selects, and use normalized WHERE clauses (case/trim and substring for 'ST, County' formats); also standardize band filter to COL_BAND != 'SAT'.
- application/views/view_log/partial/log_ajax.php: avoid undefined property notices by checking for name/end on the row object and use those values for Country and Flag display.

These changes address inconsistent imported county/state formats (e.g. "ST, County"), whitespace/case variations, and prevent PHP notices while keeping query semantics intact.
2026-03-24 16:04:23 +00:00
Peter Goodhall
14af3fda19 Support multiple POTA refs, DB + UI
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).
2026-03-24 14:32:17 +00:00
Peter Goodhall
69dd06c225 Add Quill editor styles to views
Add comprehensive Quill .ql-editor CSS (typography, spacing, headings, lists, blockquotes, pre/code, tables, images, links, hr) to notes/add.php, notes/edit.php and view_log/index.php to improve editor and rendered content readability and ensure consistent styling. Note: the inserted CSS in notes/edit.php appears to have a missing/ mis-nested closing brace which may break the stylesheet and should be corrected.
2026-03-09 14:02:15 +00:00
Peter Goodhall
f8dffa8776 Add image shortcodes and caption editing
Support inline diary images via shortcodes and improve notes UI. Introduces a Note::process_image_shortcodes() method (ID/caption lookup and modifiers like left/right/center/small/medium/large), and updates station diary rendering to process shortcodes and avoid duplicate image output. Adds an AJAX endpoint notes/update_image_caption with ownership checks to save image captions, plus client-side JS to edit/save captions from the note edit view. Refactors notes add/edit views: reorganized form into sections/accordion, Quill editor min-height, image upload tips, improved buttons and layout, and QSO summary layout tweaks.
2026-03-08 14:36:56 +00:00
Peter Goodhall
50c24aede1 Add public station diary & QSO filters
Introduce Public Station Diary feature and QSO filtering support.

- Add migrations: 255 adds public_station_diary_enabled option (default enabled), 256 adds qso_date_start, qso_date_end, qso_satellite_only columns to notes.
- Bump migration version to 256.
- Add controller actions (Options::public_diary, public_diary_save) and new options view to manage the public diary setting; add sidebar link.
- Extend Note model to persist QSO filter fields and provide new methods to fetch QSO lists/summaries for date ranges and satellite-only filtering; wire filter usage into summary generation.
- Update notes add/edit views to include QSO Summary Filters (date range + satellite-only).
- Add translations for the new options keys across multiple language files.
- Update public station diary listing view styling/path and minor content cleanup; other views updated to support feature.
- Remove obsolete cache files (.htaccess, index.html).

These changes enable admins to toggle a public station diary and let note authors control which QSOs are included in summaries via date ranges and SAT-only filtering.
2026-03-08 13:34:31 +00:00
Peter Goodhall
ee69b8ad74 Mirror diary form messages to modal footer
Add a dedicated footer message container and client-side logic to mirror form messages into the modal footer. Removed the `required` attribute from the quick logbook select, introduced `#diaryFormFooterMessages`, and added a MutationObserver + htmx:afterSwap listener to copy content from `#diaryFormMessages` to the footer. Also consolidated error rendering into a single HTML snippet and clear both message areas when the modal closes. This surfaces HTMX/server messages in the modal footer for better visibility and avoids duplicated message handling.
2026-03-08 11:53:52 +00:00
Peter Goodhall
dbed529f5d Require logbook for QSO summary; fix band ordering
Add numeric band sorting in Note model and make logbook selection required when including a QSO summary. Note model: select COL_BAND+0 as band_num and order by band_num to ensure proper numeric ordering. Views (notes/add, notes/edit, view_log/index): update labels and placeholder option text, mark the logbook <select> as required, adjust helper text, and add JS to toggle the required attribute and visibility based on the "Include QSO summary" checkbox (including setting initial state for validation).
2026-03-08 11:48:17 +00:00
Peter Goodhall
5d034d0963 Add public Station Diary with images & RSS
Introduce public Station Diary functionality: add global config flag, routes, controller, model changes, views and DB migrations. New migrations (252-254) add is_public/include_qso_summary, diary_images table and logbook_id on notes. Notes model updated to handle public flags, diary images, qso summaries, caching (per-user cache version), and helper methods for listing/counting public diary entries. New Stationdiary controller serves paginated public pages and RSS feed with caching. Notes controller updated to handle image uploads, attach images to diary entries, and provide an AJAX endpoint to delete images. Views updated to support public visibility options, logbook selector, image upload UI and Quill editor assets; routes and migration version bumped accordingly. Includes file upload example added to uploads/diary.
2026-03-08 11:42:41 +00:00
Peter Goodhall
a4ec01a8ea Add Station Diary modal and quick_add endpoint
Introduce a Station Diary UI and backend endpoint to allow quick note creation via HTMX. Added Notes::quick_add in the controller with form validation, note creation, success/error responses and a small JS form reset. Updated view_log/index to show a Station Diary button (when user_show_notes=1) and include the modal form that posts to notes/quick_add and renders messages into the modal.
2026-02-12 22:08:55 +00:00
Peter Goodhall
91196f855c Upgraded fontawesome, added Bluesky and updated social icons
Bluesky added from request from GM4ZJI
2024-11-20 21:52:52 +00:00
Danny
5e212ae4a5 Logbook ajax table: Grid square hint on Distance column 2024-09-03 10:01:29 +02:00
Peter Goodhall
195774e1a8 Removed redundant code 2024-05-28 17:20:47 +01:00
Emiliano Macedonio
121e5f7981 Added flags to QSO tables and in detail 2024-05-24 16:43:32 +02:00
Peter Goodhall
025b1de9fd [QSO View] If WAB Ref is inc in the Station Location show it in the tab 2024-05-15 16:18:32 +01:00
Patrick Burns
f28bc904ad undo one more minor change that was related to qso testing, will address it later 2024-04-07 14:20:39 -05:00
Patrick Burns
bfb39c0b1d undo qso changes, will address those later 2024-04-07 14:16:55 -05:00
Patrick Burns
238f1e66fa end to end testing 2024-04-05 15:36:16 -05:00
Patrick Burns
fdd4a2df8c realized my old branch/PR was started off of main and not dev, got a new one up now 2024-03-26 22:08:16 -05:00
Peter Goodhall
237f679674 Fixes search dropdown not appearing after editing
Fixes #2973
2024-03-18 14:18:18 +00:00
phl0
07bd0e6474
Add link for DOK districts 2024-03-09 08:10:28 +01:00
phl0
d38b275879
Add optical indicators 2024-02-22 10:57:36 +01:00
phl0
d8d87c6f94
Allow logging of Az and El (i.e. fix number format) 2024-02-22 10:25:31 +01:00
Peter Goodhall
ab90cf9745 Hopefully catches the dxccFlag null error when looking at QSO details 2024-02-19 15:33:58 +00:00
phl0
900b164d38
Show IOTA/SOTA ref on station location tab 2024-02-05 08:03:57 +01:00
phl0
57b1073746
Also use SIG + SIG_INFO in tweets and toots 2024-01-25 16:18:15 +01:00
phl0
0352d01366
Also take care of existing VUCC_GRIDS stored with whitespace 2024-01-16 00:16:58 +01:00
abarrau
3199660f9d add special name of this action menu (difference with top menu) 2023-12-22 11:14:25 +01:00
phl0
7dfc7765cb
Add country flags as icons to view QSO and Tweets/Toots 2023-12-19 17:57:53 +01:00
phl0
b7f4efa33f
Add SAT emoji to Tweet 2023-12-19 16:00:55 +01:00
phl0
7984b41538
Cover fall through 2023-12-19 15:56:37 +01:00
phl0
ddea5e4d31
also calc distance for gridlines/-corners and embed in tweet 2023-12-19 15:53:23 +01:00
Andreas Kristiansen
272c343a9c
Merge pull request #2821 from phl0/tenDigitGrids
Ten digit grids
2023-12-13 08:16:49 +01:00
Andreas Kristiansen
fa49d31b79
Merge pull request #2771 from phl0/Subdivisions
Naming of subdivisions
2023-12-13 08:16:02 +01:00
phl0
82ec9845c3
Loading of CI not needed 2023-12-13 08:12:57 +01:00
phl0
77cabef52a
We do not need to load Qra lib again 2023-12-13 08:10:13 +01:00
phl0
43cdd60a1b
Check for empty LoTW/eQSL dates and catch the error 2023-12-12 15:15:49 +01:00
phl0
6d647fe736
Add functions for secondary subdivisions 2023-12-12 14:31:39 +01:00
phl0
e23ad8950d
Merge branch 'dev' into Subdivisions 2023-12-12 08:29:51 +01:00
abarrau
6d39b92d5c add special class for all map 2023-12-09 10:44:26 +01:00
int2001
f5313eca63
Added QRZ-Support to Cloudlog 2023-12-07 16:30:40 +00:00
phl0
5b577a432a
PoC for subdivision naming 2023-12-04 14:43:07 +01:00
DJ3CE
cf2a50050c Add user-selectable 'Name' column 2023-11-26 18:37:08 +01:00
int2001
db87a75fb0
Fix tooltips to new BS5 Syntax 2023-11-26 08:41:30 +00:00
HB9HIL
d6edea7809 responsive dropdown 2023-11-17 22:25:30 +01:00
HB9HIL
17f39639be Merge remote-tracking branch 'upstream/dev' into bootstrap_5 2023-11-17 08:35:17 +01:00
int2001
5707809d0a
Fixing Error when "lastupload" isn't set 2023-11-17 07:20:02 +00:00
HB9HIL
4726846d8d 'badge-light' to 'text-bg-light' 2023-11-14 18:00:22 +01:00
HB9HIL
8c4bae8453 run migration script 2023-11-14 13:35:53 +01:00