⚠️ TOTA.json looks like it was overwritten with an incompatible format — 0 valid towers found even though the file isn't empty. Click "🛠️ Restructure TOTA.json" below to fix it automatically.
0 towers
📋 All towers with coordinates
Reference
Name
Province
Coordinates
Action
🔍 No towers found
➕ Add new tower
To edit an existing tower, go to the 🗼 Towers tab and click "✏️ Edit" next to it.
✏️ Edit tower
📥 Import XLSX – TOTA
Select or drag the TOTA xlsx file below. You'll see a preview of the changes before anything is saved.
📊
Click to browse or drag the .xlsx file here
.xlsx files only
Status
Reference
Name
Changes
🗑️ Delete tower?
📋 JSON Importeren – TOTA
📤 Upload ADIF files
For the tower reference (e.g. ONR-0101) to be recognised, it must be in the
SIG_INFO, MY_SIG_INFO or comment field of each QSO. Regular users upload their own logs via
the public login page — those first go through "📥 ADI Uploads" for admin approval before
landing here.
ONR-
📁 Uploaded ADIF files
File
QSOs
Size
Date
✏️ Edit
Raw ADIF content — edit with care.
🌐 WWTOTA Sync
Pulls Belgian (ONR-) tower QSOs from the external wwtota.com log API into their
own wwtotaadi/ folder — completely separate from our own adifs/.
That data still counts towards activations/QSOs/awards, but is never mixed into our own log
files. Nothing runs until an API key is saved and Start is pressed.
⚠️ New ADIF logs were added since the last sync. Press Start or Sync now below to bring wwtota.com up to date.
✅ Everything is synced. There's nothing new to send — safe to press Stop if you don't need it running.
⏸️ Stopped
⚠️ Reset & re-sync everything from scratch
Deletes wwtotaadi/wwtota_sync.adi and forgets the last sync date, so the
next Start/Sync pulls and re-converts every record again from wwtota.com
(useful after a fix like the band-name normalisation). This does not touch
wwtota.com's own data — only what we've stored locally.
⚙️ Automatic syncing via cron (optional)
Start/Stop only run a sync when you click them. For automatic periodic syncing while
"enabled", ask your hosting provider to add a cron job (e.g. hourly) that calls:
curl -X POST https://on3moh.be/TOTA/wwtota_api.php -H "Content-Type: application/json" -d '{"action":"cron","secret":"…"}'
Date
Time
Activator
Tower
Worked
Band
Mode
RST S/R
R2R
Inspects the last raw API response (saved automatically after every sync) to figure out
exactly which fields, band/mode formats and reference prefixes wwtota.com uses — the
information needed to eventually build the "push our logs to wwtota" side of this
integration. Run a sync on the Settings tab first if nothing shows up here yet.
✅ Live. wwtota.com confirmed their CRON validation/import step is finished —
QSOs pushed from here now go through the same validation and scoring as a normal ADIF
import on their end, and get transferred into their production log. This is no longer
testing-only; double-check what you push before clicking, same as any real submission.
Sends our own local ADIF logs (adifs/ — never wwtotaadi/, that
would just be sending their own data back to them) to wwtota.com's Log Upload API. Already-
sent QSOs are tracked and never resent, so it's safe to click "Push now" repeatedly as new
logs come in.
— wwtota's CRON import is confirmed live, so this now sends real, scored submissions.
Re-syncs from wwtota.com and checks how many of our pushed QSOs now come back through the pull.
This is exactly what visitors see at ranking/ranking.html — it refreshes itself
automatically after uploads/approvals/wwtota syncs, so this preview may be a moment behind
the very latest change until you click "🔄 Refresh preview".
➕ Add new award
⚙️ Manage levels
📋 Current awards
Name
Type
Band
Level
Threshold
Award Settings
Set the position of the callsign and date on the award images.