This commit is contained in:
cbo 2024-08-04 20:08:42 +00:00
parent 30d5057349
commit 1bc57a5051
16 changed files with 349 additions and 143 deletions

View File

@ -24,7 +24,7 @@ pageTitle = "Association E59"
pageName = "E59"
headerTitle = "E59"
headerSubtitle = "Rassembler pour innover"
footerText = "© Association E59 - v1.7"
footerText = "© Association E59 - v1.7 - <a href='/about/data.php'>Politique de confidentialité</a>"
[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}'

View File

@ -13,6 +13,7 @@ Voici la liste des participants :<br />
- Maëlyne MONTOUT (Développeuse)<br />
- Akram SHAL (Développeur)<br />
<br />
<br />
Le code source de la plateforme est disponible ici => <https://gitlab.e59.fr/club-reseaux/spylab.git><br />
<br />
Pour toute question adressez vous à [Jan BELLON](mailto:jan@intra.e59.fr)

View File

@ -1,29 +1,18 @@
# Contacts
### Téléphone
+33 1 84 73 01 95
# Contact
01 84 73 01 95<br />
[association@e59.fr](mailto:association@e59.fr)
# Conseil d'Administration
## Service Informatique & Matériel (SIM)
### Directeur : [eliott@e59.fr](mailto:eliott@e59.fr)
### Responsables :
[akram@e59.fr](mailto:akram@e59.fr)<br />
[damien@e59.fr](mailto:damien@e59.fr)<br />
[emilien@e59.fr](mailto:emilien@e59.fr)<br />
IUT de Vélizy - 10-12 avenue de l'Europe, 78140 Vélizy-Villacoublay
<iframe src="https://www.google.com/maps/embed?pb=!1m18!1m12!1m3!1d12505.079947700415!2d2.210209647573503!3d48.78438684973827!2m3!1f0!2f0!3f0!3m2!1i1024!2i768!4f13.1!3m3!1m2!1s0x47e67bc6c9b31913%3A0xa073e7d89380cab6!2sAssociation%20E59!5e0!3m2!1sfr!2sfr!4v1722766677797!5m2!1sfr!2sfr" style="border:0;" allowfullscreen="" loading="lazy" referrerpolicy="no-referrer-when-downgrade"></iframe>
## Service Finances
### Directeur/Trésorier : [louis@e59.fr](mailto:louis@e59.fr)<br />
## Conseil d'Administration
[sim@e59.fr](mailto:sim@e59.fr)<br /><br />
[finances@e59.fr](finances:club@e59.fr)<br /><br />
[legal@e59.fr](mailto:legal@e59.fr)<br /><br />
[communication@e59.fr](mailto:communication@e59.fr)<br /><br />
## Service Communication
### Directeur : [jan@e59.fr](mailto:jan@e59.fr)<br />
### Responsables :
@Nozeroy (Discord)<br />
## Clubs
Club Réseaux - IUT de Vélizy : [club@e59.fr](mailto:club@e59.fr)<br />
## Service Légal
### Directrice : [maelyne@e59.fr](mailto:maelyne@e59.fr)<br />
### Responsables :
[emilien@e59.fr](mailto:emilien@e59.fr)<br />
### Association
Club Réseaux : [club@e59.fr](mailto:club@e59.fr)<br />
E59-UVSQ : [asso.uvsq@e59.fr](mailto:asso.uvsq@e59.fr)<br />
Discord : [https://discord.gg/K6WwKYR8EV](https://discord.gg/K6WwKYR8EV)<br />
## Associations
[asso.uvsq@e59.fr](mailto:asso.uvsq@e59.fr)<br /><br />

View File

@ -1,13 +1,62 @@
# Utilisation des données<br />
# Politique de Confidentialité
<br />
Seuls les cookies nécessaires au bon fonctionnement du site sont stockés sur la machine de l'utilisateur.<br />
### Date de dernière mise à jour : 04/08/2024<br />
<br />
Il est possible de supprimer votre compte et toutes les données associées dans les [Paramètres](/settings)<br />
Nous nous engageons à protéger la vie privée de nos utilisateurs. Cette politique de confidentialité explique comment nous collectons, utilisons, divulguons et protégeons vos informations personnelles lorsque vous visitez notre site web.<br />
<br />
###Liste des données personnelles stockées :<br />
- Nom d'utilisateur<br />
- E-mail<br />
- Mot de passe chiffré<br />
- Adresse IP
## 1. Collecte des Informations<br />
Nous collectons différentes types d'informations, y compris :<br />
<br />
- **Informations que vous nous fournissez directement :** Lorsque vous vous inscrivez sur notre site, passez une commande, vous abonnez à notre newsletter ou interagissez autrement avec nos services, nous pouvons collecter des informations telles que votre nom, adresse e-mail, adresse postale, numéro de téléphone et informations de paiement.<br />
<br />
- **Informations collectées automatiquement :** Lorsque vous naviguez sur notre site, nous pouvons recueillir automatiquement des informations sur votre appareil et votre utilisation de notre site, telles que votre adresse IP, type de navigateur, pages visitées et temps passé sur notre site.<br />
<br />
- **Cookies et technologies similaires :** Nous utilisons des cookies et des technologies similaires pour améliorer votre expérience sur notre site, analyser l'utilisation du site et diffuser des publicités personnalisées.<br />
Pour toute question veuillez contacter le service [SIM](mailto:sim@e59.fr)
<br />
## 2. Utilisation des Informations<br />
Nous utilisons les informations collectées pour :<br />
<br />
- Fournir, exploiter et améliorer nos services.<br />
- Traiter vos commandes et gérer vos paiements.<br />
- Communiquer avec vous au sujet de votre compte, de vos commandes et de nos services.<br />
- Analyser l'utilisation de notre site pour améliorer nos services.<br />
- Respecter les obligations légales et réglementaires.<br />
<br />
## 3. Partage des Informations<br />
Nous ne vendons pas vos informations personnelles à des tiers. Nous pouvons partager vos informations avec des tiers dans les circonstances suivantes :<br />
<br />
- **Prestataires de services :** Nous partageons vos informations avec des prestataires de services qui nous aident à exploiter notre site et à fournir nos services (par exemple, traitement des paiements, livraison des commandes).<br />
- **Obligations légales :** Nous pouvons divulguer vos informations si la loi l'exige ou si nous croyons en toute bonne foi que cette divulgation est nécessaire pour protéger nos droits, votre sécurité ou celle des autres.<br />
- **Transactions commerciales :** En cas de fusion, acquisition ou vente de tout ou partie de nos actifs, vos informations peuvent être transférées à la société acquéreuse.
<br />
## 4. Sécurité des Informations<br />
Nous mettons en œuvre des mesures de sécurité raisonnables pour protéger vos informations personnelles contre l'accès non autorisé, l'altération, la divulgation ou la destruction. Cependant, aucune méthode de transmission sur Internet ou de stockage électronique n'est totalement sécurisée, et nous ne pouvons garantir la sécurité absolue de vos informations.<br />
<br />
## 5. Vos Droits<br />
Vous avez le droit de :<br />
<br />
- Accéder à vos informations personnelles que nous détenons.<br />
- Demander la correction ou la suppression de vos informations personnelles.<br />
- Vous opposer au traitement de vos informations personnelles.<br />
- Demander la limitation du traitement de vos informations personnelles.<br />
- Retirer votre consentement à tout moment, lorsque le traitement est basé sur votre consentement.<br />
<br />
Pour exercer ces droits, veuillez nous contacter à [adresse e-mail de contact].<br />
<br />
## 6. Modifications de la Politique de Confidentialité<br />
Nous pouvons mettre à jour cette politique de confidentialité de temps à autre. Toute modification sera publiée sur cette page avec une nouvelle date de mise à jour. Nous vous encourageons à consulter cette politique régulièrement pour rester informé de nos pratiques en matière de confidentialité.<br />
<br />
## 7. Contact<br />
Si vous avez des questions ou des préoccupations concernant cette politique de confidentialité, veuillez nous contacter à :<br />
<br />
10-12 avenue de l'Europe, 78140 Vélizy-Villacoublay<br />
01 84 73 01 95<br />
[association@e59.fr](mailto:association@e59.fr)<br />

View File

@ -10,7 +10,12 @@ require("../../include/panels.php");
<head>
<?php fillHead($rootPageURL, "A propos - " . $pageName, $darkTheme, $lightTheme);?>
<style></style>
<style>
iframe {
width: 100%;
height: 20em;
}
</style>
</head>
<body class="body">

View File

@ -50,7 +50,6 @@ if (isset($_FILES['newPP']) && $_FILES['newPP']['error'] == 0) {
} else {
$status = "Erreur SQL";
}
$request->close();
} else {
$status = "Le fichier doit être au format PNG ou JPG";
}
@ -90,7 +89,6 @@ if (isset($_FILES['newBanner']) && $_FILES['newBanner']['error'] == 0) {
} else {
$status = "Erreur SQL";
}
$request->close();
} else {
$status = "Le fichier doit être au format PNG ou JPG";
}
@ -108,14 +106,12 @@ if (isset($_POST['userDisplayName']) || isset($_POST['userBio'])) {
$status = "Informations mises à jour";
$_SESSION['userDisplayName'] = htmlspecialchars($_POST['userDisplayName']);
}
$request->close();
}
$request = $pdo->prepare("SELECT username, display_name, profile_picture, banner, bio FROM users WHERE ID = :userID");
$request->bindParam(":userID", $_SESSION['userID']);
$request->execute();
$result = $request->fetchAll(PDO::FETCH_ASSOC);
$request->close();
if($result) {
$userName = $result[0]['username'];

View File

@ -18,7 +18,41 @@ require("../../include/panels.php");
$pdo = sqlConnect($sqlDatabaseHost, $sqlDatabaseName, $sqlDatabaseUser, $sqlDatabasePass);
if (isset($_POST['lastname']) && isset($_POST['firstname']) && isset($_POST['email']) && isset($_POST['club']) && isset($_POST['born'])) {
$userID = $_SESSION['userID'];
$stepOneSQLReq = "SELECT ID FROM adhesion_requests WHERE userid = :userid";
$stepOneReq = $pdo->prepare($stepOneSQLReq);
$stepOneReq->bindParam(":userid", $userID);
$stepOneReq->execute();
$stepTwoSQLReq = "SELECT ID FROM adhesions_non_payees WHERE userid = :userid";
$stepTwoReq = $pdo->prepare($stepTwoSQLReq);
$stepTwoReq->bindParam(":userid", $userID);
$stepTwoReq->execute();
$stepThreeSQLReq = "SELECT ID FROM adherents WHERE userid = :userid";
$stepThreeReq = $pdo->prepare($stepThreeSQLReq);
$stepThreeReq->bindParam(":userid", $userID);
$stepThreeReq->execute();
$stepOne = $stepOneReq->fetchAll(PDO::FETCH_ASSOC);
$stepTwo = $stepTwoReq->fetchAll(PDO::FETCH_ASSOC);
$stepThree = $stepThreeReq->fetchAll(PDO::FETCH_ASSOC);
if ($stepOne) {
$step = 1;
} else if ($stepTwo) {
$step = 2;
} else if ($stepThree) {
$step = 3;
} else {
$step = 0;
}
if (isset($_POST['lastname']) && isset($_POST['firstname']) && isset($_POST['email']) && isset($_POST['club']) && isset($_POST['born']) && $step == 0) {
if ($_POST['valide'] != "accepte") {
$status = "Vous devez vous engager à restpecter les statuts et le règlement intérieur";
} else {
if (empty($_POST['lastname']) || empty($_POST['firstname']) || empty($_POST['email']) || empty($_POST['born'])) {
$status = "Veuillez remplir tous les champs";
} else {
@ -31,7 +65,6 @@ if (isset($_POST['lastname']) && isset($_POST['firstname']) && isset($_POST['ema
$club = empty($_POST['club']) ? "Sans club" : htmlspecialchars($_POST['club']);
$born = htmlspecialchars($_POST['born']);
$promo = empty($_POST['promo']) ? "Sans promo" : htmlspecialchars($_POST['promo']);
$userID = $_SESSION['userID'];
$sqlRequest = "SELECT ID FROM adhesion_requests WHERE userid = :userid";
$request = $pdo->prepare($sqlRequest);
@ -73,8 +106,8 @@ if (isset($_POST['lastname']) && isset($_POST['firstname']) && isset($_POST['ema
// Contenu de l'e-mail
$mail->isHTML(true); // Set email format to HTML
$mail->Subject = 'Nouvelle demande d\'adhesion';
$mail->Body = '<h2>Nouvelle demande d\'adhesion pour ' . $club . '</h2><p>Nom Prenom : ' . $firstname . ' ' . $lastname . '</p><p>Email : ' . $email . '</p><p>Date de naissance : ' . $born . '</p><p>Promo : ' . $promo . '</p><p>Rendez-vous sur <a href="https://e59.fr/phpmyadmin">https://e59.fr/phpmyadmin</a> pour supprimer la demande une fois validee</p>';
$mail->AltBody = 'Nouvelle demande d\'adhésion pour ' . $club . ' | Nom Prénom : ' . $firstname . ' ' . $lastname . ' | Email : ' . $email . ' | Date de naissance : ' . $born . ' | Promo : ' . $promo;
$mail->Body = '<h2>Nouvelle demande d\'adhesion</h2><p>Nom Prenom : ' . $firstname . ' ' . $lastname . '</p><p>Email : ' . $email . '</p><p>Date de naissance : ' . $born . '</p><p>Promo : ' . $promo . '</p><p>Rendez-vous sur <a href="https://e59.fr/admin/adhesions.php">https://e59.fr/admin/adhesions.php</a> pour valider la demande lors du CA</p>';
$mail->AltBody = 'Nouvelle demande d\'adhésion : Nom Prenom : ' . $firstname . ' ' . $lastname . ' | Email : ' . $email . ' | Date de naissance : ' . $born . ' | Promo : ' . $promo;
$mail->send();
} catch (Exception $e) {
@ -87,10 +120,10 @@ if (isset($_POST['lastname']) && isset($_POST['firstname']) && isset($_POST['ema
}
}
}
}
$checkColor = "#99D366";
$pendingColor = "#878787";
?>
@ -102,13 +135,75 @@ if (isset($_POST['lastname']) && isset($_POST['firstname']) && isset($_POST['ema
<style>
.select-input {
margin: 0.5em auto 1.5em auto;
width: 19em;
width: 80%;
font-size: 0.8em;
}
.date-input {
margin: 0.5em auto;
font-size: 0.8em;
width: 80%;
}
#avancement-adhesion {
margin: 0.5em;
}
#avancement-adhesion circle {
margin: 1em;
fill: none;
stroke-width: 6px;
stroke-miterlimit: 10;
}
#avancement-adhesion line {
margin: 1em;
fill: none;
stroke-width: 6px;
stroke-miterlimit: 10;
stroke-linecap: round;
}
#avancement-adhesion polyline {
stroke-linejoin: round;
stroke-linecap: round;
fill: none;
stroke-width: 6px;
}
#avancement-adhesion text {
font-family: "Inter", Arial;
font-size: 30px;
}
.step-1 {
<?php if ($step >= 1) {echo ('stroke: ' . $checkColor);} else {echo ('stroke: ' . $pendingColor);}?>
}
.step-2 {
<?php if ($step >= 2) {echo ('stroke: ' . $checkColor);} else {echo ('stroke: ' . $pendingColor);}?>
}
.step-3 {
<?php if ($step >= 3) {echo ('stroke: ' . $checkColor);} else {echo ('stroke: ' . $pendingColor);}?>
}
.step-check-1 {
<?php if ($step >= 1) {echo ('stroke: ' . $checkColor);} else {echo ('display: none;');}?>
}
.step-check-2 {
<?php if ($step >= 2) {echo ('stroke: ' . $checkColor);} else {echo ('display: none;');}?>
}
.step-check-3 {
<?php if ($step >= 3) {echo ('stroke: ' . $checkColor);} else {echo ('display: none;');}?>
}
.step-text-1 {
<?php if ($step >= 1) {echo ('fill: ' . $checkColor);} else {echo ('fill: ' . $pendingColor);}?>
}
.step-text-2 {
<?php if ($step >= 2) {echo ('fill: ' . $checkColor);} else {echo ('fill: ' . $pendingColor);}?>
}
.step-text-3 {
<?php if ($step >= 3) {echo ('fill: ' . $checkColor);} else {echo ('fill: ' . $pendingColor);}?>
}
.adv-box {
border: 1px solid var(--text);
border-radius: 10px;
width: 7em;
font-size: 0.8em;
text-align: center;
padding: 0.5em;
}
</style>
</head>
@ -130,10 +225,10 @@ if (isset($_POST['lastname']) && isset($_POST['firstname']) && isset($_POST['ema
<div class="content">
<form action="#" method="post">
<div class="form">
<div class="form-title">Adhérer à l'association</div>
<div class="form-title">Adhésion</div>
<div class="status"><?=$status?></div>
<?php
if (!$requestAlreadySent) {
if ($step == 0) {
$sqlRequest = "SELECT username, email FROM users WHERE ID = :userID";
$request = $pdo->prepare($sqlRequest);
$request->bindParam(":userID", $_SESSION['userID']);
@ -144,21 +239,24 @@ if (isset($_POST['lastname']) && isset($_POST['firstname']) && isset($_POST['ema
$request = $pdo->prepare($sqlRequest);
$request->execute();
$clubs = $request->fetchAll(PDO::FETCH_ASSOC);
$clubOptions = array();
foreach($clubs as $club) {
$club_names[] = $club["name"];
$clubOptions[$club["ID"]] = $club["name"];
}
textInput("text", "", "lastname", "Nom", isset($_POST['lastname']) ? $_POST['lastname'] : "");
textInput("text", "", "firstname", "Prénom", isset($_POST['firstname']) ? $_POST['firstname'] : "");
textInput("email", "", "email", "Email", isset($_POST['email']) ? $_POST['email'] : $user[0]['email']);
textInput("text", "", "promo", "Promo", isset($_POST['promo']) ? $_POST['promo'] : "");
//selectInput("club", "Club", $club_names, isset($_POST['club']) ? $_POST['club'] : $club_names[0]);
textInput("text", "", "promo", "Formation - Année", isset($_POST['promo']) ? $_POST['promo'] : "");
selectInput("club", "Club", $clubOptions, isset($_POST['club']) ? $_POST['club'] : $clubOptions[0]);
dateInput("born", "Né le", "1930-01-01", isset($_POST['born']) ? $_POST['born'] : "2005-01-01");
echo ('<input type="hidden" name="club" value="Club Réseaux">');
echo ('<div class="details-message">Vous serez invité à payer la cotisation annuelle fixée à 1€/an une fois votre demande validée par le conseil d\'administration.</div>');
echo ('<div style="margin: 2em 0;""><input type="checkbox" name="valide" value="accepte">');
echo ('<label for="valide" style="font-size: 0.6em; margin-left: 0.5em;">Je m\'engage à respecter les <a href="https://e59.fr/about/docs/pdf/Statuts-E59-UVSQ.pdf" target="_blank">statuts</a> et le <a href="https://e59.fr/about/docs/pdf/Reglement-Interieur-E59-UVSQ.pdf" target="_blank">règlement intérieur</a></label></div>');
echo ('<a href="/" class="hidden-button" style="margin-right: 2em;">Annuler</a><button type="submit">Envoyer</button>');
} else {
echo ("Votre demande d'adhésion est en cours de traitement");
echo ('<svg id="avancement-adhesion" data-name="Avancement Adhésion" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 621.85 174.92"><defs></defs><circle class="step-1" cx="65.07" cy="136.34" r="34.92"/><circle class="step-2" cx="308.65" cy="136.34" r="34.92"/><circle class="step-3" cx="552.24" cy="136.34" r="34.92"/><line class="line step-2" x1="248.28" y1="136.34" x2="125.44" y2="136.34"/><line class="step-3" x1="491.87" y1="136.34" x2="369.03" y2="136.34"/><polyline class="step-check-1" points="50.66 139.2 61.81 149.72 79.48 128.34"/><polyline class="step-check-2" points="294.24 139.2 305.4 149.72 323.07 128.34"/><polyline class="step-check-3" points="537.83 139.2 548.99 149.72 566.65 128.34"/><text class="step-text-1" transform="translate(-2.64 22.37)"><tspan x="0" y="0">Demande</tspan><tspan x="8.39" y="36">envoyée</tspan></text><text class="step-text-2" transform="translate(241.34 22.37)"><tspan x="0" y="0">Demande</tspan><tspan class="cls-10" x="17.39" y="36">validée</tspan></text><text class="step-text-3" transform="translate(480.33 22.5)"><tspan x="0" y="0">Cotisation</tspan><tspan x="29.08" y="36">payée</tspan></text></svg>');
}
?>
</div>

View File

@ -114,7 +114,7 @@ $pdo = sqlConnect($sqlDatabaseHost, $sqlDatabaseName, $sqlDatabaseUser, $sqlData
flex-direction: column;
}
.user-row {
margin: 1em;
margin: 0.5em;
border-bottom: 1px solid var(--text);
padding: 1em 1em 1em 1em;
}
@ -130,6 +130,16 @@ $pdo = sqlConnect($sqlDatabaseHost, $sqlDatabaseName, $sqlDatabaseUser, $sqlData
.users {
min-height: 25em;
}
.admin-links {
margin-bottom: 4em;
}
.admin-links a {
margin: 0.5em;
display: inline-block;
}
main .content {
padding-top: 7em;
}
</style>
</head>
@ -152,23 +162,34 @@ $pdo = sqlConnect($sqlDatabaseHost, $sqlDatabaseName, $sqlDatabaseUser, $sqlData
<?=$status?>
<div class="users">
<?php
echo ('<div class="admin-links">');
echo ('<a href="index.php" class="button">Utilisateurs</a>');
echo ('<a href="adhesions.php" class="button">Demandes d\'adhésion</a>');
echo ('<a href="adhesions-non-payees.php" class="button">Adhésions non payées</a>');
echo ('<a href="adherents.php" class="button">Adhérents</a>');
echo ('<a href="/phpmyadmin" class="button">PHPMyAdmin</a></div>');
echo ('<form action="#" method="get">');
$shapePath = '<path d="M10.25 3.75c-3.59 0-6.5 2.91-6.5 6.5s2.91 6.5 6.5 6.5c1.795 0 3.419-.726 4.596-1.904 1.178-1.177 1.904-2.801 1.904-4.596 0-3.59-2.91-6.5-6.5-6.5zm-8.5 6.5c0-4.694 3.806-8.5 8.5-8.5s8.5 3.806 8.5 8.5c0 1.986-.682 3.815-1.824 5.262l4.781 4.781-1.414 1.414-4.781-4.781c-1.447 1.142-3.276 1.824-5.262 1.824-4.694 0-8.5-3.806-8.5-8.5z"></path>';
textInput("text", $shapePath, "search", "Chercher", "");
echo ('</form>');
$search = isset($_GET['search']) ? '%' . $_GET['search'] . '%' : '%%';
$sqlRequest = "SELECT adherents.ID, adherents.firstname, adherents.lastname, adherents.email, adherents.validation_date FROM adherents";
$sqlRequest = "SELECT adherents.ID, adherents.firstname, adherents.lastname, adherents.email, adherents.club, adherents.validation_date FROM adherents WHERE adherents.lastname LIKE :search OR adherents.firstname LIKE :search";
$request = $pdo->prepare($sqlRequest);
$request->bindParam(":search", $search);
$request->execute();
$result = $request->fetchAll(PDO::FETCH_ASSOC);
if ($result) {
echo ('<div class="users-list">');
foreach($result as $row) {
$clubFormatted = str_pad($row['club'], 2, "0", STR_PAD_LEFT);
$idFormatted = str_pad($row['ID'], 4, "0", STR_PAD_LEFT);
$memberID = "59" . $clubFormatted . $idFormatted;
echo ('<div class="user-row">');
echo ('<form action="#" method="post">');
echo ('<div>' . $row['firstname'] . ' ' . $row['lastname'] . '</div><div>' . $row['validation_date'] . '</div></div>');
echo ('<div>' . $memberID . '</div><div>' . $row['firstname'] . ' ' . $row['lastname'] . '</div><div>' . $row['validation_date'] . '</div></div>');
}
echo ('</div>');
} else {
@ -176,8 +197,6 @@ $pdo = sqlConnect($sqlDatabaseHost, $sqlDatabaseName, $sqlDatabaseUser, $sqlData
}
?>
</div>
<div><a href="adhesions.php" class="button">Demandes d'adhésion</a></div>
<div><a href="adhesions-non-payees.php" class="button">Adhésions non payées</a></div>
</div>
</main>
<footer>

View File

@ -48,7 +48,7 @@ if (isset($_POST['adhesion-id'])) {
// Valider la transaction
$status = "Adhésion validée";
$mail = new PHPMailer(true);
/*$mail = new PHPMailer(true);
try {
// Paramètres du serveur SMTP
@ -81,9 +81,16 @@ if (isset($_POST['adhesion-id'])) {
// 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";
@ -114,7 +121,7 @@ if (isset($_POST['adhesion-id'])) {
flex-direction: column;
}
.user-row {
margin: 1em;
margin: 0.5em;
border: 1px solid var(--text);
border-radius: 100px;
padding: 0 0.5em 0 1em;
@ -131,6 +138,16 @@ if (isset($_POST['adhesion-id'])) {
.users {
min-height: 25em;
}
.admin-links {
margin-bottom: 4em;
}
.admin-links a {
margin: 0.5em;
display: inline-block;
}
main .content {
padding-top: 7em;
}
</style>
</head>
@ -153,6 +170,12 @@ if (isset($_POST['adhesion-id'])) {
<?=$status?>
<div class="users">
<?php
echo ('<div class="admin-links">');
echo ('<a href="index.php" class="button">Utilisateurs</a>');
echo ('<a href="adhesions.php" class="button">Demandes d\'adhésion</a>');
echo ('<a href="adhesions-non-payees.php" class="button">Adhésions non payées</a>');
echo ('<a href="adherents.php" class="button">Adhérents</a>');
echo ('<a href="/phpmyadmin" class="button">PHPMyAdmin</a></div>');
echo ('<form action="" method="get">');
$shapePath = '<path d="M10.25 3.75c-3.59 0-6.5 2.91-6.5 6.5s2.91 6.5 6.5 6.5c1.795 0 3.419-.726 4.596-1.904 1.178-1.177 1.904-2.801 1.904-4.596 0-3.59-2.91-6.5-6.5-6.5zm-8.5 6.5c0-4.694 3.806-8.5 8.5-8.5s8.5 3.806 8.5 8.5c0 1.986-.682 3.815-1.824 5.262l4.781 4.781-1.414 1.414-4.781-4.781c-1.447 1.142-3.276 1.824-5.262 1.824-4.694 0-8.5-3.806-8.5-8.5z"></path>';
textInput("text", $shapePath, "search", "Chercher", "");
@ -160,8 +183,9 @@ 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 FROM adhesions_non_payees";
$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";
$request = $pdo->prepare($sqlRequest);
$request->bindParam(":search", $search);
$request->execute();
$result = $request->fetchAll(PDO::FETCH_ASSOC);
@ -170,7 +194,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['validation_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;">Valider le paiement</button></div>');
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'] . '"><button type="submit" style="margin-left: 1em;">Valider le paiement</button></div>');
echo ('</form></div>');
}
echo ('</div>');
@ -179,8 +203,6 @@ if (isset($_POST['adhesion-id'])) {
}
?>
</div>
<div><a href="adherents.php" class="button">Adhérents</a></div>
<div><a href="adhesions.php" class="button">Demandes d'adhésion</a></div>
</div>
</main>
<footer>

View File

@ -114,7 +114,7 @@ if (isset($_POST['adhesion-id'])) {
flex-direction: column;
}
.user-row {
margin: 1em;
margin: 0.5em;
border: 1px solid var(--text);
border-radius: 100px;
padding: 0 0.5em 0 1em;
@ -131,6 +131,16 @@ if (isset($_POST['adhesion-id'])) {
.users {
min-height: 25em;
}
.admin-links {
margin-bottom: 4em;
}
.admin-links a {
margin: 0.5em;
display: inline-block;
}
main .content {
padding-top: 7em;
}
</style>
</head>
@ -153,6 +163,12 @@ if (isset($_POST['adhesion-id'])) {
<?=$status?>
<div class="users">
<?php
echo ('<div class="admin-links">');
echo ('<a href="index.php" class="button">Utilisateurs</a>');
echo ('<a href="adhesions.php" class="button">Demandes d\'adhésion</a>');
echo ('<a href="adhesions-non-payees.php" class="button">Adhésions non payées</a>');
echo ('<a href="adherents.php" class="button">Adhérents</a>');
echo ('<a href="/phpmyadmin" class="button">PHPMyAdmin</a></div>');
echo ('<form action="" method="get">');
$shapePath = '<path d="M10.25 3.75c-3.59 0-6.5 2.91-6.5 6.5s2.91 6.5 6.5 6.5c1.795 0 3.419-.726 4.596-1.904 1.178-1.177 1.904-2.801 1.904-4.596 0-3.59-2.91-6.5-6.5-6.5zm-8.5 6.5c0-4.694 3.806-8.5 8.5-8.5s8.5 3.806 8.5 8.5c0 1.986-.682 3.815-1.824 5.262l4.781 4.781-1.414 1.414-4.781-4.781c-1.447 1.142-3.276 1.824-5.262 1.824-4.694 0-8.5-3.806-8.5-8.5z"></path>';
textInput("text", $shapePath, "search", "Chercher", "");
@ -160,8 +176,9 @@ 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";
$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";
$request = $pdo->prepare($sqlRequest);
$request->bindParam(":search", $search);
$request->execute();
$result = $request->fetchAll(PDO::FETCH_ASSOC);
@ -179,8 +196,6 @@ if (isset($_POST['adhesion-id'])) {
}
?>
</div>
<div><a href="adhesions-non-payees.php" class="button">Adhésions non payées</a></div>
<div><a href="adherents.php" class="button">Adhérents</a></div>
</div>
</main>
<footer>

View File

@ -25,10 +25,8 @@ if (isset($_POST['user-id']) && isset($_POST['user-role']) && isset($_POST['user
$request->bindParam(":userAccreditation", $userAccreditation);
$request->bindParam(":userID", $userID);
if($request->execute()) {
$pdo->commit();
$status = "Utilisateur mis à jour";
} else {
$pdo->rollback();
$status = "Erreur SQL";
}
}
@ -43,7 +41,6 @@ if (isset($_POST['delete-user']) && isset($_POST['delete-user-id'])) {
} else {
$status = "Erreur SQL";
}
$request->close();
}
?>
@ -65,6 +62,16 @@ if (isset($_POST['delete-user']) && isset($_POST['delete-user-id'])) {
#delete-button {
display: inline-block;
}
.admin-links {
margin-bottom: 4em;
}
.admin-links a {
margin: 0.5em;
display: inline-block;
}
main .content {
padding-top: 7em;
}
</style>
</head>
@ -86,6 +93,12 @@ if (isset($_POST['delete-user']) && isset($_POST['delete-user-id'])) {
<div class="content">
<?=$status?>
<?php
echo ('<div class="admin-links">');
echo ('<a href="index.php" class="button">Utilisateurs</a>');
echo ('<a href="adhesions.php" class="button">Demandes d\'adhésion</a>');
echo ('<a href="adhesions-non-payees.php" class="button">Adhésions non payées</a>');
echo ('<a href="adherents.php" class="button">Adhérents</a>');
echo ('<a href="/phpmyadmin" class="button">PHPMyAdmin</a></div>');
echo ('<form action="" method="get">');
$shapePath = '<path d="M10.25 3.75c-3.59 0-6.5 2.91-6.5 6.5s2.91 6.5 6.5 6.5c1.795 0 3.419-.726 4.596-1.904 1.178-1.177 1.904-2.801 1.904-4.596 0-3.59-2.91-6.5-6.5-6.5zm-8.5 6.5c0-4.694 3.806-8.5 8.5-8.5s8.5 3.806 8.5 8.5c0 1.986-.682 3.815-1.824 5.262l4.781 4.781-1.414 1.414-4.781-4.781c-1.447 1.142-3.276 1.824-5.262 1.824-4.694 0-8.5-3.806-8.5-8.5z"></path>';
textInput("text", $shapePath, "search", "Chercher", "");
@ -93,7 +106,7 @@ if (isset($_POST['delete-user']) && isset($_POST['delete-user-id'])) {
$search = isset($_GET['search']) ? '%' . $_GET['search'] . '%' : '%%';
$sqlRequest = "SELECT users.ID, users.username, users.display_name, users.role, users.accreditation, roles.badge_svg, users.profile_picture FROM users JOIN roles ON users.role = roles.ID WHERE users.ID LIKE :search OR users.username LIKE :search OR users.display_name LIKE :search OR users.email LIKE :search ORDER BY users.creation_date DESC";
$sqlRequest = "SELECT users.ID, users.username, users.display_name, users.role, users.accreditation, roles.badge_svg, users.profile_picture FROM users JOIN roles ON users.role = roles.ID WHERE users.ID LIKE :search OR users.username LIKE :search OR users.display_name LIKE :search OR users.email LIKE :search ORDER BY users.creation_date DESC LIMIT 5";
$request = $pdo->prepare($sqlRequest);
$request->bindParam(":search", $search);
$request->execute();
@ -135,10 +148,6 @@ if (isset($_POST['delete-user']) && isset($_POST['delete-user-id'])) {
echo ('Aucun utilisateur trouvé.');
}
?>
<div><a href="adhesions.php" class="button">Demandes d'adhésion</a></div>
<div><a href="adhesions-non-payees.php" class="button">Adhésions non payées</a></div>
<div><a href="adherents.php" class="button">Adhérents</a></div>
<div><a href="/phpmyadmin" class="button">PHPMyAdmin</a></div>
</div>
</main>
<footer>

View File

@ -85,7 +85,6 @@ if (isset($_POST['article-content']) && isset($_POST['classification']) && isset
} else {
$status = "Une erreur s'est produite";
}
$request->close();
}

View File

@ -91,7 +91,7 @@ $pdo = sqlConnect($sqlDatabaseHost, $sqlDatabaseName, $sqlDatabaseUser, $sqlData
<source src="/src/videos/e59-animation.mp4" type="video/mp4">
</video>
</div>
<h1>Rassembler les étudiants dans des projets liés aux nouvelles technologies.</h1>
<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>
</div>
<div class="second-panel">

View File

@ -400,6 +400,7 @@ footer {
border-radius: 1em;
padding: 0.5em;
color: var(--text);
text-align: right;
}
/* DATE INPUT */
@ -421,8 +422,13 @@ footer {
border: none;
background: var(--background);
border-radius: 1em;
padding: 0.5em;
color: var(--text);
width: 100%;
text-align: right;
}
label {
text-wrap: nowrap;
}
/* FORM */

View File

@ -59,7 +59,6 @@ if(isset($_POST['article-content']) && isset($_POST['classification'])) {
} else {
$status = "Erreur SQL";
}
$request->close();
}
?>

View File

@ -58,9 +58,8 @@ function fillNav($rootPageURL) {
echo ('<div class="nav-list">');
echo ('<div class="nav-link">A propos</div>');
echo ('<div class="links">');
echo ('<a href="' . $rootPageURL . 'about"><div class="nav-link link-1">Contacts</div></a>');
echo ('<a href="' . $rootPageURL . 'about/data.php"><div class="nav-link link-2">Données</div></a>');
echo ('<a href="' . $rootPageURL . 'about/doc.php"><div class="nav-link link-3">Documents</div></a>');
echo ('<a href="' . $rootPageURL . 'about"><div class="nav-link link-1">Contact</div></a>');
echo ('<a href="' . $rootPageURL . 'about/doc.php"><div class="nav-link link-2">Documents</div></a>');
echo ('</div>');
echo ('</div>');