No description
Find a file
Peter Goodhall 6e8d73e07b Recalculate highlight DX using grid/DXCC
Add helper methods to determine a QSO's primary grid, lookup DXCC coordinates (with caching and logbook_model.dxcc_lookup fallback), and resolve candidate distances by preferring grid-to-grid QRA distance with a DXCC-coordinate fallback. Update highlight DX queries to select time, DXCC and DXCC lat/long and join dxcc_entities. Replace duplicated inline distance logic with a single build_highlight_dx_from_candidates routine that picks the farthest candidate and sets COL_DISTANCE (rounded to int). This centralizes distance computation and ensures QSOs without stored distances but with grids or DXCC data are correctly considered.
2026-04-10 11:36:40 +01:00
.github Remove accessibility alt text bot workflow 2025-11-24 17:39:39 +00:00
.vscode added SSTV image page to the nav menu in the header 2024-04-02 16:55:00 -05:00
application Recalculate highlight DX using grid/DXCC 2026-04-10 11:36:40 +01:00
assets Show QSP tab and clear additional fields 2026-04-10 11:23:54 +01:00
backup Bootstrap Interface Updates 2019-01-14 16:29:06 +00:00
cypress Improve logbook tests and use env credentials in Cypress 2025-11-26 13:08:53 +00:00
images Add link to eqsl.cc user profile 2023-10-11 13:17:23 +02:00
install Add Portuguese language support to config 2025-08-27 10:46:20 +01:00
src Fix font file path usage in AddFont method 2025-11-22 17:46:03 +00:00
system Updated Polish files from SP4BAO 2025-05-03 13:06:45 +01:00
updates [LOTW] LoTW user lookup switched from importing CSV to database to PHP reading it directly reducing MySQL load 2020-09-21 14:02:50 +01:00
uploads Add public Station Diary with images & RSS 2026-03-08 11:42:41 +00:00
.editorconfig Add editorconfig file for setting coding style 2021-01-30 10:42:19 +00:00
.env.sample end to end testing 2024-04-05 15:36:16 -05:00
.gitignore Add Call History upload and lookup feature 2026-03-24 22:36:54 +00:00
.htaccess.sample Prevent .git being served by Webserver 2023-06-30 07:01:03 +02:00
CloudLog.png Added Icon created by M1BXF 2012-09-06 17:58:00 +01:00
CloudLog_logo.png [Login] Tweaked login 2023-02-06 10:28:24 +01:00
cypress.config.js Increase Cypress timeouts and add waitForSelectOptions command 2025-07-17 17:03:41 +01:00
docker-compose.yml Update Docker setup and improve health checks 2025-08-09 18:05:31 +01:00
Dockerfile Improve startup script and PHP config in Dockerfile 2025-08-09 18:20:25 +01:00
Dockerfile-db Update Docker setup and improve health checks 2025-08-09 18:05:31 +01:00
favicon.ico Renamed the icon favicon for standardisation 2019-05-16 16:09:31 +01:00
index.php Revert "Update index.php" 2022-10-13 15:44:20 +01:00
LICENSE Updated MIT licence copyright date to 2024 2024-01-01 17:43:57 +00:00
manifest.json added icons to site manifest 2023-11-05 13:34:55 +01:00
package-lock.json Merge pull request #3413 from magicbug/dependabot/npm_and_yarn/qs-6.14.2 2026-02-24 10:53:35 +00:00
package.json updated package files 2024-04-30 13:53:02 +01:00
README.md Update README with new supporter and Patreon link 2025-10-22 13:26:54 +01:00
robots.txt Added a robots.txt file to block indexing of /assets /images and json map output 2020-11-03 15:37:37 +00:00
script.sh script.sh now uses value of DIRECTORY variable from .env file (fixes #3356) 2025-10-13 22:33:23 +02:00
SECURITY.md Created a SECURITY.md 2021-07-31 10:25:38 +01:00
update_cloudlog.sh Update script: Add eQSL images to restore perms aswell 2023-08-27 21:54:19 +02:00

Cypress Tests

Cloudlog

Important: Only accepting PRs on the "dev" branch.

Cloudlog is a self-hosted PHP application that allows you to log your amateur radio contacts anywhere. All you need is a web browser and active internet connection.

While Cloudlog as started by Peter Goodhall, MM9SQL, although since has received a lot of community code contributions. If you would like to contribute to Cloudlog please see the Contributing section below.

Website: http://www.cloudlog.co.uk

Requirements

  • Linux based Operating System
  • Apache (Nginx should work)
  • PHP Version 7.4 (PHP 8.2 works)
  • MySQL (MySQL 5.7 or higher)

Notes

  • If you want to log microwave QSOs you will need to use a 64bit operating system.
  • We do not provide Docker support, however you are free to use it if you wish but we will not handle support.

Setup

Installation information can be found on the wiki.

Docker Development Environment

This guide provides instructions for setting up a local development environment using Docker and Docker Compose. Please note that this setup is not recommended for production use.

Prerequisites

Before you begin, you need to install Docker and Docker Compose. You can download them using the following links:

Configuration

  1. Copy the .env.sample file to .env:

    cp .env.sample .env
    
  2. Open the .env file and update the values to match your setup. The values from the .env file will be used to populate the database connection details on the install page. You should not need to change these unless your setup requires different values.

    Note: Docker Compose creates a network for your application, and each service (container) in the Docker Compose file can reach each other via the service name. This is why the DB_HOST value in the .env file and on the install page should match the service name of the database in the docker-compose.yml file. For example, if the database service in docker-compose.yml is defined as db, then DB_HOST should be set as 'db'. This allows the application to communicate with the database service on its internal docker network.

Starting the Development Environment

To start the development environment, run the following command in your terminal:

docker-compose up

Running Cypress Tests Locally

Follow these steps to run the Cypress tests locally on your machine:

  1. Clone the repository

    If you haven't already, clone the repository to your local machine

  2. Setup .env file

    Copy the sample .env file and adjust it to your local environment:

    cd your-repo
    cp .env.sample .env
    
  3. Build Docker services

    Build and start the Docker services:

    docker-compose up -d
    
  4. Install Cypress

    Navigate into the project directory and install Cypress:

    npm install cypress
    
  5. Run the Cypress tests

    After the installation is complete, you can run the Cypress tests:

    npx cypress run
    

Support

Cloudlog has two support systems for code issues use Github issues, however if you have general issues with setting up your server please use our general discussion forum https://github.com/magicbug/Cloudlog/discussions.

Security Vulnerabilities

If you discover a security vulnerability within Cloudlog, please send an e-mail to Peter Goodhall, MM9SQL via peter@magicbug.co.uk. All security vulnerabilities will be promptly addressed.

Want Cloudlog Hosting?

If you would prefer not to setup Cloudlog yourself magicbug offer hosted solutions, this is priced at £4 a month at the moment and they take care of keeping it updated.

Contributing

If you would like to contribute in any way to Cloudlog, it is most appreciated. This has been developed in free time, help coding new features or writing documentation is always useful.

Please note that Cloudlog was built using Codeigniter version 3 and uses Bootstrap 5 as the frontend toolkit.

We also HTMX for AJAX requests and jQuery for some of the frontend functionality. We use Font Awesome for icons.

At the moment we use Cypress for end-to-end testing.

When submitting PRs please make sure code is commented and includes one feature only, multiple features or bug fixes will not be accepted. Please include a description of what your PR does and why it is needed.

Credits

Thanks to Andy (VE7CXZ), Gavin (M1BXF), Graham (W5ISP), Robert (M0VFC), Corby (K0SKW), Andy (GI0VGV), Sarah (DM4NA), Tony (G0WFV), Kim (DG9VH), Michael (G7VJR), Andreas (LA8AJA), Matthias (DL9MJ), Thomas (DO2TWE), Pat (KT3PJ), Flo (DF2ET), Joerg (DJ7NT) and Fabian (HB9HIL) for contributing code or help to Cloudlog.

Patreons & Donors

Cloudlog is supported by Patreon and donations via PayPal, thanks to the following people:

Paul (M0TZO), Tim (G4VXE), Paul (N8HM), Michelle (W5NYV), Mitchell (AD0HJ), Dan (M0TCB), Martin (DK3ML), Juan Carlos (EA5WA), Iain (M0PCB), Charlie (GM1TGY), Ondrej (OK1CDJ), Trystan (G0KAY), Oliver (DL6KBG), Volkmar Schirmer, Jordan (M0PIR), Thomas Ziegler, Mathis (DB9MAT), Ken (VE3HLS), Tyler (WL7T), Jeremy Taylor, Ben Kuhn, Eric Thresher, Michael Cullen, Juuso (OH1JW), Anthony Castiglia, Fernando Ramirez-Ferrer, Robert Dixon, Mark Percival, Julia (KV1V), Timo Tomasini, Ant (NU1U), Christopher Williams, Danny Barnes, Vic, Tom (M0LTE), smurphboy, Lars (SM0TGU), Theo (PD9DP), Stefan (SM0RGM). Peter (G0ABI), Lou (KI5FTY), Michael (DG3NAB), Dragan (4O4A), minorsecond, Emily (W7AYQ), Steve (M0SKM), Rob (M0VFC), Doug (WA6L), Petr (OK1PKR), Fabian (HB9HIL), Daniel (OK2VLK), John (M5JFS), Johnathan (2E0DEF), Peter (M0LNB), Bernard (EI8FDB).

If you'd like to donate to Cloudlog to help allow @magicbug spend less time doing commercial work and more time coding Cloudlog then you can donate via PayPal, Github Sponsor or become a Patreon