aboutsummaryrefslogtreecommitdiff
path: root/app/controllers/contact.controller.php
blob: 78d5c18a90e89e19b8e4c95a1db6f91532590b86 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
<?php

use PHPMailer\PHPMailer\PHPMailer;
use PHPMailer\PHPMailer\Exception;

if ($_SERVER['REQUEST_METHOD'] === 'POST') {

    $submit = new Form();

    $submit->name = $name = $_POST['26471'] ?? null;
    $submit->email = $email = $_POST['26472'] ?? null;
    $submit->message = $message = $_POST['26473'] ?? null;
    $submit->spam = $spam = $_POST['agree'] ?? false;

    $validEmail = PHPMailer::validateAddress($submit->email, 'auto');

    if ((bool) empty($submit->email) == true
        || (bool) empty($submit->message) == true
    ) {
        include '../app/views/contact.view.php';
        return;
    }

    if ((bool) $spam == true) {
        error_log('Contact Form Spam: Error 403');
        return http_response_code(403);
    }

    if ($validEmail === false ) {
        $emailError = 'Invalid email: ' . "\r" . '<b>'. $submit->email . '</b>';
        include '../app/views/contact.view.php';
        return;
    }

    $formSuccess = true;

    $name = null;
    $email = null;
    $message = null;
    $spam = false;

    include '../app/views/contact.view.php';
    fastcgi_finish_request();

    $contact['database']->insert(
        'contactform', [
        'name' => $submit->name,
        'email' => $submit->email,
        'message' => $submit->message,
        ]
    );

    return sendMail($submit->name, $submit->email, $submit->message);
}

require '../app/views/contact.view.php';