Introduces migration 231 to update the application version to 2.7.6 and trigger the version info dialog for users. Updates the migration version in the configuration to 231.
Updated the SQL statement in Logbook_model to use utf8mb4_general_ci collation instead of utf8mb4_unicode_ci for the MEMORY table QSO_LOOKUP. This may improve performance for certain lookup operations.
Updated the SQL statement in Logbook_model to use utf8mb4_general_ci collation instead of utf8mb4_unicode_ci for the MEMORY table QSO_LOOKUP. This may improve performance for certain lookup operations.
In Logbook_model.php, LoTW and eQSL sent status are reset to 'N' when editing a QSO that was previously sent, ensuring re-upload to these services. In common.js, a handler updates DXCC, location, and state fields when the callsign is changed in the QSO edit modal.
Updated the date formatting logic in footer.php to use the user's preferred date format from session or config. The date input now displays according to various supported formats, improving localization and user experience.
Hopefully fixes#3358
Replaced raw SQL LIKE conditions with CodeIgniter's query builder 'like' and 'or_like' methods for VUCC search cases. This improves code readability and helps prevent SQL injection.
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.
Clarified the comment regarding eQSL authentication to indicate that the user's actual eQSL credentials are used, and that the station callsign is managed in the ADIF data via eqslqthnickname. Removed outdated logic related to username handling for linked accounts.
Introduces a retry mechanism with exponential backoff for the cURL request in the LoTW controller. This improves reliability by attempting the download up to three times before failing, and logs each retry attempt for better debugging.
Introduces migration 230 to update the application version to 2.7.5 and trigger the version info dialog for users. Updates the migration version in the configuration to 230.
Adds strict validation to the Cat model to prevent non-numeric frequency and invalid mode values from being stored, logging any invalid data for debugging. Introduces migration 229 to clean up existing corrupted CAT table data caused by rig control error messages, and updates migration version. Includes documentation of the issue and applied fix.
Wrapped index creation statements in try-catch blocks to handle potential duplicate key errors during concurrent migrations. This prevents migration failures if indexes already exist, improving robustness.
Replaces file_get_contents with cURL for downloading LoTW data to provide better error handling and logging. Switches to rawurlencode for credentials to prevent encoding issues. Adds debug and error logs for easier troubleshooting and checks HTTP response codes and file write success.
Improves performance of QRZ QSO upload by batching database updates in the controller and model, reducing the number of individual update queries. Adds a new migration to create indexes supporting QRZ upload/download operations. Refactors QRZ download batch processing to use temporary tables and efficient JOINs for large batch updates, further enhancing speed and scalability.
Enhances the LoTW user activity CSV import by adding network timeouts, user agent, and file validation before truncating the database. Implements batch inserts with error handling, validates callsign format, checks for minimum record count, and provides clearer error messages to improve reliability and data integrity.
Enforces that Clublog usernames are valid email addresses throughout the application, reflecting Clublog's policy change to no longer accept callsigns as usernames. Updates validation in controllers, models, and views, adds a migration to clear non-email usernames, and updates language files in multiple languages to clarify the requirement.
Introduces migration 226 to update the application version to 2.7.4 and trigger the version info dialog for users. Updates the migration version in the configuration to 226.
Refactored variable names for clarity and added detailed logging for Clublog realtime upload results. Now resets user credentials if a 403 error is returned by the Clublog API, and includes HTTP status code in the response for better error handling.
Introduces a migration that adds several indexes to the bands and bandxuser tables to improve query performance, especially for user, band, and award-based lookups. Updates the migration version to 225.
Added new migrations to create performance indexes on station_logbooks_relationship, station_profile, options, and adif_modes tables to improve query speed for frequent lookups and filtering. Updated migration version to 224 in configuration.
Introduces migration 221 to add indexes on the IOTA table for Tag, Prefix, and Status fields to improve query performance. Updates migration version in config to 221.
Introduces migration 220 to add several indexes to the dxcc_entities, dxcc_master, dxcc_exceptions, and dxcc_prefixes tables. These indexes are designed to improve query performance for common lookups, filtering, and joins based on usage patterns such as country name, prefix, continent, CQ/ITU zones, and date ranges.
Introduces migration 219 to add several indexes to the CAT table, optimizing queries involving user_id, radio, and timestamp fields. Updates migration version to 219.
Introduces migration 218 to add composite indexes to optimize LoTW upload and certificate lookup queries. Updates migration version to 218 in the config. These indexes improve query performance for LoTW-related operations.
Replaces individual QSO update queries with a new mark_lotw_sent_batch() method in Logbook_model for improved performance during LoTW uploads. Updates Lotw controller to use batch updates within a transaction, reducing database load and increasing efficiency for large QSO uploads.
Added validation and default values for result limits in Logbookadvanced_model and Oqrs_model to prevent invalid or empty limits. Updated views to set default selected options for result limits in logbook advanced and OQRS request pages. Also fixed SQL order by column alias typos in Logbookadvanced_model.
Wrapped key operations in try-catch blocks to improve error handling and provide detailed error messages during LoTW certificate, QSO, and report file processing. Added verbose logging throughout the process to aid in debugging and monitoring, including status updates for each station profile and user.
Added extensive debug output and error handling to LoTW upload and download processes for easier troubleshooting. Refactored SQL queries in Logbook_model and Logbookadvanced_model to simplify and optimize data retrieval, replacing subqueries with more direct joins and query builder usage. Removed migration 217_add_performance_indexes.php.
Introduces migration 217 to add indexes on station_profile.user_id, qsl_images.qsoid, and lotw_users.callsign to improve query performance. Updates migration version in configuration.
Refactored SQL queries in Logbook_model and Logbookadvanced_model to use subqueries for filtering and pagination, improving performance and accuracy. Updated joins and selected fields for consistency and to avoid duplicate results, especially when limiting and ordering large datasets.
Introduces migration 216 to add a composite index (station_id, COL_TIME_ON, COL_PRIMARY_KEY) for efficient QSO sorting and removes redundant single-column indexes. Updates migration version in config to 216.
Added server-side validation for callsign and station_id inputs in Oqrs controller to prevent invalid data and potential abuse. Updated Oqrs_model to use parameterized queries instead of string concatenation, improving security against SQL injection. Callsigns are now consistently uppercased before querying.
Replaced usage of session 'station_profile_id' with the active station profile ID retrieved from the stations model. Improved error handling and messaging when no active station profile is set. This ensures consistency and accuracy when accessing or updating station-specific data.
Changed several controller methods in Qso.php from implicit or default visibility to explicit 'public' for better clarity and consistency. Also fixed indentation in cwmacrosave for improved readability.