46 lines
1.3 KiB
PHP
46 lines
1.3 KiB
PHP
<?php
|
|
|
|
namespace App\Controllers;
|
|
|
|
use App\Core\Controller;
|
|
use MailService;
|
|
|
|
class ContactController extends Controller {
|
|
|
|
public function index() {
|
|
$this->view('contact', [
|
|
'title' => __('contact_us') . ' - ' . get_setting('site_name', 'ApkNusa')
|
|
]);
|
|
}
|
|
|
|
public function submit() {
|
|
$name = $_POST['name'] ?? '';
|
|
$email = $_POST['email'] ?? '';
|
|
$subject = $_POST['subject'] ?? 'New Contact Message';
|
|
$message = $_POST['message'] ?? '';
|
|
|
|
if (empty($name) || empty($email) || empty($message)) {
|
|
$_SESSION['error'] = 'All fields are required.';
|
|
$this->redirect('/contact');
|
|
}
|
|
|
|
if (!filter_var($email, FILTER_VALIDATE_EMAIL)) {
|
|
$_SESSION['error'] = 'Invalid email address.';
|
|
$this->redirect('/contact');
|
|
}
|
|
|
|
require_once __DIR__ . '/../../mail/MailService.php';
|
|
|
|
$res = \MailService::sendContactMessage($name, $email, $message, null, $subject);
|
|
|
|
if (!empty($res['success'])) {
|
|
$_SESSION['success'] = 'Your message has been sent successfully!';
|
|
} else {
|
|
$_SESSION['error'] = 'Failed to send message. Please try again later.';
|
|
// Log error if needed: error_log($res['error']);
|
|
}
|
|
|
|
$this->redirect('/contact');
|
|
}
|
|
}
|