Patriot Platform Members 1.10 — Printable attendance sheets

INSTALL
Upload patriot-platform-1.10.zip through Plugins > Add New > Upload Plugin.
Replace the installed plugin. Full package includes all earlier updates.
No database upgrade or reactivation is needed.

WHERE TO FIND IT
Open Patriot Platform > Event attendance > Attendance list for an event.
Select Print attendance sheet beneath the CSV export button.
The sheet opens in a new tab. Choose Print / Save as PDF, or use the browser's
print shortcut. Browser printing lets you select a printer or save a PDF.
Approved regional organisers see the same control in their event management
panel. National events remain administrator-managed.

WHAT IS INCLUDED
Site logo, event title, region, start and optional finish, venue, event status,
generation time, registration and volunteer totals.
Current registered members only: registration ID, permitted display name,
volunteer choice and the attendance state already saved in WordPress.
Blank paper checkboxes for Attended / No-show, plus organiser notes lines.
A4 portrait styling, repeating table column headings and rows kept together.
The browser controls final pagination, scaling, margins and printer settings.

SCOPE AND PRIVACY
Prints ALL confirmed registrations, independent of list filters and pages.
Cancelled registrations and member email fields are excluded. A venue or event
title may itself contain contact text entered by an organiser.
Access matches existing attendance permissions. Regional organisers cannot see
identities of members who are no longer eligible; the administrator retains
existing visibility. Trashed events cannot be printed.
Opening the sheet uses an authenticated POST, an event nonce and audit entry.
No public roll file is written. HTML response is marked private/no-cache and
noindex. Keep any printed or downloaded PDF copy secure.
A roll larger than 5,000 entries is refused with advice to use CSV instead;
no silently truncated roll is produced. Database errors are shown explicitly.

PAPER IS A SNAPSHOT
Checkboxes are for pen marks on paper. They do not update WordPress.
After the meeting, record the results using the existing attendance controls.
Reopen the sheet for fresh registrations or changed event details; an existing
open tab or saved PDF does not update automatically.
No emails are sent and no registrations/attendance records change by printing.

LOCAL TEST
1. Open a registered event and select Print attendance sheet.
2. Check the logo, title, region, start/finish and venue.
3. Confirm every current registrant appears, including those on later list pages.
4. Check that cancelled registrations and member email fields are absent.
5. Print or Save as PDF; inspect columns and repeating headings on longer rolls.
6. Try an approved regional organiser and verify other-region access is refused.
7. Record paper marks back into WordPress after the event.

VALIDATION
191 isolated behaviour/render checks passed, including the prior complete suite.
New checks cover print permissions, identity privacy, excluded cancelled rows,
HTML escaping, empty/oversized/error rolls and new-tab print controls.
All 27 PHP files parse as PHP 8.0; JavaScript syntax and ZIP integrity checked.
Live WordPress authentication/database and browser print/PDF layout still need
local testing; printer-specific pagination has not been verified here.
