request()->is('POST') && get('submit')) { // check the honeypot if (empty(get('website')) === false) { go($page->url()); } $data = [ 'name' => get('name'), 'email' => get('email'), 'text' => get('text') ]; $rules = [ 'name' => ['required', 'minLength' => 3], 'email' => ['required', 'email'], 'text' => ['required', 'minLength' => 3, 'maxLength' => 3000], ]; $messages = [ 'name' => 'Bitte geben Sie einen Namen ein.', 'email' => 'Bitte geben Sie eine gültige E-Mail-Adresse ein.', 'text' => 'Bitte geben Sie einen Text ein, der zwischen 3 und 3000 Zeichen lang ist.' ]; // some of the data is invalid if ($invalid = invalid($data, $rules, $messages)) { $alert = $invalid; // the data is fine, let's send the email } else { try { $kirby->email([ 'template' => 'email', 'from' => 'webmaster@schachfreunde-badsteben.de', 'replyTo' => $data['email'], 'to' => 'info@feigel.it', 'subject' => esc($data['name']) . ' hat eine Nachricht über das Kontaktformular gesendet', 'data' => [ 'text' => esc($data['text']), 'sender' => esc($data['name']) ] ]); } catch (Exception $error) { if (option('debug')): $alert['error'] = 'Beim Versenden ist ein Fehler aufgetreten:
' . $error->getMessage() . ''; else: $alert['error'] = 'Beim Versenden ist ein Fehler aufgetreten!'; endif; } // no exception occurred, let's send a success message if (empty($alert) === true) { $success = 'Ihre Nachricht wurde gesendet! Wir werden uns bald bei Ihnen melden.'; $data = []; } } } return [ 'alert' => $alert, 'data' => $data ?? false, 'success' => $success ?? false ]; };