setRules([ 'name' => "required|regex_match[/^[\\p{L}\\s'\\-]+$/u]|min_length[3]|max_length[100]", 'email' => 'required|valid_email|max_length[254]', 'subject' => 'required|min_length[3]|max_length[150]', 'message' => 'required|min_length[10]|max_length[5000]' ]); if (!$validation->withRequest($this->request)->run()) { return view('/parent/contact', [ 'validation' => $validation ]); } // Process form data $name = esc((string) $this->request->getPost('name')); $email = esc(strtolower((string) $this->request->getPost('email'))); $subject = esc((string) $this->request->getPost('subject')); $message = nl2br(esc((string) $this->request->getPost('message'))); // Initialize the EmailController $emailController = new \App\Controllers\View\EmailController(); // Prepare the message to send $formattedMessage = "

From: {$name} ({$email})

Subject: {$subject}

{$message}

"; // Send the email using EmailController if ($emailController->sendEmail('support@alrahmaisgl.org', $subject, $formattedMessage)) { $session = session(); $session->setFlashdata('success', 'Thank you for contacting us! We will get back to you soon.'); } else { $session = session(); $session->setFlashdata('error', 'There was an error sending your message. Please try again later.'); } return redirect()->to('/parent/contact'); } }