Poprawiona obsługa walidacji przy wysyłce

This commit is contained in:
2025-05-20 22:34:46 +02:00
parent 3e9115811a
commit eedaba390d

View File

@@ -31,27 +31,31 @@ class Shortcode
}
public function inContact($atts)
public function inContact($atts)
{
$em_name = null;
$em_mail = null;
$em_meeessage = null;
$em_message = null;
$class = null;
$html = null;
$error = null;
$body = null;
$telefon = null;
$mailResult = 0;
$form_submitted = ($_SERVER['REQUEST_METHOD'] === 'POST');
if(!empty($_POST['website'])) die();
if ($form_submitted) {
$emmsg = (isset($_POST['emmsg']) ? $_POST['emmsg'] : '');
if(isset($_POST['em_name'])) { $em_name = $_POST['em_name']; } else {
$error .= 'Proszę wprowadź nazwę';
if(!empty($_POST['em_name'])) { $em_name = $_POST['em_name']; } else {
$error .= 'Please enter your name </br>';
}
if(isset($_POST['em_mail'])) { $em_mail = $_POST['em_mail']; } else {
$error .= 'Proszę wprowadź adres email';
if(!empty($_POST['em_mail'])) { $em_mail = $_POST['em_mail']; } else {
$error .= 'Please enter your email address </br>';
}
if(isset($_POST['em_meeessage'])) { $em_meeessage = $_POST['em_meeessage']; } else {
$error .= 'Proszę wprowadź tersć wiadmości';
if(!empty($_POST['em_message'])) { $em_message = $_POST['em_message']; } else {
$error .= 'Please enter your message </br>';
}
$targetEmail = 'To: Tylkofotografia <' .get_option('incontact-target-mail') .'>';
@@ -64,9 +68,6 @@ class Shortcode
'From: ' . $em_name . ' <'.$em_mail.'>',
'Reply-To: ' . $em_name . ' <'.$em_mail.'>'
);
$gRecaptchaResponse = (isset($_POST['g-recaptcha-response']) ? $_POST['g-recaptcha-response'] : '');
$body = '<!DOCTYPE html>
<html lang="pl">
<head>
@@ -156,16 +157,19 @@ class Shortcode
</body>
</html>
';
$body = str_replace(
$body = str_replace(
['{{IMIE_NAZWISKO}}', '{{EMAIL}}', '{{TELEFON}}', '{{WIADOMOSC}}', '{{ROK}}'],
[$em_name, $em_mail, $telefon, nl2br($em_meeessage), date("Y")],
$body
);
[$em_name, $em_mail, $telefon, str_replace(array("\r\n", "\r", "\n"), "<br />", $em_message), date("Y")],
$body
) ;
//$gRecaptchaResponse = (isset($_POST['g-recaptcha-response']) ? $_POST['g-recaptcha-response'] : '');
if (!empty($atts['class'])) {
/*if (!empty($atts['class'])) {
$class = $atts['class'];
}
if ($emmsg == 'true' && $error) {
}*/
if (!empty($error)) {
$html .= '<div class="alert alert-success" role="alert">' . $error . '</div>';
} elseif ($emmsg == 'true')
@@ -184,47 +188,49 @@ class Shortcode
$errors = $resp->getErrorCodes();
}*/
}
}
wp_enqueue_style('ContactCss', plugins_url( '/css/cform.css', __FILE__ ));
$html .= '<script src="https://www.google.com/recaptcha/api.js"></script>
/*$html .= '<script src="https://www.google.com/recaptcha/api.js"></script>
<script>
$(document).ready(function(){window.setTimeout(function(){$(".alert").fadeTo(500,0).slideUp(500,function(){$(this).remove()})},2e3)}),$(document).ready(function(){"use strict";window.addEventListener("load",function(){var t=document.getElementsByClassName("needs-validation");Array.prototype.filter.call(t,function(t){t.addEventListener("submit",function(e){!1===t.checkValidity()&&(e.preventDefault(),e.stopPropagation()),t.classList.add("was-validated")},!1)})},!1)})();
</script>'."\n";
$html .= '<div class="row justify-content-md-center">
</script>'."\n";*/
$html .= '<div class="row justify-content-md-center">
<div class="col-12">';
if ($mailResult == 1)
{
$html .= '<div class="alert alert-success" role="alert">Wiadomość wysłana pomyślnie!</div>';
$html .= '<div class="alert alert-success" role="alert">Thanks! Your message was sent.</div>';
}
$html .= '<div class="jumbotron"><form action="" class="needs-validation" novalidate method="post" id="demo-form">
<input type="hidden" name="emmsg" value="true" />
<input type="text" id="website" name="website" />
<div class="jumbotron">
<div class="form-group">
<label for="name" class="col-2 control-label">Nazwa</label>
<label for="name" class="col-2 control-label">Name</label>
<div class="col-12">
<input type="text" class="form-control" id="name" name="em_name" placeholder="Imię i nazwisko" value="" required>
<input type="text" class="form-control" id="name" name="em_name" placeholder="Full name" value="" required>
<div class="invalid-feedback">
Wprowadź nazwę!
Please enter your name!
</div>
</div>
</div>
<div class="form-group">
<label for="email" class="col-2 control-label">Email</label>
<div class="col-12">
<input type="email" class="form-control" id="email" name="em_mail" placeholder="twoj@email.com" value="" required>
<input type="email" class="form-control" id="email" name="em_mail" placeholder="you@example.com" value="" required>
<div class="invalid-feedback">
Podaj adres email!
Please enter your email address!
</div>
</div>
</div>
<div class="form-group">
<p class="col-2 control-label">Wiadomość</p>
<p class="col-2 control-label">Message</p>
<div class="col-12">
<textarea class="form-control" rows="4" name="em_meeessage" required></textarea>
<textarea class="form-control" rows="4" name="em_message" placeholder="Write your message here..." required></textarea>
<div class="invalid-feedback">
Wprowadź treść wiadmości!
Please enter your message!
</div>
</div>
</div>
@@ -234,9 +240,10 @@ class Shortcode
</div>
</div>
<div class="form-group">
<p></p>
<div class="col-4">
<button id="submit" name="submit" type="submit" value="Send" class="btn btn-primary">
<i class="fas fa-paper-plane"></i> Wyślij
<i class="fas fa-paper-plane"></i> Send
</button>
</div>
</div>
@@ -244,6 +251,7 @@ class Shortcode
</form>
</div>
</div></div>';
return $html;
}