forked from itchy/Dialyse-Webseite
65 lines
2.6 KiB
PHP
65 lines
2.6 KiB
PHP
<?php
|
|
|
|
require_once __DIR__ . '/lib/SendMail.php';
|
|
require_once __DIR__ . '/lib/Session.php';
|
|
require_once __DIR__ . '/lib/Helper.php';
|
|
|
|
$session = new Session();
|
|
|
|
$lang = 'de';
|
|
if (isset($_POST['lang']) && in_array($_POST['lang'], ['de', 'en'], true)) {
|
|
$lang = $_POST['lang'];
|
|
} elseif ($session->has('lang') && in_array($session->get('lang'), ['de', 'en'], true)) {
|
|
$lang = $session->get('lang');
|
|
}
|
|
$isEn = ($lang === 'en');
|
|
|
|
function validate($data) {
|
|
$hasContact = !empty(trim($data['email'] ?? '')) || !empty(trim($data['phone'] ?? ''));
|
|
return !empty(trim($data['name'] ?? '')) && $hasContact && !empty(trim($data['message'] ?? ''));
|
|
}
|
|
|
|
function isBot($data) {
|
|
return !empty($data['company']) || (($data['check'] ?? '') != 'send' && (time() - (int)($data['timestamp'] ?? 0)) <= 5);
|
|
}
|
|
|
|
if($_POST && count($_POST) > 0) {
|
|
if(isBot($_POST)) {
|
|
exit();
|
|
}
|
|
|
|
if(!validate($_POST)) {
|
|
$session->set('form', $_POST);
|
|
$session->set('alert-class', 'alert-danger');
|
|
$session->set('alert', $isEn
|
|
? 'Please fill out all mandatory fields and provide at least an email address or a phone number.'
|
|
: 'Bitte füllen Sie alle Pflichtfelder aus und geben Sie mindestens eine E-Mail-Adresse oder Telefonnummer an.');
|
|
} else {
|
|
$ip = $_SERVER['REMOTE_ADDR'];
|
|
|
|
$mail = new SendMail();
|
|
if(!empty(trim($_POST['email'] ?? ''))) {
|
|
$mail->setReplyTo(trim($_POST['email']), trim($_POST['name']));
|
|
}
|
|
$mail->setTo('kontakt@dialyse-berlin.net', 'Kontaktformular');
|
|
// $mail->setTo('dominic.zirpel@web.de', 'Kontaktformular');
|
|
$mail->setSubject('Kontaktformular - Dialyse Homepage');
|
|
$mail->setBody(sprintf("Name: %s %s\nTelefon: %s\nIP: %s\nE-Mail: %s\n-----------------------------\n%s", $_POST['surname'] ?? '', $_POST['name'] ?? '', $_POST['phone'] ?? '', $ip, $_POST['email'] ?? '', $_POST['message'] ?? ''));
|
|
if($mail->send()) {
|
|
$session->remove('form');
|
|
$session->set('alert-class', 'alert-success');
|
|
$session->set('alert', $isEn
|
|
? 'Your inquiry has been sent successfully.'
|
|
: 'Ihre Anfrage wurde erfolgreich verschickt');
|
|
} else {
|
|
$session->set('form', $_POST);
|
|
$session->set('alert-class', 'alert-danger');
|
|
$session->set('alert', $isEn
|
|
? 'An error occurred while sending your inquiry!'
|
|
: 'Beim Verschicken Ihrer Anfrage ist ein Fehler aufgetreten!');
|
|
}
|
|
}
|
|
}
|
|
|
|
header('Location: ' . Helper::url('/kontakt-formular.html', $lang));
|