Commit graph

5741 commits

Author SHA1 Message Date
Peter Goodhall
e572821b96 Add Personal Propagation Advisor feature
Introduces the Personal Propagation Advisor, allowing users to analyze their own QSO data to determine the best times, bands, and modes for working specific DXCC entities. Adds a new controller, model methods, view, JavaScript, and language strings in multiple languages. Updates navigation and footer to support the new feature.
2026-01-05 22:14:00 +00:00
Peter Goodhall
44fbfd4aab Pass second parameter to getAdifLine in Logbook_model
Updated the call to getAdifLine in Logbook_model to include a second parameter set to true. This may enable additional functionality or formatting in the ADIF line generation for Clublog integration.
2026-01-03 21:34:27 +00:00
Peter Goodhall
0c7b919e4f Update satellite mapping in lotw_satellite_map
Added mappings for SONATE-2, ASRTU-1 (AO-123), and TEVEL2-3 satellites to improve satellite name resolution in the lotw_satellite_map function.
2026-01-03 18:31:24 +00:00
Peter Goodhall
6a8f8a85f3 Fix indentation for lotw_satellite_map comment block
Corrected the indentation of the comment block for the lotw_satellite_map function to improve code readability and maintain consistent formatting.
2026-01-03 18:28:59 +00:00
Peter Goodhall
fb5afabed9 Remove strict type check in satellite name search
The third parameter in array_search was set to true, enforcing strict type comparison. This has been removed to allow non-strict comparison, which may improve matching for satellite names.
2026-01-03 18:28:08 +00:00
Peter Goodhall
b368cba876 Enforce write permissions for QSO modifications
Replaced checks for QSO accessibility with stricter write permission checks across controllers and models. Added a new check_qso_is_writable method to Logbook_model to ensure only authorized users can modify or delete QSOs, including shared logbook scenarios. Updated QSO, Qsl_model, and Sstv_model to use the new permission logic for all write operations.
2025-12-23 11:06:19 +00:00
Peter Goodhall
30ee758cce Add migration for Cloudlog version 2.8.4
Introduces migration 240 to update the application version to 2.8.4 and trigger the version info dialog for users. Updates migration configuration to reflect the new version.
2025-12-23 10:49:18 +00:00
Peter Goodhall
1a62e400af Add embed widget modal and attribution for logbooks
Introduced an 'Embed Code' modal in the logbooks index to allow users to easily copy iframe code for embedding their logbook widget. Also added a 'Powered by Cloudlog' attribution to the widget view for better visibility and credit.
2025-12-22 15:04:03 +00:00
Peter Goodhall
d9e0fe0900 Improve QSO access checks and error handling
Enhanced the QSO access logic to allow access if the QSO belongs to the user or is part of a user's active logbook, including shared permissions. Added a guard in the controller to prevent accessing missing or inaccessible QSOs, redirecting with a notice if access is denied.
2025-12-20 22:03:12 +00:00
Peter Goodhall
3d77c3d4a0 Revert "Handle missing or inaccessible QSO in logbook view"
This reverts commit 3c2d8461cb.
2025-12-20 21:56:30 +00:00
Peter Goodhall
1583590ecf Improve logbook ownership checks and permissions
Updated Logbooks controller to use profile_clean for station lookup and added a notice for missing stations. Enhanced Setup_model to count logbooks a user owns or has permissions for, ensuring accurate logbook statistics for users with shared access.

