Architecture
Intercessor separates responsibilities across several layers.
Submission pipeline
Front-end and REST submissions converge on Submission_Pipeline, which applies common business rules in a consistent order:
- Rate limiting
- Duplicate-subject protection
- Profanity filtering
- Requester lookup/creation
- Prayer request insertion
- Notifications
Transport-specific security checks, such as nonce, login, and reCAPTCHA validation, occur before the shared pipeline.
Settings
Settings are represented by a registry/schema, repository, sanitizer, and renderer. This keeps field definitions and persistence concerns separated.
Blocks
Blocks use block.json manifests and PHP render callbacks. The plugin can register a fallback block definition when compiled editor assets are unavailable.
Reports
Reports use a view registry. Built-in views include Overview, By Status, By Date, and Activity, and the view collection is filterable.
Tools
CSV importers and exporters use dedicated classes and are registered through the Tools admin page.