ldc-groupe/rgpd/salaries/index.php
Vincent BRIDIER 4a15f0e9e4 - Update footer EN
- Update DB RGPD
2020-12-16 15:12:36 +01:00

202 lines
8.3 KiB
PHP

<?php
use PHPMailer\PHPMailer\PHPMailer;
use PHPMailer\PHPMailer\Exception;
require("inc/PHPMailer.php");
require("inc/SMTP.php");
require("inc/Exception.php");
require("functions.php");
$db = new \PDO('mysql:host=192.168.31.102;dbname=ldc_06_2020;charset=UTF8', 'ldcadm', 'u2E2Yu3pK8', array(\PDO::ATTR_ERRMODE => \PDO::ERRMODE_EXCEPTION)); // PRD
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);
if ($decode['success'] == true){
session_start();
$mail = new PHPMailer();
configure_smtp($mail);
$bPass=false;
$sErreur="";
if (isset($_POST['lastname']) && isset($_POST['firstname']) && isset($_POST['site']) && isset($_POST['email'])) {
$sSource=htmlspecialchars($_POST['source']);
$sLastName=htmlspecialchars($_POST['lastname']);
$sFirstName=htmlspecialchars($_POST['firstname']);
$sSiteProd=htmlspecialchars($_POST['site']);
$sMail=htmlspecialchars($_POST['email']);
$sChoice=htmlspecialchars($_POST['droits']);
$sMsg=htmlspecialchars($_POST['commentaires']);
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 !";
}
//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 sde 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.
$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>Site : </b>" . $sSiteProd . "<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="fr">
<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>Maîtriser mes données personnelles</legend>
<p>
<label for="nom">Nom*</label>
<input type="text" name="lastname" id="nom" style="width:196px;" autofocus required>
</p>
<p>
<label for="prenom">Prénom*</label>
<input type="text" name="firstname" id="prenom" style="width:177px;" required>
</p>
<p>
<label for="site">De quelle société du Groupe LDC êtes-vous salarié ?*</label>
</p>
<p>
<input type="text" name="site" id="siteprod" style="width:240px;" required>
<p>
<p>
<label for="prenom">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>Quel droit souhaitez-vous exercer ?</option>
<option value="check">Vérifier mes données</option>
<option value="modify">Rectifier mes données</option>
<option value="delete">Effacer mes données</option>
<option value="freeze">Geler l'utilisation de mes données</option>
<option value="import">Emporter mes données</option>
<option value="refuse">M'opposer à l'utilisation de mes données</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="salaries">
<input type="submit" value="Envoyer">
</span>
<span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span>
<span>*champs obligatoires</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 <?php echo($sFirstName); ?> sur notre site !</p>
</div>
<?php
try {
$query = $db->prepare("select post_content from wp01_posts where ID = :id");
$query->execute(['id' => 1946]);
} catch (\PDOException $e) {
die($e->getMessage());
}
$query->setFetchMode(\PDO::FETCH_ASSOC);
$result = $query->fetch();
$query->closeCursor();
?>
<div id="charte" style="display:none; width:80%; height:80%;">
<?= $result['post_content']; ?>
</div>
<?php
}
else {
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
}
}
?>
</body>
</html>