This commit is contained in:
cbo 2024-08-13 23:54:15 +00:00
parent a3cae03056
commit acb30428b1
20 changed files with 510 additions and 258 deletions

View File

@ -1,23 +1,22 @@
Nous sommes étudiants en 1ère et 2ème année de BUT R&T à l'IUT de Vélizy.<br />
Etudiants en 1ère et 2ème année de BUT Réseaux et Télécoms à l'IUT de Vélizy, nous avons fondé le Club Réseaux à l'IUT de Vélizy il y a environ un an et demi.<br />
L'IUT a mis une petite salle à notre disposition, ce qui nous a permis d'avoir un environnement pour travailler sur des projets informatiques divers avec du matériel informatique que nous avons ramenés et du matériel prêté par notre IUT.<br />
<br />
Il y a 4 promos de BUT à l'IUT de Vélizy : MMI, INFO, GEII et les R&T.<br />
Le fait de faire nos petits projets spontanés nous a confrontés à beaucoup de défis et de problèmes à résoudre, ce qui nous a permis d'apprendre des notions hors cursus.<br />
<br />
Il s'avère que nous avons peu d'interactions avec les promos voisines. <br />
Notre IUT organise des évènements pour favoriser l'insertion des nouveaux étudiants mais elles se limitent aux promos individuelles. <br />
Ces mois de projets nous ont montrés que pour réussir un projet, on n'a pas forcément besoin d'être un expert ou un génie. Il suffit juste d'être passionné. Quand on aime un projet, même si on connais pas trop le domaine, on apprend beaucoup plus vite que quand on fait un projet "parce qu'il le faut bien".<br />
<br />
Ce que nous proposons, c'est de créer des relations de projet entre les promos.<br />
Nous avons la vision que étudiants aient une endroit où ils pourraient venir travailler pendant leur temps libre, sur des projets concrets en collaboration avec des étudiants d'autres promos.<br />
C'est pour cela que nous nous sommes lancés dans le projet associatif E59. Nous souhaitons créer un cadre semblable à celui qu'on a au Club Réseaux, mais, ouvert à d'autres étudiants. Nous souhaitons créer un environnement avec des ressources matérielles et financières pour permettre aux étudiants passionnés par les nouvelles technologies, de mener des projets innovants et d'apprendre.<br />
<br />
Nous avons tous des passions et des talents. L'idée derrière la E59 est de voir ce qu'il est possible de faire quand on met l'accent sur la collaboration et l'épanouissement.<br />
Notre périple commence à l'IUT de Vélizy, mais notre objectif c'est de le voir s'étendre à d'autres universités et de créer un réseau de clubs axés sur différentes thématiques technologiques (cyber, réseaux, dev, design etc..).<br />
<br />
Voici les projets que nous avons à proposer :<br />
Nos valeurs principales sont l'épanouissement et la liberté, car il n'y a rien de plus productif qu'une personne épanouie, et l'épanouissement nécessite une certaine liberté de pouvoir s'investir dans les projets qu'on aime.<br />
<br />
- Emission de podcasts au sein de l'IUT de Vélizy dans laquelle toutes personnes (étudiants, enseignants, chercheurs) pourraient échanger / débattre sur des sujets qui les passionnent.<br />
Si le projet vous intéresse, vous pouvez rejoindre notre serveur Discord :[https://discord.gg/K6WwKYR8EV](https://discord.gg/K6WwKYR8EV)<br />
<br />
- KEZAKO, un projet de recherche de solutions d'apprentissage alternatives utilisant le pouvoir d'attraction de l'attention des jeux pour le mettre au service de l'apprentissage et de la recherche<br />
Si vous souhaitez créer un club faisant partie du réseau E59, vous pouvez nous envoyer un petit mail à [club@e59.fr](mailto:club@e59.fr), nous serons ravis d'échanger avec vous.<br />
<br />
- Rotten Core, un système d'exploitation qui apprend le fonctionnement d'un ordinateur au niveau bas<br />
Je vous remercie d'avoir lu l'article et espère vous voir bientôt dans l'un de nos clubs.<br />
<br />
- SNV, une plateforme de monitoring réseau avec une interface sous la forme d'un schéma réseau.<br />
Vive les projets !!<br />
<br />
Biensur, chaque membre de la E59 est libre de proposer des projets.
Jan

Binary file not shown.

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 384 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 162 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 113 KiB

File diff suppressed because one or more lines are too long

View File

@ -116,7 +116,7 @@ $pdo = sqlConnect($sqlDatabaseHost, $sqlDatabaseName, $sqlDatabaseUser, $sqlData
.user-row {
margin: 0.5em;
border-bottom: 1px solid var(--text);
padding: 1em 1em 1em 1em;
padding: 0 1em 0.5em 1em;
display: flex;
justify-content: space-between;
}
@ -171,7 +171,7 @@ $pdo = sqlConnect($sqlDatabaseHost, $sqlDatabaseName, $sqlDatabaseUser, $sqlData
$search = isset($_GET['search']) ? '%' . $_GET['search'] . '%' : '%%';
$sqlRequest = "SELECT adherents.ID, adherents.firstname, adherents.lastname, adherents.email, adherents.club, adherents.validation_date, adherents.memberid FROM adherents WHERE adherents.lastname LIKE :search OR adherents.firstname LIKE :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";
$request = $pdo->prepare($sqlRequest);
$request->bindParam(":search", $search);
$request->execute();
@ -181,7 +181,7 @@ $pdo = sqlConnect($sqlDatabaseHost, $sqlDatabaseName, $sqlDatabaseUser, $sqlData
echo ('<div class="users-list">');
foreach($result as $row) {
echo ('<div class="user-row">');
echo ('<div>' . $row['memberid'] . '</div><div>' . $row['firstname'] . ' ' . $row['lastname'] . '</div><div>' . $row['validation_date'] . '</div></div>');
echo ('<div>' . $row['memberid'] . '</div><div>' . $row['firstname'] . ' ' . $row['lastname'] . '</div><div>' . $row['join_date'] . '</div></div>');
}
echo ('</div>');
} else {

View File

@ -19,55 +19,37 @@ require("../../include/panels.php");
$pdo = sqlConnect($sqlDatabaseHost, $sqlDatabaseName, $sqlDatabaseUser, $sqlDatabasePass);
if (isset($_POST['adhesion-id'])) {
$userID = (int)$_POST['adhesion-id'];
if (isset($_POST['adherent-id'])) {
$adherentID = (int)$_POST['adherent-id'];
try {
// Requête SQL pour déplacer la ligne
$sql = "
INSERT INTO adherents (firstname, lastname, born, promo, club, email, validation_date, userid)
SELECT firstname, lastname, born, promo, club, email, validation_date, userid
FROM adhesions_non_payees
WHERE ID = ?";
$sql2 = "SELECT club FROM adhesions_non_payees WHERE ID = ?;";
$sql3 = "DELETE FROM adhesions_non_payees WHERE ID = ?;";
$clubStmt = $pdo->prepare($sql2);
$clubStmt->bindParam(1, $userID, PDO::PARAM_INT);
$clubStmt->execute();
$clubID = $clubStmt->fetchAll(PDO::FETCH_ASSOC);
$insertStmt = $pdo->prepare($sql);
$insertStmt->bindParam(1, $userID, PDO::PARAM_INT);
$sql = "UPDATE adherents SET etape_adhesion = 3 WHERE ID = :adherentID";
$updateAdherentStmt = $pdo->prepare($sql);
$updateAdherentStmt->bindParam("adherentID", $adherentID, PDO::PARAM_INT);
// Préparation de la requête
if ($insertStmt->execute()) {
$adherentID = $pdo->lastInsertId();
// Requête pour supprimer la ligne de la table d'origine
$sqlDelete = "DELETE FROM adhesions_non_payees WHERE ID = ?";
// Préparation de la requête de suppression
$deleteStmt = $pdo->prepare($sql3);
$deleteStmt->bindParam(1, $userID, PDO::PARAM_INT);
// Exécution de la requête de suppression
if ($deleteStmt->execute()) {
if ($updateAdherentStmt->execute()) {
// Valider la transaction
$sql4 = "SELECT ID FROM `adherents` WHERE club = :clubid";
$clubLocalIDStmt = $pdo->prepare($sql4);
$clubLocalIDStmt->bindParam(":clubid", $clubID[0]['club'], PDO::PARAM_INT);
$clubLocalIDStmt->execute();
$clubLocalIDList = $clubLocalIDStmt->fetchAll(PDO::FETCH_ASSOC);
$clubLocalID = sizeof($clubLocalIDList);
$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);
$clubFormatted = str_pad($clubID[0]['club'], 2, "0", STR_PAD_LEFT);
$idFormatted = str_pad($clubLocalID, 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;
$sql5 = "UPDATE adherents SET memberid = :memberID WHERE ID = :adherentID";
$updateStmt = $pdo->prepare($sql5);
$sql = "UPDATE adherents SET memberid = :memberID WHERE ID = :adherentID";
$updateStmt = $pdo->prepare($sql);
$updateStmt->bindParam(":memberID", $memberID, PDO::PARAM_INT);
$updateStmt->bindParam(":adherentID", $adherentID, PDO::PARAM_INT);
if ($updateStmt->execute()) {
@ -75,55 +57,6 @@ if (isset($_POST['adhesion-id'])) {
} else {
$status = "Erreur lors de la création du memberID";
}
/*$mail = new PHPMailer(true);
try {
// Paramètres du serveur SMTP
$mail->isSMTP(); // Utiliser SMTP
$mail->Host = 'outlook.office365.com'; // Serveur SMTP Exchange
$mail->SMTPAuth = true; // Activer l'authentification SMTP
$mail->Username = 'smtp@e59.fr'; // Nom d'utilisateur SMTP
$mail->Password = 'WTFdoto5678TFWT'; // Mot de passe SMTP
$mail->SMTPSecure = 'tls'; // Activer le cryptage TLS
$mail->Port = 587; // Port TCP pour TLS
// Destinataires
$mail->setFrom('service-adhesions@e59.fr', 'Adhesions E59');
$mail->addAddress($_POST['adhesion-email']);
// Vous pouvez ajouter d'autres destinataires en utilisant $mail->addAddress()
// $mail->addAddress('autre-destinataire@example.com');
// Vous pouvez aussi ajouter des destinataires en copie (CC) ou en copie cachée (BCC)
// $mail->addCC('cc@example.com');
// $mail->addBCC('bcc@example.com');
// Pièces jointes (si nécessaire)
// $mail->addAttachment('/path/to/file.pdf'); // Ajouter un fichier joint
// Contenu de l'email
$mail->isHTML(true); // Activer le format HTML pour l'email
$mail->Subject = "Validation de paiement";
$mail->Body = "<!DOCTYPE html><html lang='fr'><head><meta charset='UTF-8'><meta name='viewport' content='width=device-width, initial-scale=1.0'><title>Demande d'adhesion acceptee</title><style>.content {font-family: Bahnschrift;margin: 0 auto;width: 80%;text-align: center;}</style></head><body><div class='content'><h1>Validation de paiement</h1><p>Nous avons bien recu votre paiement de cotisation</p><p>Vous etes desormais membre de l'association E59</p></div></body></html>";
$mail->AltBody = 'Vous etes membre de l\'association E59 !';
// Envoyer l'email
$mail->send();
// Préparation de la requête de suppression
$setmember = $pdo->prepare("UPDATE users SET role = 1 WHERE ID = ?");
$deleteStmt->bindParam(1, $_POST['adhesion-userid'], PDO::PARAM_INT);
// Exécution de la requête de suppression
$deleteStmt->execute();
} catch (Exception $e) {
error_log("Erreur de Mailer: {$mail->ErrorInfo}");
}*/
} else {
// En cas d'erreur lors de la suppression, annuler la transaction
$status = "Erreur lors de la suppression de la ligne";
error_log("Erreur lors de l'exécution de la requête de suppression : " . $deleteStmt->errorInfo()[2]);
}
} else {
// En cas d'erreur lors de l'insertion, annuler la transaction
$status = "Erreur lors de l'insertion de la ligne";
@ -211,7 +144,7 @@ if (isset($_POST['adhesion-id'])) {
$search = isset($_GET['search']) ? '%' . $_GET['search'] . '%' : '%%';
$sqlRequest = "SELECT adhesions_non_payees.ID, adhesions_non_payees.firstname, adhesions_non_payees.lastname, adhesions_non_payees.email, adhesions_non_payees.validation_date, adhesions_non_payees.userid FROM adhesions_non_payees WHERE adhesions_non_payees.lastname LIKE :search OR adhesions_non_payees.firstname LIKE :search";
$sqlRequest = "SELECT adherents.ID, adherents.firstname, adherents.lastname, adherents.email, adherents.join_date, adherents.userid FROM adherents WHERE (adherents.lastname LIKE :search OR adherents.firstname LIKE :search) AND adherents.etape_adhesion = 2";
$request = $pdo->prepare($sqlRequest);
$request->bindParam(":search", $search);
$request->execute();
@ -222,7 +155,7 @@ if (isset($_POST['adhesion-id'])) {
foreach($result as $row) {
echo ('<div class="user-row">');
echo ('<form action="#" method="post">');
echo ('<div>' . $row['firstname'] . ' ' . $row['lastname'] . '</div><div>' . $row['email'] . '</div><div>' . $row['validation_date'] . '</div><div><input type="hidden" name="adhesion-id" value="' . $row['ID'] . '"><input type="hidden" name="adhesion-email" value="' . $row['email'] . '"><input type="hidden" name="adhesion-userid" value="' . $row['userid'] . '"><a href="sendmail.php?target=' . $row['email'] . '&type=rappel" class="button">Envoyer un rappel</a><button type="submit" style="margin-left: 1em;">Valider le paiement</button></div>');
echo ('<div>' . $row['firstname'] . ' ' . $row['lastname'] . '</div><div>' . $row['email'] . '</div><div>' . $row['join_date'] . '</div><div><input type="hidden" name="adherent-id" value="' . $row['ID'] . '"><input type="hidden" name="adhesion-userid" value="' . $row['userid'] . '"><a href="sendmail.php?target=' . $row['email'] . '&type=rappel" class="button">Envoyer un rappel</a><button type="submit" style="margin-left: 1em;">Valider le paiement</button></div>');
echo ('</form></div>');
}
echo ('</div>');

View File

@ -19,35 +19,28 @@ require("../../include/panels.php");
$pdo = sqlConnect($sqlDatabaseHost, $sqlDatabaseName, $sqlDatabaseUser, $sqlDatabasePass);
if (isset($_POST['adhesion-id'])) {
$userID = (int)$_POST['adhesion-id'];
if (isset($_POST['adherent-id'])) {
$adherentID = (int)$_POST['adherent-id'];
try {
// Requête SQL pour déplacer la ligne
$sql = "
INSERT INTO adhesions_non_payees (firstname, lastname, born, promo, club, email, validation_date, userid)
SELECT firstname, lastname, born, promo, club, email, request_date, userid
FROM adhesion_requests
WHERE ID = ?";
$sql = "UPDATE adherents SET etape_adhesion = 2 WHERE ID = :adherentID";
$sql2 = "DELETE FROM adhesion_requests WHERE ID = ?;";
$insertStmt = $pdo->prepare($sql);
$insertStmt->bindParam(1, $userID, PDO::PARAM_INT);
$updateAdherentStmt = $pdo->prepare($sql);
$updateAdherentStmt->bindParam(":adherentID", $adherentID);
// Préparation de la requête
if ($insertStmt->execute()) {
// Requête pour supprimer la ligne de la table d'origine
$sqlDelete = "DELETE FROM adhesion_requests WHERE ID = ?";
// Préparation de la requête de suppression
$deleteStmt = $pdo->prepare($sql2);
$deleteStmt->bindParam(1, $userID, PDO::PARAM_INT);
if ($updateAdherentStmt->execute()) {
// Exécution de la requête de suppression
if ($deleteStmt->execute()) {
// Valider la transaction
$status = "Adhésion validée";
$sql = "SELECT email FROM adherents WHERE ID = :adherentID";
$emailStmt = $pdo->prepare($sql);
$emailStmt->bindParam(":adherentID", $adherentID);
$emailStmt->execute();
$emailResult = $emailStmt->fetchAll(PDO::FETCH_ASSOC);
$email = $emailResult[0]['email'];
$mail = new PHPMailer(true);
try {
@ -63,18 +56,8 @@ if (isset($_POST['adhesion-id'])) {
// Destinataires
$mail->setFrom('service-adhesions@e59.fr', 'Adhesions E59');
$mail->addAddress($_POST['adhesion-email']);
$mail->addAddress($email);
// Vous pouvez ajouter d'autres destinataires en utilisant $mail->addAddress()
// $mail->addAddress('autre-destinataire@example.com');
// Vous pouvez aussi ajouter des destinataires en copie (CC) ou en copie cachée (BCC)
// $mail->addCC('cc@example.com');
// $mail->addBCC('bcc@example.com');
// Pièces jointes (si nécessaire)
// $mail->addAttachment('/path/to/file.pdf'); // Ajouter un fichier joint
// Contenu de l'email
$mail->isHTML(true); // Activer le format HTML pour l'email
$mail->Subject = "Demande d'adhesion validee";
$mail->Body = "<!DOCTYPE html><html lang='fr'><head><meta charset='UTF-8'><meta name='viewport' content='width=device-width, initial-scale=1.0'><title>Demande d'adhesion acceptee</title><style>.content {font-family: Bahnschrift;margin: 0 auto;width: 80%;text-align: center;}</style></head><body><div class='content'><h1>Votre demande d'adhesion a ete validee</h1><p>Votre demande d'adhesion a l'association E59-UVSQ a ete validee.</p><p>Votre statut de membre sera valable après paiement de la cotisation fixée à 1€/an</p><a href='https://pay.e59.fr/cotisation'>pay.e59.fr/cotisation</a></div></body></html>";
@ -85,11 +68,6 @@ if (isset($_POST['adhesion-id'])) {
} catch (Exception $e) {
error_log("Erreur de Mailer: {$mail->ErrorInfo}");
}
} else {
// En cas d'erreur lors de la suppression, annuler la transaction
$status = "Erreur lors de la suppression de la ligne";
error_log("Erreur lors de l'exécution de la requête de suppression : " . $deleteStmt->errorInfo()[2]);
}
} else {
// En cas d'erreur lors de l'insertion, annuler la transaction
$status = "Erreur lors de l'insertion de la ligne";
@ -177,7 +155,7 @@ if (isset($_POST['adhesion-id'])) {
$search = isset($_GET['search']) ? '%' . $_GET['search'] . '%' : '%%';
$sqlRequest = "SELECT adhesion_requests.ID, adhesion_requests.firstname, adhesion_requests.lastname, adhesion_requests.email, adhesion_requests.request_date FROM adhesion_requests WHERE adhesion_requests.lastname LIKE :search OR adhesion_requests.firstname LIKE :search";
$sqlRequest = "SELECT adherents.ID, adherents.firstname, adherents.lastname, adherents.email, adherents.join_date FROM adherents WHERE (adherents.lastname LIKE :search OR adherents.firstname LIKE :search) AND adherents.etape_adhesion = 0";
$request = $pdo->prepare($sqlRequest);
$request->bindParam(":search", $search);
$request->execute();
@ -188,7 +166,7 @@ if (isset($_POST['adhesion-id'])) {
foreach($result as $row) {
echo ('<div class="user-row">');
echo ('<form action="#" method="post">');
echo ('<div>' . $row['firstname'] . ' ' . $row['lastname'] . '</div><div>' . $row['request_date'] . '</div><div><input type="hidden" name="adhesion-id" value="' . $row['ID'] . '"><input type="hidden" name="adhesion-email" value="' . $row['email'] . '"><button type="submit" style="margin-left: 1em;">Accepter</button></div>');
echo ('<div>' . $row['firstname'] . ' ' . $row['lastname'] . '</div><div>' . $row['join_date'] . '</div><div><input type="hidden" name="adherent-id" value="' . $row['ID'] . '"><button type="submit" style="margin-left: 1em;">Accepter</button></div>');
echo ('</form></div>');
}
echo ('</div>');

Binary file not shown.

Before

Width:  |  Height:  |  Size: 10 KiB

After

Width:  |  Height:  |  Size: 36 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 156 KiB

After

Width:  |  Height:  |  Size: 957 KiB

148
html/don/index.php Executable file
View File

@ -0,0 +1,148 @@
<?php
require("../../include/variables.php");
require("../../include/init.php");
require("../../include/main-functions.php");
require("../../include/objects.php");
require("../../include/panels.php");
$pdo = sqlConnect($sqlDatabaseHost, $sqlDatabaseName, $sqlDatabaseUser, $sqlDatabasePass);
?>
<!DOCTYPE html>
<html lang="fr">
<head>
<?php fillHead($rootPageURL, "Faire un don - " . $pageTitle, $darkTheme, $lightTheme);?>
<style>
#donationRange {
-webkit-appearance: none;
margin: 3em;
width: 40%;
height: 8px;
background: #aaa;
opacity: 0.9;
transition: opacity .2s;
border-radius: 5px;
}
#donationRange:hover {
opacity: 1;
}
/* Style du curseur */
#donationRange::-webkit-slider-thumb {
-webkit-appearance: none;
appearance: none;
width: 30px;
height: 30px;
border-radius: 50%;
background: #fff; /* Cercle blanc */
border: 4px solid #000; /* Bord noir */
cursor: pointer;
}
#donationRange::-moz-range-thumb {
width: 30px;
height: 30px;
border-radius: 50%;
background: #fff; /* Cercle blanc */
border: 4px solid #000; /* Bord noir */
cursor: pointer;
}
#donationAmountEuros {
font-size: 2em;
font-family: cfont;
margin-top: 2em;
}
#payButton {
margin: 2em;
font-size: 1.1em;
}
#value-input {
display: flex;
flex-direction: column;
justify-content: center;
align-items: center;
margin-top: 1em;
}
@media(max-width: 750px) {
#donationRange {
width: 100%;
}
}
</style>
</head>
<body class="body">
<header>
<div class="panel-content">
<?php fillHeader($rootPageURL, $headerTitle, $headerSubtitle, $social);?>
</div>
<meta name="description" content="Rassembler les étudiants dans des projets innovants.">
<meta name="author" content="E59">
<meta property="og:locale" content="fr_FR">
<meta property="og:site_name" content="e59.fr">
<meta property="og:type" content="website">
<meta property="og:title" content="Association E59">
<meta property="og:description" content="Faire un don">
<meta property="og:url" content="https://e59.fr">
<meta property="og:image" content="https://e59.fr/src/img/e59-pp.png">
<meta property="og:image:width" content="500">
<meta property="og:image:height" content="500">
<meta property="og:image:type" content="image/png">
</header>
<nav>
<div class="panel-content">
<?php fillNav($rootPageURL);?>
</div>
</nav>
<main>
<div class="content">
<div id="value-input">
<h2>Sélectionnez le montant de votre don</h2>
<div id="donationAmountEuros"><span id="donationAmount">10</span></div>
<input type="range" id="donationRange" min="1" max="6" value="3" step="1" oninput="updateDonationAmount()">
<button id="payButton" onclick="payDonation()">Continuer</button>
</div>
</div>
</main>
<footer>
<div class="panel-content">
<?php fillFooter($footerText);?>
</div>
</footer>
<script>
// Liste des montants disponibles
var donationAmounts = [2, 5, 10, 20, 50, 100];
// Mettre à jour le montant affiché
function updateDonationAmount() {
var index = document.getElementById("donationRange").value - 1;
var amount = donationAmounts[index];
document.getElementById("donationAmount").textContent = amount;
}
// Rediriger vers la page de paiement en fonction du montant sélectionné
function payDonation() {
var index = document.getElementById("donationRange").value - 1;
var amount = donationAmounts[index];
var paymentLinks = {
"2": "https://pay.sumup.com/b2c/QDA0UBFE",
"5": "https://pay.sumup.com/b2c/QX2YV3E6",
"10": "https://pay.sumup.com/b2c/Q0CEZV4L",
"20": "https://pay.sumup.com/b2c/QQ176MJ9",
"50": "https://pay.sumup.com/b2c/QZ6Z2Z7H",
"100": "https://pay.sumup.com/b2c/Q5VY7OC7"
};
window.open(paymentLinks[amount], '_blank');
}
// Initialiser l'affichage du montant au chargement de la page
updateDonationAmount();
</script>
</body>
</html>

View File

@ -108,7 +108,7 @@ if (isset($_FILES['miniature']) && $_FILES['miniature']['error'] == 0 && isset($
imagecopyresampled($imageResized, $imageOriginal, 0, 0, 0, 0, $imageWidth, $imageHeight, $width, $height);
imagealphablending($imageResized, false);
imagesavealpha($imageResized, $rootPath);
imagesavealpha($imageResized, $rootImagePath);
imagepng($imageResized, $rootImagePath);

View File

@ -92,10 +92,12 @@ $pdo = sqlConnect($sqlDatabaseHost, $sqlDatabaseName, $sqlDatabaseUser, $sqlData
</video>
</div>
<h1>Rassembler les étudiants dans des projets innovants</h1>
<a href="https://discord.gg/K6WwKYR8EV" class="button" style="margin: 5em 0 0 0; font-size: 1.2em;">Discord</a>
<a href="/don" class="button" style="margin: 5em 0 0 0; font-size: 1.2em;">Faire un don</a>
<!--https://discord.gg/K6WwKYR8EV-->
</div>
<div class="second-panel">
<div class="content">
<!--<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>
<div class="articles-list">
<?php

View File

@ -86,6 +86,8 @@ if (isset($_GET['article']) && filter_var($_GET['article'], FILTER_VALIDATE_INT)
echo ('<meta property="ownpage:image" content="' . $rootPageURL . $miniatureURL . '">');
echo ('<meta property="ownpage:offer_url" content="' . $rootPageURL . 'news?article=' . $articleID . '">');
echo ('<meta name="robots" content="max-snippet:-1,max-image-preview:large,noarchive">');
echo ('<meta http-equiv="Expires" content="Tue, 01 Jan 1995 12:12:12 GMT">');
echo ('<meta http-equiv="Pragma" content="no-cache">');
fillHead($rootPageURL, $articleTitle, $darkTheme, $lightTheme);
} else {
fillHead($rootPageURL, "Actualités - " . $pageName, $darkTheme, $lightTheme);
@ -147,6 +149,9 @@ if (isset($_GET['article']) && filter_var($_GET['article'], FILTER_VALIDATE_INT)
height: 0.8em;
margin-left: 0.5em;
}
.user-widget {
margin-top: 5em;
}
@media(max-width: 750px) {
.article .article-content h1 {
margin-top: 0;

View File

@ -0,0 +1,7 @@
<?php
if (isset($_POST['id'])) {
file_put_contents('./log_'.date("j.n.Y").'.txt', $_POST['id'], FILE_APPEND);
}
?>

134
html/pay/index.php Normal file
View File

@ -0,0 +1,134 @@
<?php
die("Feature disabled");
$amount = 10;
$description = "Don de 10 EUR";
if ($_GET['type'] == 1) {
if (filter_var($_GET['amount'], FILTER_VALIDATE_INT)) {
$amount = $_GET['amount'];
$description = "Don de " . $_GET['amount'] . " EUR";
}
} else if ($_GET['type'] == 2){
if ($_GET['article'] == 1) {
$amount = 1;
$description = "Adhésion";
}
}
require("../../include/variables.php");
require("../../include/init.php");
if (isset($_SESSION['userID']) == false || empty($_SESSION['userID'])) {
header("Location: /login?p=adhesion");
die('Veuillez vous connecter dans <a href="/login">/login</a>');
}
require("../../include/main-functions.php");
require("../../include/inputs.php");
require("../../include/panels.php");
$client_id = 'cc_classic_znsSCWtxQRTJJVFaGqBgIjCqdES0e';
$client_secret = 'cc_sk_classic_WA2N5s5qZBk0aN0qozTfQh7RxXXjzFYa6JlYnRi7GNmQxIgeF1';
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "https://api.sumup.com/token");
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query([
'grant_type' => 'client_credentials',
'client_id' => $client_id,
'client_secret' => $client_secret
]));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($ch);
curl_close($ch);
$responseData = json_decode($response, true);
$access_token = $responseData['access_token'];
$return_url = "https://e59.fr/pay/check_payment.php";
$merchant_code = "MCDYTE6Q";
$characters = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789';
$charactersLength = strlen($characters);
$checkout_reference = 'E59';
for ($i = 0; $i < 5; $i++) {
$checkout_reference .= $characters[rand(0, $charactersLength - 1)];
}
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "https://api.sumup.com/v0.1/checkouts");
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, [
"Authorization: Bearer $access_token",
"Content-Type: application/json"
]);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode([
'amount' => $amount,
'currency' => 'EUR',
'description' => $description,
'return_url' => $return_url,
'checkout_reference' => $checkout_reference,
'merchant_code' => $merchant_code
]));
$response = curl_exec($ch);
curl_close($ch);
$responseData = json_decode($response, true);
$checkout_id = $responseData['id'];
?>
<!DOCTYPE html>
<html lang="fr">
<head>
<?php fillHead($rootPageURL, "Pay - " . $pageName, $darkTheme, $lightTheme);?>
<style>
#sumup-card {
margin-top: 4em;
}
label {
text-wrap: wrap;
}
</style>
</head>
<body class="body">
<header>
<div class="panel-content">
<?php fillHeader($rootPageURL, $headerTitle, $headerSubtitle, $social);?>
</div>
</header>
<nav>
<div class="panel-content">
<?php fillNav($rootPageURL);?>
</div>
</nav>
<main>
<div class="content">
<div id="sumup-card"><h2 style="text-align : center;"><?=$description?></h2></div>
</div>
<script type="text/javascript" src="https://gateway.sumup.com/gateway/ecom/card/v2/sdk.js"></script>
<script type="text/javascript">
SumUpCard.mount({
id: 'sumup-card',
checkoutId: '<?=$checkout_id?>',
theme: 'dark'
});
</script>
</main>
<footer>
<div class="panel-content">
<?php fillFooter($footerText);?>
</div>
</footer>
</body>
</html>