Commit Graph

9 Commits

Author SHA1 Message Date
yuancheng 53b0218f75 Fix over-broad .log-table header fix: lh.php/localtx.php are mixed-align
The previous commit (4c58f85f) put class="log-table" on lh.php and
localtx.php too, which forced *every* header left - but only
Time/Mode/Callsign/Target are actually align="left" in those two
files. Source/Duration/Loss/BER have no align attribute at all (plain
<td>), so they were already correctly centered - the blanket fix just
moved the misalignment from the first 4 columns to the last 4.

Replace with a new `.al` class applied only to the specific <th>
elements whose column is genuinely align="left", leaving
Source/Duration/Loss/BER headers on the sitewide centered default to
match their centered data. last_herd.php/local_tx.php are untouched -
every column in those two really is align="left", so table.log-table
(all headers) remains correct there.
2026-07-21 15:57:07 +08:00
yuancheng 4c58f85ff1 Extend .log-table header fix to the other left-aligned activity tables
mmdvmhost/localtx.php and dstarrepeater/last_herd.php + local_tx.php
share the exact same pattern as mmdvmhost/lh.php (fixed in e8a569a7 /
2bc8f7b0): every data row is align="left" but headers inherited the
sitewide centered table text-align, so captions visually drift from
their column's actual content.

Deliberately did NOT touch dstarrepeater/active_starnet_groups.php's
two tables - checked their td alignment first and both are mostly
align="center" (only one column/cell is left-aligned in each), so
their headers already match their data; adding .log-table there would
have broken the columns that were already correct.
2026-07-21 15:50:17 +08:00
yuancheng 2bc8f7b03e Left-align log-table headers to match their left-aligned data cells
Last Heard (and other log-style tables sharing this pattern) render
every <td> with align="left", but headers inherit the sitewide
table { text-align: center; } with nothing overriding it - so the
caption drifts toward the middle of wide columns (most visible on
Target) while the actual data underneath hugs the left edge. Looks
like a column-boundary misalignment at a glance, but it's a text-align
mismatch; measured actual cell boundaries and they line up exactly.

Scoped via a new .log-table class rather than changing table th
sitewide, since ~90% of the dashboard's other tables intentionally
keep centered cells (only 6-7 files use align="left" data cells).
2026-07-21 15:43:26 +08:00
yuancheng e8a569a7e4 Fix invisible table header text (white-on-white contrast bug)
table th switched to background: transparent + text-transform: uppercase
in a past redesign, but a.tooltip (the link wrapping every <th>'s text
across the whole dashboard) still hardcoded color: #FFFFFF from the old
solid-indigo-background header design. With no colored block behind it
anymore, white text sits directly on --page-bg/--content-bg (near-white),
making every table header effectively unreadable.

Switch a.tooltip to color: var(--content-text) (dark, same variable the
th itself already uses) so header text is visible again.
2026-07-21 15:29:36 +08:00
yuancheng bc96369f61 main 2026-07-21 14:43:17 +08:00
yuancheng 7c93c30689 Remove backup/restore and factory reset; add APRS/POCSAG custom settings
- Remove admin/config_backup.php (backup/restore page) and all nav
  links to it across the admin pages and the expert-mode shared header.
- Remove factory reset: the full-device version in configure.php
  (JS confirm, POST handler that reset three git repos + wiped /etc
  config, and the hidden form) and the CSS-only version in
  expert/edit_dashboard.php.
- Remove the PiStar-Remote and BM API full editors
  (admin/expert/fulledit_pistar-remote.php, fulledit_bmapikey.php)
  and their links from the expert-mode menu.
- Add a "custom" option to the APRS server dropdown in configure.php
  so operators can type their own server + port instead of picking
  from APRSHosts.txt; wires the port through to ircDDBGateway,
  YSFGateway/YSF2DMR/YSF2NXDN/YSF2P25, and APRSGateway (previously
  only the hostname was ever configurable, port was hardcoded 14580).
- Extend the POCSAG frequency band validator (functions.js) to also
  treat 150-160MHz as a valid/green range.
2026-07-21 14:41:30 +08:00
yuancheng 0c4bed5b6f Restore config/security_headers.php
mmdvmhost/lh.php (and admin/mmdvmhost/lh.php) require_once this file
and call setEmbeddableSecurityHeaders(), but the file was never
committed to this repo (confirmed absent across main/dev/development
history), causing a fatal "failed opening required" 500 on the Last
Heard panel.

Restores both setSecurityHeaders() (full page: adds X-Frame-Options +
CSP frame-ancestors) and setEmbeddableSecurityHeaders() (AJAX partial
variant, omits the framing directives since it's loaded into the
parent via $.load(), not an iframe), matching the behavior described
in the comments already present in lh.php and functions.php.
2026-07-19 18:41:31 +08:00
yuancheng 0febcf69f4 main 2026-07-19 18:27:27 +08:00
yuancheng fe4b286ce1 main 2026-07-19 18:01:05 +08:00