Add QRZCALL.EU as a callbook provider#3438
Conversation
|
@Ron6519 Not sure if you are the dev behind the site, but where did the callbook data come from? Notice for my callsign the gridsquare is incorrect Will see about merging the PR soon |
There was a problem hiding this comment.
Pull request overview
This PR adds a QRZCALL.EU callbook integration to Cloudlog’s existing callsign lookup flow, alongside QRZ.com and HamQTH.
Changes:
- Adds a new
Qrzcalllibrary for token-authenticated QRZ-compatible XML lookups. - Adds QRZCALL handling to
Logbook_model::loadCallBook(). - Documents QRZCALL-related configuration in sample and installer config files.
Reviewed changes
Copilot reviewed 4 out of 4 changed files in this pull request and generated 2 comments.
| File | Description |
|---|---|
application/libraries/Qrzcall.php |
New QRZCALL.EU XML API client and response mapping. |
application/models/Logbook_model.php |
Adds QRZCALL lookup branch to callbook loading. |
application/config/config.sample.php |
Documents QRZCALL as a callbook option and token setting. |
install/config/config.php |
Adds QRZCALL token placeholder to generated config template. |
| | Generate a PAT at: https://qrzcall.eu/ → My Profile → Account → API Tokens | ||
| | Requires a Data or Extra subscription on QRZCALL.EU. | ||
| | | ||
| | Set callbook = "qrzcall" above to use QRZCALL.EU for callsign lookups. |
|
@Ron6519 For users selecting callbooks Cloudlog no longer uses config.php instead, the user generally selects it from account settings index.php/user/edit/#panelsStayOpen-B_confirmation_account |
Thanks for the info. Will investigate and make adjustments. I build qrzcall.eu and gained callsign data from many sources. It's up to almost 3 million. I correct your grid. Somewhere, somebody wrote i instead of j. |
16ec1d5 to
46ab1d8
Compare
|
Thanks for the review — all three remarks addressed. QRZCALL.EU no longer touches Fixes
Also wired QRZCALL into the other callbook paths ( |
Thanks, might take a couple of days for a merge, GitHub's acting very strange when it comes to page loading at the moment with the large influx of AI tools
Any compitention to QRZ can only be a good thing, I did try to launch a UK Callbook in the past but Ofcom made it pretty much impossible to get the data even as a commerical company. The grid was valid, it was previous QTH just moved a little to the east so went from IP to JP perhaps came out of someones logbook? |



Add QRZCALL.EU as a callbook provider
This PR adds QRZCALL.EU — a European radio amateur
callsign database — as a callbook lookup provider, alongside the existing
QRZ.com and HamQTH options.
QRZCALL.EU is selected per user in Account Settings (Callbook section),
exactly like QRZ and HamQTH. When a callsign is entered, Cloudlog queries
https://api.qrzcall.eu/v1/pub/callsign_xml.phpand auto-fills name, grid,country, DXCC, QSL info, etc.
Why QRZCALL.EU?
new library is a near drop-in and no downstream code changes are needed
session-key flow, so there is no session-key dance or token-refresh logic
How it integrates
QRZCALL.EU follows the existing per-user callbook pattern:
Account Settings and pastes their PAT into the Callbook Password field
(stored encrypted in
user_options, exactly like the QRZ password); theCallbook Username field is left blank.
no
config.phpinvolvement.identically to QRZ/HamQTH everywhere:
loadCallBook(), the QSO-entry"Results" panel (
partial()),search_result(), and thecheck_missing_grid_id()batch grid-fill.Changes
4 files — 1 new, 3 modified
application/libraries/Qrzcall.phpsearch($callsign, $token, $use_fullname)with PATAuthorization: Bearerauth, parses QRZ-compatible XMLapplication/views/user/edit.phpQRZCALL.EUto the Callbook Provider dropdown + a one-line hint (PAT → Callbook Password)application/models/Logbook_model.phpQRZCALLcase inloadCallBook()and in thecheck_missing_grid_id()batch lookup — reads the PAT from the user's decryptedcallbook_passwordapplication/controllers/Logbook.phpQRZCALLbranch inpartial()andsearch_result(); "not configured" message updated to mention QRZCALL.EUConfiguration
No
config.phpchanges. A user enables it entirely from the UI:Account Settings → Callbook → Provider: QRZCALL.EU, then paste the PAT into
Callbook Password (leave Callbook Username blank). A PAT is generated at
qrzcall.eu → My Profile → Account → API Tokens.
Testing
A shared test account is available for reviewers:
In Account Settings choose Callbook Provider "QRZCALL.EU", paste the PAT into
Callbook Password, save, then look up
PA4Ron the QSO entry form — name,gridsquare, country and lat/long populate from QRZCALL.EU, and the "Results
for PA4R" panel shows the callbook card (no "not configured" message).
Verified on the Docker development environment (PHP 7.4, MySQL) across all
four lookup paths; existing Cypress suite unaffected.
Screenshot
Callsign
PA4Rlooked up on the QSO entry form — name, gridsquare andlocation auto-filled from QRZCALL.EU. (Screenshot attached to this PR.)
No breaking changes
All changes are additive. The new provider is only active when a user
explicitly selects "QRZCALL.EU" in their Account Settings. QRZ.com and HamQTH
behaviour is unchanged.