From a74923f43a7d1a0a70fba80fe6209fe43aac095a Mon Sep 17 00:00:00 2001 From: Thedro Neely Date: Sat, 16 Mar 2019 04:31:28 -0400 Subject: controllers/contact: Merge mail and contact controllers Check for post and get requests Optimize mailer logic --- controllers/contact.controller.php | 55 ++++++++++++++++++++++++++++++++++++++ controllers/contact.php | 3 --- controllers/mail.controller.php | 34 ----------------------- 3 files changed, 55 insertions(+), 37 deletions(-) create mode 100644 controllers/contact.controller.php delete mode 100644 controllers/contact.php delete mode 100644 controllers/mail.controller.php (limited to 'controllers') diff --git a/controllers/contact.controller.php b/controllers/contact.controller.php new file mode 100644 index 0000000..36a0c73 --- /dev/null +++ b/controllers/contact.controller.php @@ -0,0 +1,55 @@ +name = $_POST['26471'] ?? null; + $submit->email = $_POST['26472'] ?? null; + $submit->message = $_POST['26473'] ?? null; + + $spam = $_POST['agree'] ?? false; + + $validEmail = PHPMailer::validateAddress($submit->email, 'auto'); + + if ((bool) empty($submit->name) == true + || (bool) empty($submit->email) == true + || (bool) empty($submit->message) == true + ) { + include '../views/contact.view.php'; + return; + } + + if ((bool) $spam == true) { + http_response_code(403); + error_log('Contact Form Spam: Error 403'); + return; + } + + if ($validEmail === false ) { + $emailError = 'Invalid email: ' . "\r" . ''. $submit->email . ''; + include '../views/contact.view.php'; + return; + } + + $formSuccess = true; + + include '../views/contact.view.php'; + fastcgi_finish_request(); + + $contact['database']->insert( + 'contactform', [ + 'name' => $submit->name, + 'email' => $submit->email, + 'message' => $submit->message, + ] + ); + + sendMail($submit->name, $submit->email, $submit->message); + return; +} + +require '../views/contact.view.php'; diff --git a/controllers/contact.php b/controllers/contact.php deleted file mode 100644 index 6ecc88e..0000000 --- a/controllers/contact.php +++ /dev/null @@ -1,3 +0,0 @@ -name = $_POST['26471'] ?? null; -$submit->email = $_POST['26472'] ?? null; -$submit->message = $_POST['26478'] ?? null; - -$spam = $_POST['contact'] ?? false; - -if ((bool) $spam == true) { - http_response_code(403); - error_log('Contact Form Spam: Error 403'); - return; -} - -if ((bool) empty($submit->name) == true - || (bool) empty($submit->email) == true - || (bool) empty($submit->message) == true -) { - header('Location: /contact'); - return; -} else { - include '../views/sent.view.php'; - fastcgi_finish_request(); - $contact['database']->insert( - 'contactform', [ - 'name' => $submit->name, - 'email' => $submit->email, - 'message' => $submit->message, - ] - ); - sendMail($submit->name, $submit->email, $submit->message); -} -- cgit v1.2.3