Commit graph

5709 commits

Author SHA1 Message Date
Peter Goodhall
83a28957c0 Add migration for Cloudlog version 2.8.1
Introduces migration 236 to tag Cloudlog as version 2.8.1 and update related options. Also updates migration version in config to 236.
2025-11-26 12:35:24 +00:00
Peter Goodhall
20a7f80829 Update icons in navigation header menus
Replaced several Font Awesome icons in the header navigation dropdowns for improved clarity and consistency. Updated icons for QSL, eQSL, statistics, awards, export options, backup, hardware interfaces, and version information. This enhances the visual representation and user experience across the interface.
2025-11-25 15:41:23 +00:00
Peter Goodhall
83067807d0 Update icons for logging links in dashboard and header
Replaced Font Awesome icons for General Logging, Contest Logging, and Fast Log Entry links in both dashboard and header views to improve visual clarity and consistency.
2025-11-25 15:36:31 +00:00
Peter Goodhall
01cdafabed Update logging links and icons on dashboard
Changed quick logging links to include 'manual=0' query parameter and updated button icons for General and Contest Logging on the dashboard.
2025-11-25 15:34:27 +00:00
Peter Goodhall
b9fd7527b0 Update index.php 2025-11-25 15:33:16 +00:00
Peter Goodhall
a10452a2c0 Update menu labels and header dropdown order
Renamed 'Live QSO' to 'General Logging' and 'Live Contest Logging' to 'Contest Logging' in language file. Reordered contest and fast log entry links in the header dropdown for improved clarity.
2025-11-25 15:30:21 +00:00
Peter Goodhall
b1629eb71b Move backup menu item in header dropdown
Relocated the 'Backup Cloudlog content' menu item to appear after the webADIF export option in the header dropdown for improved menu organization.
2025-11-24 17:35:12 +00:00
Peter Goodhall
79cd4b4397 Add user-level backup and restore functionality
Introduces user-facing JSON+ZIP export and import for stations, logbooks, and QSOs, including preview and progress views. Updates backup controller to allow all authenticated operators (level 2+) and replaces legacy backup card with new workflow in the UI. Adds new views for import preview and progress, supporting selective import and conflict handling.
2025-11-24 17:30:40 +00:00
Peter Goodhall
2236d4360b Ensure user callsign is stored in uppercase
Updated User_model to store user_callsign in uppercase using strtoupper when creating or updating users. Also added a style to the edit form input to visually enforce uppercase entry for callsign.
2025-11-24 14:22:34 +00:00
Peter Goodhall
a5dc268b72 Handle unauthenticated user in Logbooks_model queries
Added checks to return empty results when no user is logged in, preventing SQL errors and ensuring consistent behavior for unauthenticated access in logbook-related queries.
2025-11-23 10:57:27 +00:00
Peter Goodhall
e759727f92 Remove DXCluster link from options sidebar
The DXCluster navigation link has been removed from the options sidebar. This streamlines the sidebar and may reflect a change in available features or navigation structure.
2025-11-22 17:55:30 +00:00
Peter Goodhall
a015061f95 Correct FPDF font path definition in Labels controller
Updated the FPDF_FONTPATH definition to remove the 'unifont/' subdirectory, as AddFont() automatically appends it. This ensures fonts are loaded correctly when generating PDFs.
2025-11-22 17:44:36 +00:00
Peter Goodhall
c3ade210cb Improve error handling in label generation
Adds logging of actual errors during label generation for better debugging. Updates error messages to include the specific exception message, and ensures FPDF_FONTPATH is only defined if not already set.
2025-11-22 17:44:03 +00:00
Peter Goodhall
a2255a081c Define FPDF font path before PDF creation
Added a definition for FPDF_FONTPATH to ensure the correct font directory is set before creating the PDF object in the Labels controller.
2025-11-22 17:42:18 +00:00
Peter Goodhall
8131bbb62d Improve radio status loading and UI feedback
Radio status now loads immediately on page load and updates every 2 seconds, with a loading spinner shown until data is available. The radio index page UI has been enhanced for better clarity, accessibility, and user feedback, including improved alert styling and more informative icons.
2025-11-22 17:36:26 +00:00
Peter Goodhall
500e0dc672 Revamp API help page UI and actions
Improved the layout and styling of the API help page, adding a header with quick-create buttons for API keys, enhanced table responsiveness, and updated action buttons with icons. Added better feedback for empty API key lists and improved alert handling for notices.
2025-11-22 17:29:04 +00:00
Peter Goodhall
cab4f64673 Improve QSL print UI and table styling
Enhanced the QSL print page layout with better Bootstrap styling, icons, and improved message alerts. Updated the QSO table for better readability and responsiveness, added icons to action buttons, and refined the overall user interface for a more modern look.
2025-11-22 17:27:56 +00:00
Peter Goodhall
55abc32b75 Improve labels index UI and table formatting
Refactored the labels index view to enhance layout and styling, including improved card headers, table responsiveness, and icon usage. Added better alert messages and reorganized action buttons for label and paper types, making the interface more user-friendly and visually consistent.
2025-11-22 17:23:36 +00:00
Peter Goodhall
fb4f3877de Implement natural callsign sorting in label queries
Replaces standard callsign ordering with natural sorting by splitting callsigns into prefix, number (padded), and suffix. This improves the order of QSO label results for better readability and organization.
2025-11-22 17:21:00 +00:00
Peter Goodhall
4282b81172 Add bold callsign styling to label PDF output
Introduces Add_Label_With_Bold_Callsign to render the callsign in bold and larger font on label PDFs. Updates font path to use unifont, adds DejaVuSans-Bold font files, and modifies label generation to use the new method for improved visual emphasis of callsigns.
2025-11-22 17:17:11 +00:00
Peter Goodhall
ac27e6a653 Add welcome email feature for new and existing users
Introduces functionality to send a welcome email with credentials to new users upon creation and allows admins to resend a reminder email (without password) to existing users. Adds email templates, UI options for sending emails, and improves user management interface with new actions and enhanced layout.
2025-11-22 15:23:47 +00:00
Peter Goodhall
476b59abc4 Add logbook sharing email notification
Introduces email notifications when a logbook is shared with a new user, including a new email template and improved error logging for email sending. Also enhances the test email UI with a loading spinner and updates error messages for better clarity.
2025-11-22 15:09:44 +00:00
Peter Goodhall
f2b8a3eeaa Redirect to edit page after logbook creation
After creating a new logbook, users are now redirected to the edit page for the newly created logbook instead of the logbooks list. The add method in Logbooks_model now returns the new logbook ID to support this change.
2025-11-22 14:38:53 +00:00
Peter Goodhall
8697f4504e Reorder country badge after worked status icon
Moved the country name badge to appear after the worked status icon in the DX cluster callsign display for improved clarity and logical grouping of status indicators.
2025-11-21 17:52:16 +00:00
Peter Goodhall
e6e1ac4fd8 Add 'B' to csadditions regex for DXCC lookup
Updated the csadditions regular expression in Logbook_model.php and Dxcc.php to include 'B' as a valid suffix for DXCC lookup and call sign parsing. This change ensures callsigns with '/B' are properly recognized in DXCC-related functions.
2025-11-21 17:50:32 +00:00
Peter Goodhall
a3669f92ea Add migration for Cloudlog version 2.8.0
Introduces migration 235 to update the application version to 2.8.0 and trigger the version info dialog for users. Updates migration configuration to use the new migration version.
2025-11-21 13:46:44 +00:00
Peter Goodhall
b287af642b Add multi-user logbook sharing and permissions
Introduces logbook sharing with read, write, and admin permission levels via a new station_logbooks_permissions table and related migration. Updates controllers, models, and views to support managing collaborators, restricts sensitive actions to owners/admins, and adds UI for sharing management. Also adds user lookup by callsign and improves logbook/station location access logic.
2025-11-19 15:37:34 +00:00
Peter Goodhall
edf58dabee Add column widths and country badge to DX table
Set explicit widths for DX cluster table columns and display a country name badge in the DX Call column when available for improved readability and user experience.
2025-11-18 13:22:34 +00:00
Peter Goodhall
e5f815b772 Handle errors when fetching DXpedition data
Added error handling to dxcclist controller to manage failures when fetching or decoding DXpedition data. Updated the view to display error messages to users if data retrieval fails or returns invalid data.
2025-11-18 13:16:22 +00:00
Peter Goodhall
d9e0504e7a Improve error handling for DXpedition data fetch
Added error checks when fetching DXpedition data in Workabledxcc_model and updated Dashboard controller to only sort valid records. The upcoming_dxccs view now displays a warning message if an error occurs, improving user feedback and robustness.
2025-11-18 13:14:41 +00:00
Peter Goodhall
0e78b008f2 Improve EME initials empty state message
Replaces the generic 'Nothing found!' alert with a more informative message explaining EME Initials and encouraging users to log EME contacts.
2025-11-18 11:48:46 +00:00
Peter Goodhall
c11ec97526 Add mode switch to LIVE/POST badges and update menu
LIVE and POST badges in contesting and QSO views are now clickable to switch modes. Redundant menu items for post QSO and contest logging have been removed from the header for a cleaner navigation.
2025-11-18 11:46:28 +00:00
Peter Goodhall
42018f8233 Add Bandmap button and popup to contesting page
Introduces a 'Bandmap' button to the contesting interface, allowing users to open the DX Cluster Bandmap in a new popup window. Also adds a placeholder for radio status and refactors button layout for improved UI.
2025-11-18 11:38:28 +00:00
Peter Goodhall
16e465831e Show frequency range on bandmap view update
Adds code to update the displayed frequency range when the bandmap view is changed, improving user feedback on the current visible frequency segment.
2025-11-17 22:42:22 +00:00
Peter Goodhall
d26068bd3b Add DXCC worked status and radio QSY to DX Cluster
Enhances DX Cluster by showing DXCC entity and worked status per spot, including new band/country indicators. Adds radio selection and QSY functionality, updates UI with improved filters and spot marker styling, and provides user feedback for frequency actions.
2025-11-17 22:40:07 +00:00
Peter Goodhall
38b3003f90 Add callsign worked status check to DX Cluster
Introduces a new API endpoint in Dxcluster.php to batch check if callsigns have been worked, with band-specific and overall status. Updates the DX Cluster view to display worked status icons next to callsigns and asynchronously fetches status for visible spots, improving user awareness of worked contacts.
2025-11-17 17:31:20 +00:00
Peter Goodhall
07b4ccfcdc Add band and RBN spot filters to DX Cluster view
Introduces UI controls to filter DX spots by band and to hide RBN spots, with user preferences saved in localStorage. Filtering logic is implemented in JavaScript, including band detection from frequency and RBN spot identification.
2025-11-17 17:20:55 +00:00
Peter Goodhall
1ffc695e8d Add satellite name and mode autocomplete to QSO edit
Enhanced the QSO edit dialog to use datalist autocompletion for satellite name and mode fields. Satellite data is loaded from JSON, and selecting a satellite/mode updates related frequency, band, and propagation fields automatically.
2025-11-17 17:12:04 +00:00
Peter Goodhall
09c35e5f9c
Update application/migrations/233_tag_2_7_8.php
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2025-11-15 15:48:42 +00:00
Peter Goodhall
9587aeaffc Add migration to tag Cloudlog as version 2.7.8
Introduces migration 233 to update the application version to 2.7.8 and trigger the version info dialog for users. Updates the migration configuration to use the new migration version.
2025-11-15 15:43:19 +00:00
Peter Goodhall
45528ee293 Add new gridsquares by band to monthly report
Introduces per-band breakdown of new gridsquares in the monthly report, including model, controller, and view changes. The report now displays new gridsquares grouped by band, as well as improved details for new DXCCs and satellite activity breakdowns.
2025-11-14 17:49:25 +00:00
Peter Goodhall
4e657094f8 Separate SAT/EME DXCC reporting from band-based stats
Updated Monthlyreport_model to distinguish Satellite and EME DXCC entities from terrestrial bands, grouping them separately and including callsign/mode details. Modified report view to filter and display terrestrial, satellite, and EME DXCCs in distinct sections with improved formatting and additional QSO info.
2025-11-14 17:40:27 +00:00
Peter Goodhall
1ee55d3739 Add mode and satellite info to monthly report
Enhances the monthly report to display QSO mode and satellite name for new DXCCs and grids. Adds a satellite breakdown table showing QSOs per satellite and their percentage of total satellite QSOs. Improves data structure in the model to support these features and updates the view for clearer presentation.
2025-11-14 17:33:08 +00:00
Peter Goodhall
f7e03cc52b Optimize grid 'new' checks with historical data caching
Replaced repeated database queries for grid 'new' checks with pre-built in-memory caches, significantly improving performance by reducing hundreds of queries to a few. Added build_historical_caches() to load all relevant historical grid data at once and refactored is_grid_new, is_grid_new_for_prop, and is_grid_new_for_hf to use these caches for instant lookups.
2025-11-14 17:13:11 +00:00
Peter Goodhall
36ae819a22 Show callsign for new DXCC and grid entries in report
Adds callsign information to new DXCC and grid entries in the monthly report, both in the backend data and frontend display. Also updates JSON export to include a filename for downloads. This provides more detailed context for each new entity or grid worked during the month.
2025-11-14 17:11:18 +00:00
Peter Goodhall
4449a91634 Improve grid newness checks for VUCC and gridsquare
Refactored is_grid_new, is_grid_new_for_prop, and is_grid_new_for_hf to more accurately check for new grids by matching the first 4 characters of COL_GRIDSQUARE and parsing COL_VUCC_GRIDS. This ensures grids are not considered new if present in either field, improving report accuracy.
2025-11-14 16:54:00 +00:00
Peter Goodhall
ad6dd809bb Normalize gridsquare processing to 4 characters
Updated gridsquare and VUCC grid handling to consistently use only the first 4 characters in all relevant methods. Also modified country selection to use MAX(COL_COUNTRY) and group by COL_DXCC for improved aggregation.
2025-11-14 16:46:58 +00:00
Peter Goodhall
03390ed2e8 Optimize DXCC entity queries in monthly report model
Replaced use of distinct() with MAX(COL_COUNTRY) in select statements to group DXCC entities more efficiently. This change improves query performance and ensures correct aggregation of country names in monthly report generation.
2025-11-14 16:41:55 +00:00
Peter Goodhall
66e2376ac4 Add monthly report feature for amateur radio activity
Introduces a new Monthlyreport controller, model, and views to generate comprehensive monthly activity reports for amateur radio logbooks. The feature includes summary statistics, new DXCC entities and gridsquares, breakdowns by mode, band, and propagation, and export options in JSON and text formats for AI/blog post generation. Also adds a navigation link to the header for easy access.
2025-11-14 16:39:56 +00:00
Peter Goodhall
d1378a1deb Add error handling to get_most_worked method
Wrapped database queries in a try-catch block to log errors and prevent failures in the get_most_worked method. Also improved null checks and result array initialization for robustness.
2025-11-14 14:41:36 +00:00