Fixes #3389
2025-12-20 21:50:21 +00:00
Peter Goodhall
1aeec6e72d Handle missing station_callsign in QRZ import
Added a check and error log for missing station_callsign during QRZ import. This helps identify records with incomplete data and prevents potential issues when processing QSOs.
2025-12-20 11:25:58 +00:00
Peter Goodhall
e78dedc70e Add checks for entity name in DXCC lookup
Wrapped assignments of 'dxcc_name' with checks to ensure the entity is an array and contains a 'name' key. This prevents potential errors if the entity lookup fails or returns unexpected data.
2025-12-20 11:14:31 +00:00
Peter Goodhall
3c2d8461cb Handle missing or inaccessible QSO in logbook view
Adds a check to ensure that if a QSO is not found or not accessible, the user is redirected to the dashboard with a notice. This prevents errors when attempting to access non-existent or unauthorized QSOs.
2025-12-20 11:10:52 +00:00
Peter Goodhall
429d23fef4 Fix undefined index error for DXCC entity name
Added a check to ensure the DXCC entity is an array and contains a 'name' key before assigning 'dxcc_name' to prevent undefined index errors.
2025-12-18 17:39:42 +00:00
Peter Goodhall
78592547dd Add migration for Cloudlog version 2.8.3
Introduces migration 239 to update the application version to 2.8.3 and trigger the version info dialog for users. Updates the migration version in the configuration to 239.
2025-12-17 17:25:28 +00:00
Peter Goodhall
20a8f28cfb Update badge tooltip for manual mode switch
Changed the tooltip text for the LIVE badge from 'Switch to POST mode' to 'Switch to Manual mode' to better reflect the action performed when switching modes.
2025-12-12 18:04:47 +00:00
Peter Goodhall
43cd95dc65 Adjust badge size and padding in QSO index view
Reduced the font size and padding of the LIVE and POST mode badges for a more compact appearance in the QSO index page.
2025-12-12 18:04:12 +00:00
Peter Goodhall
fb25861a51 Improve unsaved changes warning and add custom leave modal
Enhanced the unsaved changes detection to show a custom Bootstrap modal when navigating away from QSO entry via internal links, while retaining native browser dialogs for external navigation. Refactored the LIVE/POST mode switch to avoid triggering the beforeunload warning. Added a custom modal for confirming navigation away from QSO entry, and updated related JavaScript logic for better user experience.
2025-12-12 14:54:38 +00:00
Peter Goodhall
8f7902e4e9 Revert "Skip CAT updates when manual logging is enabled"
This reverts commit 8c6fc6b720.
2025-12-12 14:31:42 +00:00
Peter Goodhall
8c6fc6b720 Skip CAT updates when manual logging is enabled
Added a check for the 'manual' URL parameter to bypass CAT data updates and reset the UI when manual QSO entry is active. This ensures that CAT updates do not interfere with manual logging workflows.
2025-12-12 14:29:39 +00:00
Peter Goodhall
3acfa64e57 Add migration for Cloudlog version 2.8.2
Introduces migration 238 to update the application version to 2.8.2 and trigger the version info dialog for users. Updates the migration version in the configuration to 238.
2025-12-10 13:25:11 +00:00
Peter Goodhall
c88c2435bf Remove custom date filter from QRZ data download
Simplifies the QRZ data download process by removing the custom date selection logic. Now, all QRZ data is downloaded regardless of the date specified in the request.
2025-12-09 21:38:49 +00:00
Peter Goodhall
f99a10e13b Enhance options UI with icons and improved layout
Added FontAwesome icons to options pages and sidebar for better visual distinction. Improved the options index page with overview cards for each settings category. Updated CSS for active and hover states in the options sidebar, providing a more modern and user-friendly interface. Added a subscription management link to the header if configured.
2025-12-09 16:23:21 +00:00
Peter Goodhall
2bd503cdcd Add support for managed email configuration
Introduces logic to detect and enforce centrally managed email settings. When managed, email options are displayed as read-only and cannot be changed by users; attempts to save changes are blocked with a notice. The email options view now conditionally renders a read-only summary and test email form if management is enabled.
2025-12-09 16:09:15 +00:00
Peter Goodhall
9fe5b808a5 Deduplicate LoTW users by callsign during import
Changed the import logic to deduplicate LoTW users by callsign, keeping only the latest timestamp for each callsign. Updated batch insertion to process only unique callsigns and improved reporting to show both total records read and unique callsigns inserted.
2025-12-02 22:58:56 +00:00
Peter Goodhall
7bdd3386b7 Use latest LoTW upload per callsign in joins
Replaces direct joins to lotw_users with subqueries that select the latest (MAX) lastupload per callsign in Distances_model, Logbook_model, and Logbookadvanced_model. This ensures only the most recent LoTW upload per callsign is joined, improving data accuracy and preventing duplicate join results.
2025-12-02 22:47:19 +00:00
Peter Goodhall
307c87ea48 Optimize LOTW user join in logbook query
Replaces direct join with lotw_users table by joining a subquery that selects the latest lastupload per callsign. This improves performance and ensures only the most recent LOTW upload date is included for each callsign.
2025-12-02 22:43:19 +00:00
Peter Goodhall
0848a9b4c0 Add open registration and public signup feature
Introduces open registration settings in the options area, allowing administrators to enable or disable public user signup. Adds a registration options page, updates sidebar navigation, and implements a public signup form and controller logic. Also refines user model to ensure correct data types for user fields and updates language strings for registration. The login page now links to signup when open registration is enabled.
2025-12-02 18:10:37 +00:00
Peter Goodhall
f0fbaf7992 Remove Award Settings link from header menu
Deleted the 'Award Settings' dropdown item from the header navigation to streamline the menu options.
2025-12-02 13:36:44 +00:00
Peter Goodhall
d5e6720b64 Update FFMA award description
Changed the FFMA award description from 'Flora and Fauna in Marche Award' to 'Fred Fish Memorial Award' for accuracy.
2025-12-02 13:33:42 +00:00
Peter Goodhall
88f328581b Added Awards Settings 2025-12-02 13:32:11 +00:00
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