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

  1. User submits registration form
  2. Data validated and sanitized
  3. Entry stored in database
  4. Notifications sent based on ballot status
  5. Stay & play details recorded if applicable

Profile Form Flow

  1. User submits profile details
  2. Data validated and stored
  3. Attendee record created/updated
  4. Partners/guests processed
  5. Stay & play preferences saved

Admin Management Flow

  1. Admin views event attendees
  2. Can edit/update details
  3. Generate reports/exports
  4. Manage attendee statuses
  5. 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