WB3ISP

Scripts & code

A growing collection of utilities, automation, and small projects—WordPress plugins, shell helpers, and whatever else is useful to share. Everything here is built to be practical, readable, and easy to adapt.

What's here

📋
v1.22.0
WordPress

Membership Manager

Full-featured membership plugin: payments, approvals, events & attendance, roster, renewal reminders, and dashboard—geared toward clubs and small orgs (including amateur radio groups).

  • PayPal & Stripe Checkout
  • Member approval queue & admin notifications
  • Events calendar & attendance; prize drawing pool
  • Public renewal form & price summary before checkout
  • Email audit log; optional QRZ / Callook auto-fill
  • Treasurer view — quick payments, member edits, recent attendance
  • Guest / Visitor level — attendance-only records (optional list filter), hidden from roster by default
  • Self check-in kiosk shortcode [mm_checkin] with QR code — tablet at the table, phones for everyone else; new walk-ins auto-created via callsign lookup
  • DXCC Standings panel on member profiles — live lookup against a monthly-snapshot table showing modes, entity counts, Honor Roll and Lifetime status, with mismatch detection against the DXCC Certified flag
  • Country field on member records; State dropdown includes PR, GU, VI
  • Configurable officer titles & roles in Settings (add / reorder / restore defaults)
  • In memoriam shortcode — Silent Keys on any members-only page
  • Roster, privacy, CSV import/export, role tiers
🛡️
v1.0.3
Python PHP cPanel

DMARC Monitor

Automated DMARC aggregate report collection and analysis for cPanel servers — fetches reports from your mailbox, parses the XML, and displays per-domain findings in a self-hosted PHP dashboard.

  • Connects to cPanel IMAP via localhost — no external dependencies
  • Decompresses ZIP and GZ attachments, parses DMARC aggregate XML automatically
  • Groups results by domain — SPF pass rate, DKIM pass rate, policy enforcement status
  • Identifies SPF failures, DKIM failures, unknown sending sources, and quarantined messages
  • Plain-English recommended action for every finding — specific DNS fixes included
  • Fingerprint-based deduplication — never double-counts a report across cron runs
  • Session-based login with username/password change page built in
  • Status bar shows last cron run time, emails checked, and new reports added
  • DNS bulk tools — add, audit, fix, and verify _dmarc records across all server domains
  • Cron job runs every 4 hours; dark mode support; no external libraries required
💾
v1.6.0
WordPress PHP

FSM Backup

Backup and move an entire WordPress site — database, themes, plugins, uploads, core files — into one portable .wpfm archive, then restore it here or on a completely different server.

  • One archive holds everything — database plus every file; no split parts, no external service
  • Runs in short resumable steps — a 20 GB site backs up on hosting that kills a request after 20 seconds
  • Server-to-server transfer — the new host pulls the archive directly over a secret expiring link, so a 2 GB file never round-trips through your laptop
  • Database report before you start — every table sized and labelled core / plugin / trimmable / leftover / orphan, so you can see what is real content and what is log bloat
  • Skip rows on a chosen table — archive its structure without millions of rows of history it does not need
  • Serialisation-safe URL rewriting — old addresses replaced inside serialised options and meta, with string lengths repaired
  • Standalone restore script — restores onto a bare server with no WordPress installed at all; writes wp-config.php and deletes itself when done
  • Chunked uploads bypass upload_max_filesize; keyset paging handles multi-million-row tables without timing out
  • Crash-consistent — an interrupted request never duplicates or corrupts data, and every transfer is verified on arrival before it can be restored
  • Protects the destination — an in-dashboard restore will not overwrite the code that is running it
WB3ISP
Jeff Dale

About this site

I'm Jeff Dale WB3ISP. I publish scripts and small projects I actually use—nothing fancy, just solid code you can run, read, and modify. Licensing varies by project (GPL for WordPress plugins; check each item for specifics). If something saves you time, that's the point.