Journal Events Public Class Documentation
Overview
The Journal_Events_Public
class manages all front-end functionality and REST API endpoints for event registration and management.
Core Responsibilities
1. Asset Management
- Registers and enqueues public CSS/JS files
- Handles DataTables library integration
- Manages form handler scripts
2. REST API Endpoints
Registers and handles REST API endpoints for:
Form Submissions
/entry-form
- Handle event registration submissions/event-profile
- Handle attendee profile submissions/generate-csv
- Generate entry form CSV exports/generate-attendees-csv
- Generate attendee list CSV exports
Data Management
/event-attendees
- Fetch attendees for an event/update-attendee
- Update attendee details/delete-attendee
- Remove attendees/add-attendee
- Add new attendees/entry-form-entries
- Get entries for a form/update-entry
- Update entry details/entry-form/{id}
- Delete entire entries
3. Member Status Management
Implements membership status logic:
- Premium (journal_benefactor)
- Standard (subscriber)
- Customer (customer role)
- Has Account (any other role)
- No Account (no user account)
4. Data Processing
Handles:
- Form data sanitization
- User validation
- File generation
- Email notifications
- Stay & play bookings
- Partner/guest management
Key Interactions
Entry Form Flow
- User submits registration form
- Data validated and sanitized
- Entry stored in database
- Notifications sent based on ballot status
- Stay & play details recorded if applicable
Profile Form Flow
- User submits profile details
- Data validated and stored
- Attendee record created/updated
- Partners/guests processed
- Stay & play preferences saved
Admin Management Flow
- Admin views event attendees
- Can edit/update details
- Generate reports/exports
- Manage attendee statuses
- Handle cancellations/changes
Integration Points
WordPress
- REST API registration
- User management
- Role capabilities
- Asset enqueueing
WooCommerce
- Data store interactions
- Customer management
- Order processing
Frontend Components
- Entry forms
- Profile forms
- Admin interfaces
- DataTables integration
Data Flow Example
Form Submission -> REST Endpoint -> Validation -> Data Store ->
Email Notifications -> Response -> UI Update
Security Measures
- Nonce validation
- Capability checking
- Data sanitization
- User authentication
- Input validation