File: /home/f/r/e/frenchy/refonte2023/wordpress/evenements/paiement_inscription.php
<?php
require_once("_mysql.php");
use PHPMailer\PHPMailer\PHPMailer;
use PHPMailer\PHPMailer\Exception;
require 'admin/PHPMailer/src/Exception.php';
require 'admin/PHPMailer/src/PHPMailer.php';
require 'admin/PHPMailer/src/SMTP.php';
setlocale (LC_TIME, 'fr_FR.utf8','fra');
if (isset($_POST['email']) && $_POST['email'] != "")
{
die("Robot");
}
if (isset($_POST['envoiForm']))
{
$type_paiement = 'NON PAYE PAYPAL';
if ($_POST['type_paiement'] == 'CHEQUE')
{
$type_paiement = 'CHEQUE';
$type_carte="";
}
else
{
$type_carte = $_POST['type_carte'];
}
$montant = $_POST['montant'];
$id_inscription = $_POST['inscription'];
$date_naissance = '';
if (isset($_POST['date_naissance_'.$id_inscription]))
{
$date_naissance = $_POST['date_naissance_'.$id_inscription];
}
if($_POST['type_cotisation'] == "individuelle")
{
$civilite_contact = $_POST['civilite_contact'];
$prenom_contact = $_POST['prenom_contact'];
$nom_contact = $_POST['nom_contact'];
$fonction_contact = $_POST['fonction_contact'];
$entreprise_contact = $_POST['entreprise_contact'];
$telephone_contact = $_POST['telephone_contact'];
$portable_assistant = $_POST['portable_assistant'];
$email_contact = $_POST['email_contact'];
$adresse_contact = $_POST['adresse_contact'];
$code_postal_contact = $_POST['code_postal_contact'];
$ville_contact = $_POST['ville_contact'];
}
if($_POST['type_cotisation'] == "entreprise")
{
$civilite_contact = $_POST['civilite_contact_e'];
$prenom_contact = $_POST['prenom_contact_e'];
$nom_contact = $_POST['nom_contact_e'];
$fonction_contact = $_POST['fonction_contact_e'];
$entreprise_contact = $_POST['entreprise_contact_e'];
$telephone_contact = $_POST['telephone_contact_e'];
$portable_assistant= $_POST['portable_assistant_e'];
$portable_contact = $_POST['portable_contact_e'];
$email_contact = $_POST['email_contact_e'];
$email_assistant = $_POST['email_assistant_e'];
$adresse_contact = $_POST['adresse_contact_e'];
$code_postal_contact = $_POST['code_postal_contact_e'];
$ville_contact = $_POST['ville_contact_e'];
}
mysqli_query($link_bdd, "INSERT INTO `inscrits` ( `civilite_contact`, `prenom_contact`, `nom_contact`, `fonction_contact`, `entreprise_contact`, `telephone_contact`, `portable_contact`, `email_contact`, `adresse_entreprise_contact`, `code_postal_entreprise_contact`, `ville_entreprise_contact`, `id_inscription`, `montant_paiement`, `top_paiement`, `date_naissance`, `type_carte`, `email_assistant`, `portable_assistant`) VALUES
( '".mysqli_real_escape_string($link_bdd, $civilite_contact)."', '".mysqli_real_escape_string($link_bdd, $prenom_contact)."','".mysqli_real_escape_string($link_bdd, $nom_contact)."','".mysqli_real_escape_string($link_bdd, $fonction_contact)."','".mysqli_real_escape_string($link_bdd, $entreprise_contact)."','".mysqli_real_escape_string($link_bdd, $telephone_contact)."','".mysqli_real_escape_string($link_bdd, $portable_contact)."','".mysqli_real_escape_string($link_bdd, $email_contact)."','".mysqli_real_escape_string($link_bdd, $adresse_contact)."','".mysqli_real_escape_string($link_bdd, $code_postal_contact)."','".mysqli_real_escape_string($link_bdd, $ville_contact)."','".mysqli_real_escape_string($link_bdd, $id_inscription)."','".mysqli_real_escape_string($link_bdd, $montant)."','".$type_paiement."','".mysqli_real_escape_string($link_bdd, $date_naissance)."','".mysqli_real_escape_string($link_bdd, $type_carte)."','".mysqli_real_escape_string($link_bdd, $email_assistant)."','".mysqli_real_escape_string($link_bdd, $portable_assistant)."')");
$id_contact = mysqli_insert_id($link_bdd);
// Gestion email Cheque
if ($type_paiement =='CHEQUE')
{
// On envoi un mail
$subject = utf8_decode("Votre adhésion et votre facture - French-American Foundation - France");
$fd = fopen("mailadhesioncheque.htm", "r");
$message = fread($fd, filesize('mailadhesioncheque.htm'));
fclose($fd);
if ($montant !=0)
{
$message = str_replace("%CIVILITENOMPRENOM%", stripcslashes($civilite_contact . " " . $prenom_contact . " " . $nom_contact), $message);
// Envoi de la copie du pdf
$reqContact = mysqli_query($link_bdd, "select * from inscrits where id_contact=".$id_contact);
$lineContact = mysqli_fetch_array($reqContact);
$reqDesignation = mysqli_query($link_bdd,"select libelle_inscription_pdf from inscriptions where id_inscription=".$id_inscription);
$lineDesignation = mysqli_fetch_array($reqDesignation);
$designation = str_replace("€", "euros", $lineDesignation["libelle_inscription_pdf"]);
$type_paiement = 'CHEQUE';
require_once("admin/pdf/genepdfadhesion.php");
// PHP Mailer
$mail = new PHPmailer();
$mail->IsSMTP(); // send via SMTP
$mail->Mailer = "smtp"; // Mode d'acces
$mail->Host = "smtp.office365.com"; // SMTP servers
$mail->SMTPDebug = 2;
$mail->SMTPAuth = true; // turn on SMTP authentification
$mail->Username = "sendmail@french-american.org"; // SMTP username
$mail->Password = "SE4848+1"; // SMTP password
$mail->SMTPSecure = 'tls';
$mail->Port = 587;
$mail->IsHTML(true);
$mail->Sender = "contact@french-american.org";
$mail->From="contact@french-american.org";
$mail->FromName="French-american.org";
$mail->AddReplyTo("contact@french-american.org");
$mail->AddAttachment("admin/pdf/factures/".$nompdf);
$mail->Subject=$subject;
$mail->Body=utf8_decode($message);
$mail->ClearAddresses();
$mail->AddAddress($email_contact);
//$mail->AddAddress('francky1006@netcourrier.com');
$mail->Send();
if ($montant !=0)
{
// PHP Mailer
$mail2 = new PHPmailer();
$mail2->IsSMTP(); // send via SMTP
$mail2->Mailer = "smtp"; // Mode d'acces
$mail2->Host = "smtp.office365.com"; // SMTP servers
$mail2->SMTPAuth = true; // turn on SMTP authentification
$mail2->Username = "sendmail@french-american.org"; // SMTP username
$mail2->Password = "SE4848+1"; // SMTP password
$mail2->SMTPSecure = 'tls';
$mail2->Port = 587;
$mail2->IsHTML(true);
$mail2->Sender = "contact@french-american.org";
$mail2->From="contact@french-american.org";
$mail2->FromName="French-american.org";
$mail2->AddReplyTo("contact@french-american.org");
$mail2->AddAttachment("admin/pdf/factures/".$nompdf);
$mail2->Subject='Commande par Cheque Formulaire French American Foundation - France';
$mail2->Body=utf8_decode($message);
$mail2->ClearAddresses();
$mail2->AddAddress('rozenn.jouannigot@french-american.org');
$mail2->AddAddress('rim.hammami@french-american.org');
$mail2->AddAddress('francky1006@netcourrier.com');
$mail2->Send();
@unlink("admin/pdf/factures/".$nompdf);
}
header('location:http://www.french-american.org/evenements/merciadhesion.php');
}
}
}
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta content="text/html;charset=UTF-8" http-equiv="content-type"/>
<title>French American - Merci de votre Adhésion</title>
<style type="text/css">
/* General styles */
body { margin: 0; padding: 0; font: 11px Calibri,Arial,Helvetica,sans-serif; color: #111; background-color: #FFF; }
a:hover{
color:#0172b6;
}
a{
color:#0172b6;
}
a:visited{
color:#0172b6;
}
h2 { margin: 0px; padding: 10px; font-family: Georgia, "Times New Roman", Times, serif; font-size: 200%; font-weight: normal; color: #FFF; background-color: #CCC; border-bottom: #BBB 2px solid; }
/* Form styles */
div.form-container {margin: auto; padding: 5px;}
p.legend { margin-bottom: 1em; }
p.legend em { color: #C00; font-style: normal; }
div.form-container form p { margin: 0; }
div.form-container form p.note { margin-left: 170px; font-size: 90%; color: #333; }
div.form-container form fieldset { margin: 10px 0; padding: 10px; border: #DDD 1px solid; }
div.form-container form legend { font-weight: bold; color: #666; }
div.form-container form fieldset div { padding: 0.25em 0; }
div.form-container label,
div.form-container span.label { margin-right: 10px; padding-right: 10px; width: 150px; display: block; float: left; text-align: right; position: relative; }
div.form-container label em,
div.form-container span.label em { position: absolute; right: 0; font-size: 120%; font-style: normal; color: #C00; }
div.form-container input:focus,
div.form-container textarea:focus { background-color: #FFC; border-color: #FC6; }
div.form-container div.controlset label,
div.form-container div.controlset input { display: inline; float: none; }
div.form-container div.controlset div { margin-left: 170px; }
div.form-container div.buttonrow { margin: auto; text-align:center;}
#divAdhesion { margin: auto; text-align:center; border-width:2px; border-style:solid; border-color:#000000;}
#messageNonMembre { text-align:center; font-size: 12px; font-weight: bold;color:#FF0000;}
#checkboxMembre { font-size: 14px; font-weight: bold;}
</style>
</head>
<body>
<div id="header" style="border: 1px solid #8a959b; width: 752px; margin: auto;">
<table width="100%" cellspacing="0" cellpaddin="0">
<tr>
<td width="50%">
<img src="/evenements/images/logo_faf.jpg" alt="logo FAF" style="float: left; margin: 30px;" width="300">
</td>
<td width="50%">
<p style="font-size: 24px;font-weight:bold; color:#0172b6; text-align:right; margin: 30px;">Adhésion individuelle <?=date("Y")?></p>
</td>
</tr>
<tr>
<td colspan="2" style="background-color:#0172b6; width: 100%;">
<div style="text-align: center; color:#ffffff; font-size: 20px;"><b>Devenir membre de la French-American Foundation – France</b></div>
<div style="text-align: center; color:#ffffff; font-size: 18px;"><b></b></div>
</td>
</tr>
<tr>
<td colspan="2">
<script src="https://www.paypalobjects.com/api/checkout.js"></script>
<div id="bouton-paypal" style="width: 250px;margin: 0 auto;padding-top: 30px;padding-bottom: 30px;"></div>
<script>
paypal.Button.render({
env: 'production', // Ou 'production',
commit: true, // Affiche le bouton "Payer maintenant"
style: {
color: 'gold', // ou 'blue', 'silver', 'black'
size: 'responsive' // ou 'small', 'medium', 'large'
// Autres options de style disponibles ici : https://developer.paypal.com/docs/integration/direct/express-checkout/integration-jsv4/customize-button/
},
payment: function() {
// On crée une variable contenant le chemin vers notre script PHP côté serveur qui se chargera de créer le paiement
var CREATE_URL = 'paypal_create_payment.php?id=<?php echo $id_contact ?>&mtt=<?php echo $montant; ?>';
// On exécute notre requête pour créer le paiement
return paypal.request.post(CREATE_URL)
.then(function(data) { // Notre script PHP renvoie un certain nombre d'informations en JSON (vous savez, grâce à notre echo json_encode(...) dans notre script PHP !) qui seront récupérées ici dans la variable "data"
if (data.success) { // Si success est vrai (<=> 1), on peut renvoyer l'id du paiement généré par PayPal et stocké dans notre data.paypal_reponse (notre script en aura besoin pour poursuivre le processus de paiement)
return data.paypal_response.id;
} else { // Sinon, il y a eu une erreur quelque part. On affiche donc à l'utilisateur notre message d'erreur généré côté serveur et passé dans le paramètre data.msg, puis on retourne false, ce qui aura pour conséquence de stopper net le processus de paiement.
alert(data.msg);
return false;
}
});
},
onAuthorize: function(data, actions) {
// On indique le chemin vers notre script PHP qui se chargera d'exécuter le paiement (appelé après approbation de l'utilisateur côté client).
var EXECUTE_URL = 'paypal_execute_payment.php?id=<?php echo $id_contact ?>';
// On met en place les données à envoyer à notre script côté serveur
// Ici, c'est PayPal qui se charge de remplir le paramètre data avec les informations importantes :
// - paymentID est l'id du paiement que nous avions précédemment demandé à PayPal de générer (côté serveur) et que nous avions ensuite retourné dans notre fonction "payment"
// - payerID est l'id PayPal de notre client
// Ce couple de données nous permettra, une fois envoyé côté serveur, d'exécuter effectivement le paiement (et donc de recevoir le montant du paiement sur notre compte PayPal).
// Attention : ces données étant fournies par PayPal, leur nom ne peut pas être modifié ("paymentID" et "payerID").
var data = {
paymentID: data.paymentID,
payerID: data.payerID
};
// On envoie la requête à notre script côté serveur
return paypal.request.post(EXECUTE_URL, data)
.then(function (data) { // Notre script renverra une réponse (du JSON), à nouveau stockée dans le paramètre "data"
if (data.success) { // Si le paiement a bien été validé, on peut par exemple rediriger l'utilisateur vers une nouvelle page, ou encore lui afficher un message indiquant que son paiement a bien été pris en compte, etc.
window.location.replace("http://french-american.org/evenements/merciadhesion.php");
//alert("Paiement approuv\351 ! Merci !");
} else {
// Sinon, si "success" n'est pas vrai, cela signifie que l'exécution du paiement a échoué. On peut donc afficher notre message d'erreur créé côté serveur et stocké dans "data.msg".
alert(data.msg);
}
});
},
onCancel: function(data, actions) {
alert("Erreur de paiement : vous avez ferm\351 la fen\352tre de paiement.");
},
onError: function(err) {
alert("Erreur de paiement : une erreur est survenue. Merci de bien vouloir r\351essayer ult\351rieurement.");
}
}, '#bouton-paypal');
</script>
<?php
/* Debut de paiement Paypal */
/*echo '<font face=Verdana size=2><center><br><br>
Merci.<br /><br />Pour finaliser votre inscription, nous vous invitons à effectuer votre règlement en ligne par carte bancaire via Paypal.<br>
<br><br>
<form action="https://www.paypal.com/cgi-bin/webscr" method="post">
<input type=hidden name="amount" value="'.number_format($montant, 2, '.', '').'">
<input type=hidden name="cmd" value="_xclick">
<input name="return" type="hidden" value="http://www.french-american.org/evenements/merciadhesion.php">
<input name="cancel_return" type="hidden" value="http://www.french-american.org/evenements/annuleadhesion.php">
<input name="notify_url" type="hidden" value="http://www.french-american.org/evenements/ipn_paypal_adhesion.php?id_commande='.$id_contact.'">
<input type=hidden name="email" value="'.$email_contact.'">
<input type=hidden name="currency_code" value="EUR">
<input type=hidden name="no_shipping" value="1">
<input type="hidden" name="charset" value="utf-8">
<input type="hidden" name="business_dev" value="'.'franck_1300481920_biz@netcourrier.com'.'">
<input type="hidden" name="business" value="'.'contact@french-american.org'.'">
<input type=hidden name="item_name" value="Adhésion French American Foundation">
<input type=hidden name="no_note" value="1">
<input name="custom" type="hidden" value="'.$id_contact.'" />
<input type=submit name=submit value="Procéder au paiement sécurisé par CB >>">
</form>
<br><br>';*/
/* Fin de paiement Paypal */
?>
</td>
</tr>
</table>
</div>
</body></html>