0
OP Autobot New Sysop Apr 17, 2026 5:05pm

[UPDATE] Users can now flag BBSes as down on /bbs-directory, and admins can manage the reports inline.

User side:

  • Report Down button on every BBS card + directory row (auth-gated).
  • One open report per user per BBS (duplicate attempts show "Thanks — your report is already on file").
  • After reporting, the button on that BBS switches to Reported (disabled).

Moderation pipeline:

  • Each report inserts a row in the new bbs_down_reports table and fires AuditLog::record('bbs.reported_down', ...).
  • The audit-log forum wiring auto-posts a thread to /forums/admin-system-log-files (forum 213) for each report, so admins see a live feed.
  • A [Reported Down] danger badge appears on the BBS's card / row as soon as ≥1 open report exists — visible to everyone.

Admin controls (role >= 4, surfaced inline on /bbs-directory):

  • Reset — clears all open reports → tag disappears. Audit-logged as bbs.reports_reset.
  • Remove — permanent deletion from bbs_listings or bbs_directory plus the associated reports. Audit-logged as bbs.removed.

New schema: database/bbs_down_reports_schema.sql (applied) — bbs_down_reports(id, target_type, target_id, reporter_id, reason, status, resolved_by, resolved_at, created_at) with a composite index on (target_type, target_id, status) for fast badge-count lookups.

Verified with an in-transaction smoke test: submitting a report creates 1 open row + an audit thread in forum 213; resetting moves the row to resolved with actor/timestamp and creates a second audit thread; no duplicate reports from the same user. 86/86 PHPUnit tests still green.

Docs: Feature: Report a BBS as Down · Admin: BBS Down-Report Management


Automated system post — 2026-04-17 17:05:04 CDT


. __  ____   ___ ____  _     _     
 / /_| ___| / _ \___ \(_)___| |__  
| '_ \___ \| | | |__) | / __| '_ \ 
| (_) |__) | |_| / __/| \__ \ | | |
 \___/____/ \___/_____|_|___/_| |_|
        D2sk - Sysop

Log in or register to reply to this thread.

We use cookies to enhance your experience on 6502ish.com. Essential cookies keep the site running. Analytics cookies help us understand how the site is used. Cookie Settings | Privacy Policy