Commit Graph

4 Commits

Author SHA1 Message Date
essae 5ec5195d89 feat(email): implement secure unsubscribe link generator and email helper integration 2025-05-24 20:06:33 -04:00
essae e09f763db3 feat(verification): improve expired and invalid code handling + unified view styling
- Updated VerificationController::verify() to:
  - Distinguish between invalid and expired verification codes
  - Preserve expired codes to allow resend and proper feedback
  - Log verification attempts with safe type handling
  - Display a clear message for already-verified submissions
  - Avoid DB errors from unknown 'type' values (supports contact+newsletter)

- Updated verify_success.php and verify_failed.php:
  - Unified layout using Arsha theme with View::render() wrapping buffered output
  - `verify_failed.php` now shows a resend form only if applicable
  - If code is invalid and no email context is known, redirect prompt is shown

- Ensured fallback logic for all messaging variables is robust and user-safe
2025-05-23 14:23:08 -04:00
essae fc4e8ae851 feat: Implement email verification and refactor form logic (partial)
- Added ContactService.php and NewsletterService.php for handling verification emails
- Introduced POST-based verification and session-driven success rendering
- Replaced redirect-based confirmation with inline JS and conditional rendering
- Reorganized routes in index.php for controller and closure-based actions
- Minor JS improvements to prevent double submission (contact-form.js)
- Honeypot field temporarily missing despite prior implementation and HoneypotHelper
- SubmissionCheck needs fix for SQL parameter mismatch
- EmailHelper missing getMailer() (referenced in services)
- General structure drift noted — inventory and cleanup pending
2025-05-20 20:52:46 -04:00
essae 4e35d36485 Fix session handling for contact form success/error alerts and relocate SessionHelper::start in index.php 2025-05-14 23:54:31 -04:00