1.7.8
This commit is contained in:
parent
a65eb6a5e6
commit
7cdae26c7d
@ -24,7 +24,7 @@ pageTitle = "Association E59"
|
|||||||
pageName = "E59"
|
pageName = "E59"
|
||||||
headerTitle = "E59"
|
headerTitle = "E59"
|
||||||
headerSubtitle = "Rassembler pour innover"
|
headerSubtitle = "Rassembler pour innover"
|
||||||
footerText = "© Association E59 - v1.7 - <a href='/about/data.php'>Politique de confidentialité</a>"
|
footerText = "© Jan BELLON - E59 - v1.7 - <a href='/about/data.php'>Politique de confidentialité</a>"
|
||||||
|
|
||||||
[darkThemes]
|
[darkThemes]
|
||||||
0 = '.body {--text: #ffffff; --background: #0e0e0e; --panel-background: #0e0e0e; --buttons: #ffffff} textarea, .form, .select-input, .text-input, .file-input input, .date-input {border:1px solid #a0a0a0} .button, button {color: #0E0E0E}'
|
0 = '.body {--text: #ffffff; --background: #0e0e0e; --panel-background: #0e0e0e; --buttons: #ffffff} textarea, .form, .select-input, .text-input, .file-input input, .date-input {border:1px solid #a0a0a0} .button, button {color: #0E0E0E}'
|
||||||
@ -32,4 +32,4 @@ footerText = "© Association E59 - v1.7 - <a href='/about/data.php'>Politique de
|
|||||||
2 = '.body {--text: hsl(160, 65%, 95%); --background: hsl(160, 65%, 3%); --panel-background: hsl(160, 65%, 3%); --buttons: hsl(160, 65%, 3%)} .text-input, .date-input, .file-input input, .select-input, .select-input select, textarea, .button, button, .form {border:1px solid var(--text)}'
|
2 = '.body {--text: hsl(160, 65%, 95%); --background: hsl(160, 65%, 3%); --panel-background: hsl(160, 65%, 3%); --buttons: hsl(160, 65%, 3%)} .text-input, .date-input, .file-input input, .select-input, .select-input select, textarea, .button, button, .form {border:1px solid var(--text)}'
|
||||||
|
|
||||||
[lightThemes]
|
[lightThemes]
|
||||||
0 = '.body {--text: #0e0e0e; --background: #ffffff; --panel-background: #ffffff; --buttons: #fafafa} textarea, .button, button, .form, .select-input select, .select-input, .date-input, .text-input, .file-input input {border:1px solid #a0a0a0}'
|
0 = '.body {--text: #0e0e0e; --background: #ffffff; --panel-background: #ffffff; --buttons: #fafafa} textarea, .button, button, .form, .select-input select, .select-input, .date-input, .text-input, .file-input input {border:1px solid #a0a0a0}'
|
||||||
|
@ -1,19 +0,0 @@
|
|||||||
Étudiants en 1ère et 2ème année de BUT Réseaux et Télécoms à l'IUT de Vélizy, nous avons lancé il y a un an et demi le **Club Réseaux** de notre établissement. Grâce à une petite salle mise à notre disposition par l'IUT et du matériel que nous avons apporté ou emprunté, nous avons pu développer un espace dédié à la réalisation de divers projets informatiques.<br />
|
|
||||||
<br />
|
|
||||||
Ces projets spontanés nous ont confrontés à de nombreux défis techniques, nous obligeant à résoudre des problématiques variées et nous offrant l'opportunité d'apprendre des notions en dehors du cadre classique des cours.<br />
|
|
||||||
<br />
|
|
||||||
L'expérience nous a enseigné une leçon précieuse : pour mener à bien un projet, pas besoin d'être un expert ou un prodige. Il suffit d'être passionné par ce que l'on fait. Lorsque l'on travaille sur un projet qui nous passionne, même si le domaine est nouveau, la persévérance nous pousse bien plus loin que lorsque l'on s'engage dans un projet par obligation.<br />
|
|
||||||
<br />
|
|
||||||
C’est dans cet esprit que nous avons lancé le projet associatif **E59**. Notre ambition est de recréer l’environnement stimulant du Club Réseaux, mais cette fois-ci ouvert à tous les étudiants passionnés par les nouvelles technologies. Nous voulons offrir un cadre enrichi, avec des ressources matérielles et financières, pour permettre à chacun de développer des projets innovants tout en apprenant.<br />
|
|
||||||
<br />
|
|
||||||
Bien que notre aventure commence à l'IUT de Vélizy, notre objectif est d'étendre ce modèle à d'autres universités et de créer un réseau de clubs axés sur différentes thématiques technologiques, comme la cybersécurité, les réseaux, le développement, le design, et bien d'autres.<br />
|
|
||||||
<br />
|
|
||||||
Nos valeurs centrales sont l'épanouissement personnel et la liberté d'entreprendre. Nous sommes convaincus que la productivité est décuplée lorsqu'une personne est épanouie, et cet épanouissement passe par la liberté de choisir les projets dans lesquels s'investir.<br />
|
|
||||||
<br />
|
|
||||||
Si ce projet vous intéresse, n'hésitez pas à nous rejoindre sur notre serveur Discord : [https://discord.gg/K6WwKYR8EV](https://discord.gg/K6WwKYR8EV).<br />
|
|
||||||
<br />
|
|
||||||
Si vous souhaitez lancer un club au sein du réseau E59, contactez-nous à [club@e59.fr](mailto:club@e59.fr), nous serons ravis d'échanger avec vous !<br />
|
|
||||||
<br />
|
|
||||||
Vive les projets !<br />
|
|
||||||
<br />
|
|
||||||
Jan
|
|
BIN
html/about/docs/pdf/PV-CA3-E59-UVSQ.pdf
Normal file
BIN
html/about/docs/pdf/PV-CA3-E59-UVSQ.pdf
Normal file
Binary file not shown.
BIN
html/about/img/PV-CA3-E59-UVSQ.jpg
Normal file
BIN
html/about/img/PV-CA3-E59-UVSQ.jpg
Normal file
Binary file not shown.
After Width: | Height: | Size: 45 KiB |
@ -51,7 +51,7 @@ if (isset($_FILES['newPP']) && $_FILES['newPP']['error'] == 0) {
|
|||||||
$status = "Erreur SQL";
|
$status = "Erreur SQL";
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
$status = "Le fichier doit être au format PNG ou JPG";
|
$status = "Erreur lors de la mise à jour de la PP";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -90,7 +90,7 @@ if (isset($_FILES['newBanner']) && $_FILES['newBanner']['error'] == 0) {
|
|||||||
$status = "Erreur SQL";
|
$status = "Erreur SQL";
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
$status = "Le fichier doit être au format PNG ou JPG";
|
$status = "Erreur lors de la mise à jour de la banière";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -84,7 +84,7 @@ $pdo = sqlConnect($sqlDatabaseHost, $sqlDatabaseName, $sqlDatabaseUser, $sqlData
|
|||||||
|
|
||||||
$search = isset($_GET['search']) ? '%' . $_GET['search'] . '%' : '%%';
|
$search = isset($_GET['search']) ? '%' . $_GET['search'] . '%' : '%%';
|
||||||
|
|
||||||
$sqlRequest = "SELECT adherents.ID, adherents.firstname, adherents.lastname, adherents.email, adherents.club, adherents.join_date, adherents.memberid FROM adherents WHERE (adherents.lastname LIKE :search OR adherents.firstname LIKE :search) AND adherents.etape_adhesion = 3";
|
$sqlRequest = "SELECT adherents.ID, adherents.firstname, adherents.lastname, adherents.email, adherents.club, adherents.join_date, adherents.memberid FROM adherents WHERE (adherents.lastname LIKE :search OR adherents.firstname LIKE :search) AND adherents.etape_adhesion = 3 ORDER BY adherents.memberid";
|
||||||
$request = $pdo->prepare($sqlRequest);
|
$request = $pdo->prepare($sqlRequest);
|
||||||
$request->bindParam(":search", $search);
|
$request->bindParam(":search", $search);
|
||||||
$request->execute();
|
$request->execute();
|
||||||
|
@ -17,7 +17,7 @@ $mailHeaders = array(
|
|||||||
|
|
||||||
$httpMails = array(
|
$httpMails = array(
|
||||||
"test" => "Ceci est un email de test",
|
"test" => "Ceci est un email de test",
|
||||||
"rappel" => "<h3>Votre cotisation est en attente de paiement</h3><p>Votre statut de membre adhérent de la E59 débutera après paiement de la cotisation.<br><br><a href='https://e59.fr/adhesion'>e59.fr/adhesion</a><br></br>Si vous souhaitez annuler votre demande d'adhésion, contactez-nous sur Discord</p>"
|
"rappel" => "<h3>Votre cotisation est en attente de paiement</h3><p>Votre statut de membre adhérent de la E59 débutera après paiement de la cotisation à l'adresse <a href='https://e59.fr/adhesion'>e59.fr/adhesion</a><br></br>Si vous souhaitez annuler votre demande d'adhésion, contactez-nous sur Discord</p>"
|
||||||
);
|
);
|
||||||
|
|
||||||
$altMails = array(
|
$altMails = array(
|
||||||
|
BIN
html/assets/pp/15.png
Normal file
BIN
html/assets/pp/15.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 28 KiB |
Binary file not shown.
Before Width: | Height: | Size: 21 KiB After Width: | Height: | Size: 26 KiB |
@ -116,6 +116,11 @@ $pdo = sqlConnect($sqlDatabaseHost, $sqlDatabaseName, $sqlDatabaseUser, $sqlData
|
|||||||
</div>
|
</div>
|
||||||
<div class="second-panel">
|
<div class="second-panel">
|
||||||
<div class="content">
|
<div class="content">
|
||||||
|
<h2>Apprendre, Créer, Grandir</h2>
|
||||||
|
<div>Bienvenue sur le site de la E59, une communauté d'étudiants passionnés par l'informatique.</div>
|
||||||
|
<div>A travers des projets collaboratifs, nous explorons des technologies et développons des compétences pour façonner nos propres parcours.</div>
|
||||||
|
<div>Chaque membre a l'opportunité de découvrir, construire et partager dans un environnement stimulant.</div>
|
||||||
|
<div>Ensemble, nous transformons notre passion en expertise.</div>
|
||||||
<!--<iframe src="https://discord.com/widget?id=1029821278330302625&theme=dark" width="350" height="500" allowtransparency="true" frameborder="0" sandbox="allow-popups allow-popups-to-escape-sandbox allow-same-origin allow-scripts"></iframe>-->
|
<!--<iframe src="https://discord.com/widget?id=1029821278330302625&theme=dark" width="350" height="500" allowtransparency="true" frameborder="0" sandbox="allow-popups allow-popups-to-escape-sandbox allow-same-origin allow-scripts"></iframe>-->
|
||||||
<h2>Nos dernières actualités</h2>
|
<h2>Nos dernières actualités</h2>
|
||||||
<div class="articles-list">
|
<div class="articles-list">
|
||||||
@ -130,11 +135,11 @@ $pdo = sqlConnect($sqlDatabaseHost, $sqlDatabaseName, $sqlDatabaseUser, $sqlData
|
|||||||
}
|
}
|
||||||
?>
|
?>
|
||||||
</div>
|
</div>
|
||||||
<div class="googleadbox">
|
<!--<div class="googleadbox">
|
||||||
<script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-5492094351136590" crossorigin="anonymous"></script>
|
<script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-5492094351136590" crossorigin="anonymous"></script>
|
||||||
<ins class="adsbygoogle" data-ad-client="ca-pub-5492094351136590" data-ad-slot="6694793177"></ins>
|
<ins class="adsbygoogle" data-ad-client="ca-pub-5492094351136590" data-ad-slot="6694793177"></ins>
|
||||||
<script>(adsbygoogle = window.adsbygoogle || []).push({});</script>
|
<script>(adsbygoogle = window.adsbygoogle || []).push({});</script>
|
||||||
</div>
|
</div>-->
|
||||||
</div>
|
</div>
|
||||||
</main>
|
</main>
|
||||||
<footer>
|
<footer>
|
||||||
|
80
html/kezako/osciliator.html
Normal file
80
html/kezako/osciliator.html
Normal file
@ -0,0 +1,80 @@
|
|||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="en">
|
||||||
|
<head>
|
||||||
|
<meta charset="UTF-8">
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||||
|
<title>Oscillating Circle with Trajectory Reset</title>
|
||||||
|
<style>
|
||||||
|
body {
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: center;
|
||||||
|
height: 100vh;
|
||||||
|
}
|
||||||
|
canvas {
|
||||||
|
border: 1px solid black;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
|
||||||
|
<h1>Oscillating Circle with Trajectory Reset</h1>
|
||||||
|
<label for="freqX">Frequency X: </label>
|
||||||
|
<input type="number" id="freqX" value="1">
|
||||||
|
<label for="freqY">Frequency Y: </label>
|
||||||
|
<input type="number" id="freqY" value="1">
|
||||||
|
<canvas id="canvas" width="500" height="500"></canvas>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
const canvas = document.getElementById("canvas");
|
||||||
|
const ctx = canvas.getContext("2d");
|
||||||
|
|
||||||
|
let freqX = 1;
|
||||||
|
let freqY = 1;
|
||||||
|
let time = 0;
|
||||||
|
|
||||||
|
const updateFrequency = () => {
|
||||||
|
freqX = parseInt(document.getElementById("freqX").value);
|
||||||
|
freqY = parseInt(document.getElementById("freqY").value);
|
||||||
|
resetCanvas(); // Efface la trajectoire précédente
|
||||||
|
};
|
||||||
|
|
||||||
|
document.getElementById("freqX").addEventListener("input", updateFrequency);
|
||||||
|
document.getElementById("freqY").addEventListener("input", updateFrequency);
|
||||||
|
|
||||||
|
const animate = () => {
|
||||||
|
// Ne pas effacer tout le canvas pour laisser la trajectoire
|
||||||
|
const x = 250 + 200 * Math.sin(freqX * time);
|
||||||
|
const y = 250 + 200 * Math.cos(freqY * time);
|
||||||
|
|
||||||
|
// Dessine le cercle
|
||||||
|
ctx.beginPath();
|
||||||
|
ctx.arc(x, y, 2, 0, 2 * Math.PI);
|
||||||
|
ctx.fillStyle = 'blue';
|
||||||
|
ctx.fill();
|
||||||
|
|
||||||
|
time += 0.01; // Vitesse de rotation
|
||||||
|
|
||||||
|
requestAnimationFrame(animate);
|
||||||
|
};
|
||||||
|
|
||||||
|
// Réinitialise le canvas et le temps
|
||||||
|
const resetCanvas = () => {
|
||||||
|
ctx.clearRect(0, 0, canvas.width, canvas.height); // Efface tout le canvas
|
||||||
|
time = 0; // Réinitialise le temps
|
||||||
|
initCanvas(); // Redessine le fond
|
||||||
|
};
|
||||||
|
|
||||||
|
// Initialise le canvas avec un fond blanc
|
||||||
|
const initCanvas = () => {
|
||||||
|
ctx.fillStyle = 'white';
|
||||||
|
ctx.fillRect(0, 0, canvas.width, canvas.height);
|
||||||
|
};
|
||||||
|
|
||||||
|
initCanvas();
|
||||||
|
animate();
|
||||||
|
</script>
|
||||||
|
|
||||||
|
</body>
|
||||||
|
</html>
|
@ -255,11 +255,11 @@ if (isset($_GET['article']) && filter_var($_GET['article'], FILTER_VALIDATE_INT)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
?>
|
?>
|
||||||
<div class="googleadbox">
|
<!--<div class="googleadbox">
|
||||||
<script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-5492094351136590" crossorigin="anonymous"></script>
|
<script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-5492094351136590" crossorigin="anonymous"></script>
|
||||||
<ins class="adsbygoogle" data-ad-client="ca-pub-5492094351136590" data-ad-slot="6694793177"></ins>
|
<ins class="adsbygoogle" data-ad-client="ca-pub-5492094351136590" data-ad-slot="6694793177"></ins>
|
||||||
<script>(adsbygoogle = window.adsbygoogle || []).push({});</script>
|
<script>(adsbygoogle = window.adsbygoogle || []).push({});</script>
|
||||||
</div>
|
</div>-->
|
||||||
</div>
|
</div>
|
||||||
</main>
|
</main>
|
||||||
<footer>
|
<footer>
|
||||||
|
@ -46,98 +46,107 @@ if (isset($data['id'])) {
|
|||||||
$responseData = json_decode($response, true);
|
$responseData = json_decode($response, true);
|
||||||
|
|
||||||
if (isset($responseData['id']) && $responseData['status'] == 'PAID') {
|
if (isset($responseData['id']) && $responseData['status'] == 'PAID') {
|
||||||
$date = date('Y-m-d H:i:s', strtotime($responseData['date']));
|
$sqlRequest = "SELECT ID FROM checkouts WHERE reference = :reference";
|
||||||
|
$request = $pdo->prepare($sqlRequest);
|
||||||
$description = $responseData['description'];
|
|
||||||
$username = substr($description, strpos($description, '@') + 1);
|
|
||||||
|
|
||||||
$request = $pdo->prepare("SELECT ID, email FROM users WHERE username = :username");
|
|
||||||
$request->bindParam(":username", $username);
|
|
||||||
$request->execute();
|
|
||||||
$userid = $request->fetchAll(PDO::FETCH_ASSOC);
|
|
||||||
|
|
||||||
if (strpos($description, 'BUY') === 0) {
|
|
||||||
// Récupérer les trois lettres après PAY
|
|
||||||
$product = substr($description, 3, 3);
|
|
||||||
$type = 2;
|
|
||||||
$mailSubject = "Validation de paiement";
|
|
||||||
|
|
||||||
// Vérifier le type d'article
|
|
||||||
if ($product === 'ADH') {
|
|
||||||
$product_id = 1; // Article de type 1
|
|
||||||
$pay_action = "payé son adhésion de 1 EUR";
|
|
||||||
if ($userid) {
|
|
||||||
$sql = "SELECT club FROM adherents WHERE ID = :adherentID";
|
|
||||||
$clubIDStmt = $pdo->prepare($sql);
|
|
||||||
$clubIDStmt->bindParam(':adherentID', $adherentID, PDO::PARAM_INT);
|
|
||||||
$clubIDStmt->execute();
|
|
||||||
$clubIDResult = $clubIDStmt->fetchAll(PDO::FETCH_ASSOC);
|
|
||||||
$clubFormatted = str_pad($clubIDResult[0]['club'], 2, "0", STR_PAD_LEFT);
|
|
||||||
|
|
||||||
$sql = "SELECT ID FROM adherents WHERE memberid LIKE '59" . $clubFormatted . "%'";
|
|
||||||
|
|
||||||
$clubMemberIDStmt = $pdo->prepare($sql);
|
|
||||||
$clubMemberIDStmt->execute();
|
|
||||||
$clubMemberIDList = $clubMemberIDStmt->fetchAll(PDO::FETCH_ASSOC);
|
|
||||||
$clubMemberID = sizeof($clubMemberIDList) + 1;
|
|
||||||
|
|
||||||
$idFormatted = str_pad($clubMemberID, 2, "0", STR_PAD_LEFT);
|
|
||||||
$memberID = "59" . $clubFormatted . $idFormatted;
|
|
||||||
|
|
||||||
$request = $pdo->prepare("UPDATE adherents SET etape_adhesion = 3, memberid = :memberid WHERE userid = :userid");
|
|
||||||
$request->bindParam(":memberid", $userid[0]['ID']);
|
|
||||||
$request->bindParam(":userid", $userid[0]['ID']);
|
|
||||||
$request->execute();
|
|
||||||
$request = $pdo->prepare("UPDATE users SET role = 10 WHERE ID = :userid");
|
|
||||||
$request->bindParam(":userid", $userid[0]['ID']);
|
|
||||||
$request->execute();
|
|
||||||
$mailBody = "Nous avons bien recu votre cotisation de 1 EUR. Votre carte membre est consultable à la page e59.fr/adhesion .";
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
$product_id = null; // Cas où le type n'est pas ADH
|
|
||||||
$pay_action = "payé un truc à " . $responseData['amount'] . " EUR";
|
|
||||||
$mailBody = "Nous avons bien recu votre paiement de " . $responseData['amount'] . " EUR";
|
|
||||||
}
|
|
||||||
|
|
||||||
} elseif (strpos($description, 'DON') === 0) {
|
|
||||||
// Article de type NULL pour les chaînes qui commencent par DON
|
|
||||||
$product_id = null;
|
|
||||||
$pay_action = "fait un don de " . $responseData['amount'] . " EUR";
|
|
||||||
$type = 1;
|
|
||||||
$mailSubject = "Merci pour votre don";
|
|
||||||
$mailBody = "Nous vous remercions pour votre don de " . $responseData['amount'] . " EUR";
|
|
||||||
} else {
|
|
||||||
// Si la chaîne ne commence ni par PAY ni par DON
|
|
||||||
$product_id = null;
|
|
||||||
}
|
|
||||||
|
|
||||||
// Récupérer le nom d'utilisateur après le @
|
|
||||||
|
|
||||||
$request = $pdo->prepare("INSERT INTO checkouts (amount, reference, date, description, checkout_id, status, transaction_id, userid, type, product) VALUES (:amount, :reference, :date, :description, :checkout_id, :status, :transaction_id, :userid, :type, :product)");
|
|
||||||
$request->bindParam(":amount", $responseData['amount']);
|
|
||||||
$request->bindParam(":reference", $responseData['checkout_reference']);
|
$request->bindParam(":reference", $responseData['checkout_reference']);
|
||||||
$request->bindParam(":date", $date);
|
|
||||||
$request->bindParam(":description", $responseData['description']);
|
|
||||||
$request->bindParam(":checkout_id", $responseData['id']);
|
|
||||||
$request->bindParam(":status", $responseData['status']);
|
|
||||||
$request->bindParam(":transaction_id", $responseData['transaction_id']);
|
|
||||||
$request->bindParam(":userid", $userid[0]['ID']);
|
|
||||||
$request->bindParam(":type", $type);
|
|
||||||
$request->bindParam(":product", $product_id);
|
|
||||||
$request->execute();
|
$request->execute();
|
||||||
|
$result = $request->fetchAll(PDO::FETCH_ASSOC);
|
||||||
|
if ($result) {
|
||||||
|
exit();
|
||||||
|
} else {
|
||||||
|
$date = date('Y-m-d H:i:s', strtotime($responseData['date']));
|
||||||
|
|
||||||
$from = "sumup@e59.fr";
|
$description = $responseData['description'];
|
||||||
$fromName = "Sumup E59";
|
$username = substr($description, strpos($description, '@') + 1);
|
||||||
$to = "finances@e59.fr";
|
|
||||||
$fromName = "Paiements E59";
|
$request = $pdo->prepare("SELECT ID, email FROM users WHERE username = :username");
|
||||||
$subject = "Nouveau paiement";
|
$request->bindParam(":username", $username);
|
||||||
$body = "$username a fait un paiement de " . $responseData['amount'] . " EUR.";
|
$request->execute();
|
||||||
$altbody = "$username a fait un paiement de " . $responseData['amount'] . " EUR.";
|
$userid = $request->fetchAll(PDO::FETCH_ASSOC);
|
||||||
sendMail($from, $fromName, $to, $subject, $body, $altbody);
|
|
||||||
$from = "no-reply@e59.fr";
|
if (strpos($description, 'BUY') === 0) {
|
||||||
$fromName = "Association E59";
|
// Récupérer les trois lettres après PAY
|
||||||
$to = $userid[0]['email'];
|
$product = substr($description, 3, 3);
|
||||||
sendMail($from, $fromName, $to, $mailSubject, $mailBody, $mailBody);
|
$type = 2;
|
||||||
|
$mailSubject = "Confirmation de paiement";
|
||||||
|
|
||||||
|
// Vérifier le type d'article
|
||||||
|
if ($product === 'ADH') {
|
||||||
|
$product_id = 1; // Article de type 1
|
||||||
|
$pay_action = "payé son adhésion de 1 EUR";
|
||||||
|
if ($userid) {
|
||||||
|
$sql = "SELECT club FROM adherents WHERE ID = :adherentID";
|
||||||
|
$clubIDStmt = $pdo->prepare($sql);
|
||||||
|
$clubIDStmt->bindParam(':adherentID', $adherentID, PDO::PARAM_INT);
|
||||||
|
$clubIDStmt->execute();
|
||||||
|
$clubIDResult = $clubIDStmt->fetchAll(PDO::FETCH_ASSOC);
|
||||||
|
$clubFormatted = str_pad($clubIDResult[0]['club'], 2, "0", STR_PAD_LEFT);
|
||||||
|
|
||||||
|
$sql = "SELECT ID FROM adherents WHERE memberid LIKE '59" . $clubFormatted . "%'";
|
||||||
|
|
||||||
|
$clubMemberIDStmt = $pdo->prepare($sql);
|
||||||
|
$clubMemberIDStmt->execute();
|
||||||
|
$clubMemberIDList = $clubMemberIDStmt->fetchAll(PDO::FETCH_ASSOC);
|
||||||
|
$clubMemberID = sizeof($clubMemberIDList) + 1;
|
||||||
|
|
||||||
|
$idFormatted = str_pad($clubMemberID, 2, "0", STR_PAD_LEFT);
|
||||||
|
$memberID = "59" . $clubFormatted . $idFormatted;
|
||||||
|
|
||||||
|
$request = $pdo->prepare("UPDATE adherents SET etape_adhesion = 3, memberid = :memberid WHERE userid = :userid");
|
||||||
|
$request->bindParam(":memberid", $memberID);
|
||||||
|
$request->bindParam(":userid", $userid[0]['ID']);
|
||||||
|
$request->execute();
|
||||||
|
$request = $pdo->prepare("UPDATE users SET role = 10 WHERE ID = :userid");
|
||||||
|
$request->bindParam(":userid", $userid[0]['ID']);
|
||||||
|
$request->execute();
|
||||||
|
$mailBody = "Nous avons bien recu votre cotisation de 1 EUR. Votre carte membre est consultable à la page e59.fr/adhesion .";
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
$product_id = null; // Cas où le type n'est pas ADH
|
||||||
|
$pay_action = "payé un truc à " . $responseData['amount'] . " EUR";
|
||||||
|
$mailBody = "Nous avons bien recu votre paiement de " . $responseData['amount'] . " EUR";
|
||||||
|
}
|
||||||
|
|
||||||
|
} elseif (strpos($description, 'DON') === 0) {
|
||||||
|
// Article de type NULL pour les chaînes qui commencent par DON
|
||||||
|
$product_id = null;
|
||||||
|
$pay_action = "fait un don de " . $responseData['amount'] . " EUR";
|
||||||
|
$type = 1;
|
||||||
|
$mailSubject = "Merci pour votre don";
|
||||||
|
$mailBody = "Nous vous remercions pour votre don de " . $responseData['amount'] . " EUR";
|
||||||
|
} else {
|
||||||
|
// Si la chaîne ne commence ni par PAY ni par DON
|
||||||
|
$product_id = null;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Récupérer le nom d'utilisateur après le @
|
||||||
|
|
||||||
|
$request = $pdo->prepare("INSERT INTO checkouts (amount, reference, date, description, checkout_id, status, transaction_id, userid, type, product) VALUES (:amount, :reference, :date, :description, :checkout_id, :status, :transaction_id, :userid, :type, :product)");
|
||||||
|
$request->bindParam(":amount", $responseData['amount']);
|
||||||
|
$request->bindParam(":reference", $responseData['checkout_reference']);
|
||||||
|
$request->bindParam(":date", $date);
|
||||||
|
$request->bindParam(":description", $responseData['description']);
|
||||||
|
$request->bindParam(":checkout_id", $responseData['id']);
|
||||||
|
$request->bindParam(":status", $responseData['status']);
|
||||||
|
$request->bindParam(":transaction_id", $responseData['transaction_id']);
|
||||||
|
$request->bindParam(":userid", $userid[0]['ID']);
|
||||||
|
$request->bindParam(":type", $type);
|
||||||
|
$request->bindParam(":product", $product_id);
|
||||||
|
$request->execute();
|
||||||
|
|
||||||
|
$from = "sumup@e59.fr";
|
||||||
|
$fromName = "Sumup E59";
|
||||||
|
$to = "finances@e59.fr";
|
||||||
|
$fromName = "Paiements E59";
|
||||||
|
$subject = "Nouveau paiement";
|
||||||
|
$body = "$username a $pay_action";
|
||||||
|
$altbody = "$username a $pay_action";
|
||||||
|
sendMail($from, $fromName, $to, $subject, $body, $altbody);
|
||||||
|
$from = "no-reply@e59.fr";
|
||||||
|
$fromName = "Association E59";
|
||||||
|
$to = $userid[0]['email'];
|
||||||
|
sendMail($from, $fromName, $to, $mailSubject, $mailBody, $mailBody);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
?>
|
?>
|
@ -18,7 +18,7 @@ body {
|
|||||||
font-size: 20px;
|
font-size: 20px;
|
||||||
color: var(--text);
|
color: var(--text);
|
||||||
margin: 0;
|
margin: 0;
|
||||||
line-height: 1.3;
|
line-height: 1.5;
|
||||||
letter-spacing: 0.02em;
|
letter-spacing: 0.02em;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -33,7 +33,7 @@ function sendMail($from, $fromName, $to, $subject, $body, $altbody) {
|
|||||||
$mail->Host = 'outlook.office365.com'; // Serveur SMTP Exchange
|
$mail->Host = 'outlook.office365.com'; // Serveur SMTP Exchange
|
||||||
$mail->SMTPAuth = true; // Activer l'authentification SMTP
|
$mail->SMTPAuth = true; // Activer l'authentification SMTP
|
||||||
$mail->Username = 'smtp@e59.fr'; // Nom d'utilisateur SMTP
|
$mail->Username = 'smtp@e59.fr'; // Nom d'utilisateur SMTP
|
||||||
$mail->Password = 'WTFdoto5678TFWT'; // Mot de passe SMTP
|
$mail->Password = 'uhwG2EtjmyQ3YpF9S4Bsxzf6r'; // Mot de passe SMTP
|
||||||
$mail->SMTPSecure = 'tls'; // Activer le cryptage TLS
|
$mail->SMTPSecure = 'tls'; // Activer le cryptage TLS
|
||||||
$mail->Port = 587; // Port TCP pour TLS
|
$mail->Port = 587; // Port TCP pour TLS
|
||||||
$mail->CharSet = "UTF-8";
|
$mail->CharSet = "UTF-8";
|
||||||
|
Loading…
x
Reference in New Issue
Block a user