fomulaire RGPD de/en
This commit is contained in:
parent
407158963e
commit
12a63a1ee4
2 changed files with 420 additions and 0 deletions
210
rgpd/consommateurs/de/index.php
Normal file
210
rgpd/consommateurs/de/index.php
Normal file
|
|
@ -0,0 +1,210 @@
|
|||
<?php
|
||||
require_once '../autoload.php';
|
||||
|
||||
use PHPMailer\PHPMailer\PHPMailer;
|
||||
use PHPMailer\PHPMailer\Exception;
|
||||
|
||||
// Tableau de tous les sites pointant sur le formulaire RGPD Groupe LDC
|
||||
$tSitesweb = array ('acb', 'agis-sa', 'boutique-vol', 'corico', 'espri', 'foods', 'idhalal', 'jx-argoat', 'jx-reghalal', 'ldc', 'ldc-rest', 'lmdb', 'lpt', 'lta', 'mairet', 'marie', 'mdn-loue', 'ner', 'pet', 'sbv', 'tda', 'regalette');
|
||||
$sDebug="";
|
||||
|
||||
// Si j'ai des POST et que j'ai le POST du recaptcha
|
||||
if(isset($_POST) && isset($_POST['g-recaptcha-response'])){
|
||||
$secret = "6LcPodQUAAAAANOJ3SMyXVidfktbHFesx5VIAxsO";
|
||||
$response = $_POST['g-recaptcha-response'];
|
||||
|
||||
if(isset($_SERVER["HTTP_X_FORWARDED_FOR"]) && $_SERVER["HTTP_X_FORWARDED_FOR"] != ""){
|
||||
if (strpos($_SERVER['HTTP_X_FORWARDED_FOR'], ',')) {
|
||||
$explode = explode(',', $_SERVER['HTTP_X_FORWARDED_FOR']);
|
||||
$remoteip = trim($explode[0]);
|
||||
}else{
|
||||
$remoteip = $_SERVER['HTTP_X_FORWARDED_FOR'];
|
||||
}
|
||||
}else{
|
||||
$remoteip = $_SERVER["REMOTE_ADDR"];
|
||||
}
|
||||
|
||||
$api_url = "https://www.google.com/recaptcha/api/siteverify?secret=". $secret. "&response=" . $response. "&remoteip=" . $remoteip ;
|
||||
$decode = json_decode(file_get_contents($api_url), true);
|
||||
|
||||
// Si le recaptcha et OK
|
||||
if ($decode['success'] == true){
|
||||
// Déclaration d'un PHPMailer
|
||||
$mail = new PHPMailer();
|
||||
// Valorisation des variables pour dialoguer avec le serveur mail
|
||||
configure_smtp($mail);
|
||||
$bPass=false;
|
||||
$sErreur="";
|
||||
$sSiteweb="";
|
||||
|
||||
// Vérification que toutes les informations demandées ont été renseignées
|
||||
if (isset($_POST['lastname']) && isset($_POST['firstname']) && isset($_POST['email'])) {
|
||||
$sSource=htmlspecialchars($_POST['source']);
|
||||
$sLastName=htmlspecialchars($_POST['lastname']);
|
||||
$sFirstName=htmlspecialchars($_POST['firstname']);
|
||||
$sMail=htmlspecialchars($_POST['email']);
|
||||
$sChoice=htmlspecialchars($_POST['droits']);
|
||||
$sMsg=htmlspecialchars($_POST['commentaires']);
|
||||
// Vérification de la structure de l'adresse mail (la gestion d'erreur n'est pas prise en compte)
|
||||
if (!preg_match("#^[a-z0-9._-]+@[a-z0-9._-]{2,}\.[a-z]{2,4}$#", $sMail)) {
|
||||
$sErreur="La structure de l'email n'est pas correcte !";
|
||||
}
|
||||
// Dès qu'il y a un GET website, on ctrl selon le tab déclaré en début de code.
|
||||
if (isset($_GET['website'])) {
|
||||
$sSiteweb=htmlspecialchars($_GET['website']);
|
||||
$bSiteOK=false;
|
||||
foreach($tSitesweb as $site) {
|
||||
if ($sSiteweb == $site) {
|
||||
$bSiteOK=true;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
// On construit le mail si pas de GET siteweb ou si le GET est OK.
|
||||
if ($sSiteweb == "" || $bSiteOK == true) {
|
||||
//Objet du mail
|
||||
$mail->Subject = 'Nouvelles dispositions RGPD - ' . $sSource;
|
||||
// Email de l'expéditeur affiché dans le mail envoyé.
|
||||
$mail->From =$sMail;
|
||||
// Email de l'expéditeur
|
||||
$mail->Sender= $sMail;
|
||||
// Nom de l'expéditeur affiché dans le mail envoyé
|
||||
$mail->FromName= $sFirstName . ' ' . $sLastName;
|
||||
|
||||
switch ($sChoice) {
|
||||
case 'check':
|
||||
$right='Vérifier mes données';
|
||||
break;
|
||||
case 'modify':
|
||||
$right='Rectifier mes données';
|
||||
break;
|
||||
case 'delete':
|
||||
$right='Effacer mes données';
|
||||
break;
|
||||
case 'freeze':
|
||||
$right='Geler l\'utilisation de mes données';
|
||||
break;
|
||||
case 'import':
|
||||
$right='Emporter mes données';
|
||||
break;
|
||||
case 'refuse':
|
||||
$right='M\'opposer à l\'utilisation de mes données';
|
||||
break;
|
||||
default:
|
||||
$right='Aucun choix.';
|
||||
break;
|
||||
}
|
||||
//Le contenu du mail.
|
||||
if ($sSiteweb != "") {
|
||||
$sBody="<b>Source : </b>" . $sSource . " (via le site web " . $sSiteweb . ")<br><br>";
|
||||
} else {
|
||||
$sBody="<b>Source : </b>" . $sSource . "<br><br>";
|
||||
}
|
||||
$sBody=$sBody . "<b>Nom : </b>" . $sLastName . "<br>";
|
||||
$sBody=$sBody . "<b>Prénom : </b>" . $sFirstName . "<br>";
|
||||
$sBody=$sBody . "<b>Email : </b>" . $sMail . "<br><br>";
|
||||
$sBody=$sBody . "<b>L'utilisateur souhaite exercer le droit suivant :</b> " . $right . "<br><br>";
|
||||
$sBody=$sBody . "<b>Message : </b>" . $sMsg;
|
||||
|
||||
$mail->Body = $sBody;
|
||||
|
||||
$bSendOK=false;
|
||||
$bPass=true;
|
||||
if ($mail->send()){
|
||||
$bSendOK=true;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
?>
|
||||
|
||||
<!DOCTYPE html>
|
||||
<html lang="de">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<meta http-equiv="X-UA-Compatible" content="ie=edge">
|
||||
<link rel="stylesheet" href="../css/style.css"/>
|
||||
<script src="https://cdn.jsdelivr.net/npm/jquery@3.4.1/dist/jquery.min.js"></script>
|
||||
<link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/fancyapps/fancybox@3.5.7/dist/jquery.fancybox.min.css" />
|
||||
<script src="https://cdn.jsdelivr.net/gh/fancyapps/fancybox@3.5.7/dist/jquery.fancybox.min.js"></script>
|
||||
<script src='https://www.google.com/recaptcha/api.js' async defer></script>
|
||||
<title>Formulaire RGPD</title>
|
||||
</head>
|
||||
<body>
|
||||
<div class="container">
|
||||
<form method="POST">
|
||||
<fieldset>
|
||||
<legend>Zugriff auf meine persönliche Daten<?= $sDebug; ?></legend>
|
||||
<p>
|
||||
<label for="nom">Name*</label>
|
||||
<input type="text" name="lastname" id="nom" style="width:196px;" autofocus required>
|
||||
</p>
|
||||
<p>
|
||||
<label for="prenom">Vorname*</label>
|
||||
<input type="text" name="firstname" id="prenom" style="width:177px;" required>
|
||||
</p>
|
||||
<p>
|
||||
<label for="courriel">Email*</label>
|
||||
<input type="text" name="email" id="mail" style="width:191px;" required>
|
||||
</p>
|
||||
<p>
|
||||
<select name="droits" id="selDroits" style="width:250px;">
|
||||
<option value="ask" selected>Welches Recht möchten Sie geltend machen?</option>
|
||||
<option value="check">Meine Daten prüfen</option>
|
||||
<option value="modify">Meine Daten ändern</option>
|
||||
<option value="delete">Meine Daten löschen</option>
|
||||
<option value="freeze">Die Nutzung von meinen Daten sperren</option>
|
||||
<option value="import">Meine Daten mitnehmen</option>
|
||||
<option value="refuse">Die Nutzung von meinen Daten verweigern</option>
|
||||
</select>
|
||||
</p>
|
||||
<p>
|
||||
<textarea name="commentaires" id="comment" maxlength="1900" rows="10"
|
||||
placeholder="Weitere Informationen"></textarea>
|
||||
</p>
|
||||
<div class="g-recaptcha" data-sitekey="6LcPodQUAAAAAEOYHMF7Et6qvzu_F3jZ3HhOlV7Q"></div>
|
||||
<p class="button">
|
||||
<span>
|
||||
<input type="hidden" name="source" value="consommateurs">
|
||||
<input type="submit" value="Senden">
|
||||
</span>
|
||||
<span> </span>
|
||||
<span>*Pflichtfelder</span>
|
||||
</p>
|
||||
</fieldset>
|
||||
</form>
|
||||
</div>
|
||||
|
||||
<?php if (isset($bSendOK)): ?>
|
||||
<div class="return">
|
||||
<p>Votre demande a été transmise à nos services. Vous recevrez une réponse à l'adresse mail renseignée dans le formulaire dans les plus brefs délais. Pour plus d'informations, merci de consulter notre <a data-fancybox data-src="#charte" href="javascript:;">charte de confidentialité</a>.<br>
|
||||
A bientôt <?= $sFirstName; ?> sur notre site !</p>
|
||||
</div>
|
||||
<?php
|
||||
try {
|
||||
$query = $db->prepare("SELECT post_content FROM $charte_TABLE WHERE ID = :id");
|
||||
$query->execute(['id' => $charte_POST_ID]);
|
||||
} catch (\PDOException $e) {
|
||||
//die($e->getMessage());
|
||||
die('Une erreur est survenue.');
|
||||
}
|
||||
$query->setFetchMode(\PDO::FETCH_ASSOC);
|
||||
$result = $query->fetch();
|
||||
$query->closeCursor();
|
||||
if (empty($result))
|
||||
die('Une erreur est survenue.');
|
||||
?>
|
||||
<div id="charte" style="display:none; width:80%; height:80%;">
|
||||
<?= $result['post_content']; ?>
|
||||
</div>
|
||||
<?php else: ?>
|
||||
<?php if (isset($bPass)): ?>
|
||||
<div class="return">
|
||||
<p>La demande n'a pas été envoyée car un des champs n'a pas été correctement renseigné !</p>
|
||||
</div>
|
||||
<?php endif; ?>
|
||||
<?php endif; ?>
|
||||
</body>
|
||||
</html>
|
||||
210
rgpd/consommateurs/en/index.php
Normal file
210
rgpd/consommateurs/en/index.php
Normal file
|
|
@ -0,0 +1,210 @@
|
|||
<?php
|
||||
require_once '../autoload.php';
|
||||
|
||||
use PHPMailer\PHPMailer\PHPMailer;
|
||||
use PHPMailer\PHPMailer\Exception;
|
||||
|
||||
// Tableau de tous les sites pointant sur le formulaire RGPD Groupe LDC
|
||||
$tSitesweb = array ('acb', 'agis-sa', 'boutique-vol', 'corico', 'espri', 'foods', 'idhalal', 'jx-argoat', 'jx-reghalal', 'ldc', 'ldc-rest', 'lmdb', 'lpt', 'lta', 'mairet', 'marie', 'mdn-loue', 'ner', 'pet', 'sbv', 'tda', 'regalette');
|
||||
$sDebug="";
|
||||
|
||||
// Si j'ai des POST et que j'ai le POST du recaptcha
|
||||
if(isset($_POST) && isset($_POST['g-recaptcha-response'])){
|
||||
$secret = "6LcPodQUAAAAANOJ3SMyXVidfktbHFesx5VIAxsO";
|
||||
$response = $_POST['g-recaptcha-response'];
|
||||
|
||||
if(isset($_SERVER["HTTP_X_FORWARDED_FOR"]) && $_SERVER["HTTP_X_FORWARDED_FOR"] != ""){
|
||||
if (strpos($_SERVER['HTTP_X_FORWARDED_FOR'], ',')) {
|
||||
$explode = explode(',', $_SERVER['HTTP_X_FORWARDED_FOR']);
|
||||
$remoteip = trim($explode[0]);
|
||||
}else{
|
||||
$remoteip = $_SERVER['HTTP_X_FORWARDED_FOR'];
|
||||
}
|
||||
}else{
|
||||
$remoteip = $_SERVER["REMOTE_ADDR"];
|
||||
}
|
||||
|
||||
$api_url = "https://www.google.com/recaptcha/api/siteverify?secret=". $secret. "&response=" . $response. "&remoteip=" . $remoteip ;
|
||||
$decode = json_decode(file_get_contents($api_url), true);
|
||||
|
||||
// Si le recaptcha et OK
|
||||
if ($decode['success'] == true){
|
||||
// Déclaration d'un PHPMailer
|
||||
$mail = new PHPMailer();
|
||||
// Valorisation des variables pour dialoguer avec le serveur mail
|
||||
configure_smtp($mail);
|
||||
$bPass=false;
|
||||
$sErreur="";
|
||||
$sSiteweb="";
|
||||
|
||||
// Vérification que toutes les informations demandées ont été renseignées
|
||||
if (isset($_POST['lastname']) && isset($_POST['firstname']) && isset($_POST['email'])) {
|
||||
$sSource=htmlspecialchars($_POST['source']);
|
||||
$sLastName=htmlspecialchars($_POST['lastname']);
|
||||
$sFirstName=htmlspecialchars($_POST['firstname']);
|
||||
$sMail=htmlspecialchars($_POST['email']);
|
||||
$sChoice=htmlspecialchars($_POST['droits']);
|
||||
$sMsg=htmlspecialchars($_POST['commentaires']);
|
||||
// Vérification de la structure de l'adresse mail (la gestion d'erreur n'est pas prise en compte)
|
||||
if (!preg_match("#^[a-z0-9._-]+@[a-z0-9._-]{2,}\.[a-z]{2,4}$#", $sMail)) {
|
||||
$sErreur="La structure de l'email n'est pas correcte !";
|
||||
}
|
||||
// Dès qu'il y a un GET website, on ctrl selon le tab déclaré en début de code.
|
||||
if (isset($_GET['website'])) {
|
||||
$sSiteweb=htmlspecialchars($_GET['website']);
|
||||
$bSiteOK=false;
|
||||
foreach($tSitesweb as $site) {
|
||||
if ($sSiteweb == $site) {
|
||||
$bSiteOK=true;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
// On construit le mail si pas de GET siteweb ou si le GET est OK.
|
||||
if ($sSiteweb == "" || $bSiteOK == true) {
|
||||
//Objet du mail
|
||||
$mail->Subject = 'Nouvelles dispositions RGPD - ' . $sSource;
|
||||
// Email de l'expéditeur affiché dans le mail envoyé.
|
||||
$mail->From =$sMail;
|
||||
// Email de l'expéditeur
|
||||
$mail->Sender= $sMail;
|
||||
// Nom de l'expéditeur affiché dans le mail envoyé
|
||||
$mail->FromName= $sFirstName . ' ' . $sLastName;
|
||||
|
||||
switch ($sChoice) {
|
||||
case 'check':
|
||||
$right='Vérifier mes données';
|
||||
break;
|
||||
case 'modify':
|
||||
$right='Rectifier mes données';
|
||||
break;
|
||||
case 'delete':
|
||||
$right='Effacer mes données';
|
||||
break;
|
||||
case 'freeze':
|
||||
$right='Geler l\'utilisation de mes données';
|
||||
break;
|
||||
case 'import':
|
||||
$right='Emporter mes données';
|
||||
break;
|
||||
case 'refuse':
|
||||
$right='M\'opposer à l\'utilisation de mes données';
|
||||
break;
|
||||
default:
|
||||
$right='Aucun choix.';
|
||||
break;
|
||||
}
|
||||
//Le contenu du mail.
|
||||
if ($sSiteweb != "") {
|
||||
$sBody="<b>Source : </b>" . $sSource . " (via le site web " . $sSiteweb . ")<br><br>";
|
||||
} else {
|
||||
$sBody="<b>Source : </b>" . $sSource . "<br><br>";
|
||||
}
|
||||
$sBody=$sBody . "<b>Nom : </b>" . $sLastName . "<br>";
|
||||
$sBody=$sBody . "<b>Prénom : </b>" . $sFirstName . "<br>";
|
||||
$sBody=$sBody . "<b>Email : </b>" . $sMail . "<br><br>";
|
||||
$sBody=$sBody . "<b>L'utilisateur souhaite exercer le droit suivant :</b> " . $right . "<br><br>";
|
||||
$sBody=$sBody . "<b>Message : </b>" . $sMsg;
|
||||
|
||||
$mail->Body = $sBody;
|
||||
|
||||
$bSendOK=false;
|
||||
$bPass=true;
|
||||
if ($mail->send()){
|
||||
$bSendOK=true;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
?>
|
||||
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<meta http-equiv="X-UA-Compatible" content="ie=edge">
|
||||
<link rel="stylesheet" href="../css/style.css"/>
|
||||
<script src="https://cdn.jsdelivr.net/npm/jquery@3.4.1/dist/jquery.min.js"></script>
|
||||
<link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/fancyapps/fancybox@3.5.7/dist/jquery.fancybox.min.css" />
|
||||
<script src="https://cdn.jsdelivr.net/gh/fancyapps/fancybox@3.5.7/dist/jquery.fancybox.min.js"></script>
|
||||
<script src='https://www.google.com/recaptcha/api.js' async defer></script>
|
||||
<title>Formulaire RGPD</title>
|
||||
</head>
|
||||
<body>
|
||||
<div class="container">
|
||||
<form method="POST">
|
||||
<fieldset>
|
||||
<legend>Controlling my personal data <?= $sDebug; ?></legend>
|
||||
<p>
|
||||
<label for="nom">Name*</label>
|
||||
<input type="text" name="lastname" id="nom" style="width:196px;" autofocus required>
|
||||
</p>
|
||||
<p>
|
||||
<label for="prenom">First Name*</label>
|
||||
<input type="text" name="firstname" id="prenom" style="width:177px;" required>
|
||||
</p>
|
||||
<p>
|
||||
<label for="courriel">Email*</label>
|
||||
<input type="text" name="email" id="mail" style="width:191px;" required>
|
||||
</p>
|
||||
<p>
|
||||
<select name="droits" id="selDroits" style="width:250px;">
|
||||
<option value="ask" selected>What kind of rights do you wish to exercise?</option>
|
||||
<option value="check">Checking my datas</option>
|
||||
<option value="modify">Changing my datas</option>
|
||||
<option value="delete">Erasing my datas</option>
|
||||
<option value="freeze">Blocking the use of my datas</option>
|
||||
<option value="import">Withdrawing my datas</option>
|
||||
<option value="refuse">Refusing the use of my data</option>
|
||||
</select>
|
||||
</p>
|
||||
<p>
|
||||
<textarea name="commentaires" id="comment" maxlength="1900" rows="10"
|
||||
placeholder="Informations complémentaires notamment si vous souhaitez nous expliquer les raisons de votre demande (et nous permettre d'améliorer nos services)"></textarea>
|
||||
</p>
|
||||
<div class="g-recaptcha" data-sitekey="6LcPodQUAAAAAEOYHMF7Et6qvzu_F3jZ3HhOlV7Q"></div>
|
||||
<p class="button">
|
||||
<span>
|
||||
<input type="hidden" name="source" value="consommateurs">
|
||||
<input type="submit" value="Submit">
|
||||
</span>
|
||||
<span> </span>
|
||||
<span>*required</span>
|
||||
</p>
|
||||
</fieldset>
|
||||
</form>
|
||||
</div>
|
||||
|
||||
<?php if (isset($bSendOK)): ?>
|
||||
<div class="return">
|
||||
<p>Votre demande a été transmise à nos services. Vous recevrez une réponse à l'adresse mail renseignée dans le formulaire dans les plus brefs délais. Pour plus d'informations, merci de consulter notre <a data-fancybox data-src="#charte" href="javascript:;">charte de confidentialité</a>.<br>
|
||||
A bientôt <?= $sFirstName; ?> sur notre site !</p>
|
||||
</div>
|
||||
<?php
|
||||
try {
|
||||
$query = $db->prepare("SELECT post_content FROM $charte_TABLE WHERE ID = :id");
|
||||
$query->execute(['id' => $charte_POST_ID]);
|
||||
} catch (\PDOException $e) {
|
||||
//die($e->getMessage());
|
||||
die('Une erreur est survenue.');
|
||||
}
|
||||
$query->setFetchMode(\PDO::FETCH_ASSOC);
|
||||
$result = $query->fetch();
|
||||
$query->closeCursor();
|
||||
if (empty($result))
|
||||
die('Une erreur est survenue.');
|
||||
?>
|
||||
<div id="charte" style="display:none; width:80%; height:80%;">
|
||||
<?= $result['post_content']; ?>
|
||||
</div>
|
||||
<?php else: ?>
|
||||
<?php if (isset($bPass)): ?>
|
||||
<div class="return">
|
||||
<p>La demande n'a pas été envoyée car un des champs n'a pas été correctement renseigné !</p>
|
||||
</div>
|
||||
<?php endif; ?>
|
||||
<?php endif; ?>
|
||||
</body>
|
||||
</html>
|
||||
Loading…
Add table
Reference in a new issue