diff --git a/account/profile/index.php b/account/profile/index.php index a79b2eb..6aeaefb 100644 --- a/account/profile/index.php +++ b/account/profile/index.php @@ -26,9 +26,9 @@ if (isset($_COOKIE['userData'])) {
- - - + + + + + + + + + + + + + + + + + +Redirection vers l'accueil dans 5 secondes...
"; + header("refresh:5; url=/"); + include $_SERVER['DOCUMENT_ROOT'] . '/views/footer.php'; + die(); + } ?> +❌ La réservation a échoué. Veuillez réessayer.
"; + } else if ($_GET['res'] == "cancellation-failed") { + echo "❌ L'annulation a échoué. Veuillez réessayer.
"; + } else if ($_GET['res'] == "cancellation-succeeded") { + $eventTitleFetched = $_GET['eventtitle']; + echo "✅ L'annulation de $eventTitleFetched a bien été prise en compte.
"; + } + } + //afficher la liste des évènements auxquels l'utilisateur est inscrit (avec mysqli) (table booking) + $stmt = mysqli_prepare($db, "SELECT * FROM booking WHERE mail = ?"); + mysqli_stmt_bind_param($stmt, "s", $email); + mysqli_stmt_execute($stmt); + $result = mysqli_stmt_get_result($stmt); + if (mysqli_num_rows($result) == 0) { + echo "Vous n'êtes inscrit à aucun évènement pour le moment.
"; + } else { + echo "Voici la liste des évènements auxquels vous êtes inscrit :
"; + echo "Nom de l'évènement | "; + echo "Date | "; + ; + echo "Lieu | "; + echo "Action | "; + echo "
---|---|---|---|
" . $event['title'] . " | "; + echo "" . date('d/m/Y', strtotime($event['date'])) . " | "; + echo "" . $event['location'] . " | "; + echo "Annuler | "; + echo "
Un utilisateur avec cette adresse mail existe déjà.
"); -} + $addUser = "INSERT INTO `user`(`mail`, `name`, `family_name`, `role`, `password`) VALUES (?, ?, ?, ?, ?)"; + $stmtAddUser = mysqli_prepare($db, $addUser); + mysqli_stmt_bind_param($stmtAddUser, "sssss", $userEmail, $userName, $userFamilyName, $userUserRole, $hashedPassword); + $resultAddUser = mysqli_stmt_execute($stmtAddUser); + $addUser = "INSERT INTO `user`(`mail`, `name`, `family_name`, `role`, `password`) VALUES ('$userEmail', '$userName', '$userFamilyName', '$userUserRole', '$hashedPassword')"; -$addUser = "INSERT INTO `user`(`mail`, `name`, `family_name`, `role`, `password`) VALUES ('$userEmail', '$userName', '$userFamilyName', '$userUserRole', '$hashedPassword')"; - -$resultAddUser = mysqli_query($db, $addUser); -if (!$resultAddUser) { - echo "Erreur lors de l'exécution de la requête.
"; -} else { - if (mysqli_affected_rows($db) > 0) { - echo "Utilisateur créé avec succès.
"; - - echo "Prénom : " . $userName . "
"; - echo "Nom : " . $userFamilyName . "
"; - echo "Adresse mail : " . $userEmail . "
"; - echo "Mot de passe : " . $userPassword . "
"; - echo "Mot de passe hashé : " . $hashedPassword . "
"; - echo "Rôle : " . $userUserRole . "
"; - include ($_SERVER['DOCUMENT_ROOT'] . '/tools/discordWebhookRegister.php'); - header("Location: /admin/users/?newuser=$userEmail"); - die(); + $resultAddUser = mysqli_query($db, $addUser); + if (!$resultAddUser) { + echo "Erreur lors de l'exécution de la requête.
"; } else { - echo "Aucun utilisateur n\'a été ajouté.
"; + if (mysqli_affected_rows($db) > 0) { + echo "Utilisateur créé avec succès.
"; + + echo "Prénom : " . $userName . "
"; + echo "Nom : " . $userFamilyName . "
"; + echo "Adresse mail : " . $userEmail . "
"; + echo "Mot de passe : " . $userPassword . "
"; + echo "Mot de passe hashé : " . $hashedPassword . "
"; + echo "Rôle : " . $userUserRole . "
"; + include ($_SERVER['DOCUMENT_ROOT'] . '/tools/discordWebhookRegister.php'); + header("Location: /admin/users/?newuser=$userEmail"); + die(); + } else { + echo "Aucun utilisateur n\'a été ajouté.
"; + } } } - ?> \ No newline at end of file diff --git a/admin/users/edit/edit.php b/admin/users/edit/edit.php new file mode 100644 index 0000000..ae0f889 --- /dev/null +++ b/admin/users/edit/edit.php @@ -0,0 +1,60 @@ +Un utilisateur avec cette adresse mail existe déjà."); + } +} + +if (!$result) { + die("Erreur lors de l'exécution de la requête."); +} + +$editUser = "UPDATE `user` SET `mail`='$userEmail', `name`='$userName', `family_name`='$userFamilyName', `role`='$userUserRole' WHERE `mail`='$userEmail'"; + +$resultEditUser = mysqli_query($db, $editUser); +if (!$resultEditUser) { + echo "Erreur lors de l'exécution de la requête.
"; +} else { + if (mysqli_affected_rows($db) > 0) { + echo "Utilisateur créé avec succès.
"; + + echo "Prénom : " . $userName . "
"; + echo "Nom : " . $userFamilyName . "
"; + echo "Adresse mail : " . $userEmail . "
"; + echo "Mot de passe : " . $userPassword . "
"; + echo "Mot de passe hashé : " . $hashedPassword . "
"; + echo "Rôle : " . $userUserRole . "
"; + include ($_SERVER['DOCUMENT_ROOT'] . '/tools/discordWebhookRegister.php'); + header("Location: /admin/users/edit?usermail=$userEmail"); + die(); + } else { + echo "Aucun utilisateur n\'a été ajouté.
"; + } +} + +?> \ No newline at end of file diff --git a/admin/users/edit/index.php b/admin/users/edit/index.php index 13be7ef..b3bf848 100644 --- a/admin/users/edit/index.php +++ b/admin/users/edit/index.php @@ -2,8 +2,8 @@ require_once $_SERVER['DOCUMENT_ROOT'] . '/tools/dbConnect.php'; session_start(); -if (isset($_COOKIE['userData'])) { - $userDataEncoded = $_COOKIE['userData']; +$userDataEncoded = isset($_COOKIE['userData']) ? $_COOKIE['userData'] : null; +if ($userDataEncoded) { $userData = json_decode($userDataEncoded, true); // 'true' pour obtenir un tableau associatif $email = $userData['email']; @@ -11,6 +11,30 @@ if (isset($_COOKIE['userData'])) { $familyName = $userData['familyName']; $role = $userData['role']; } +//faire le nécessaire epour récup le mail donné en valriable dans l'url dans $userEmail +// requete préparée sql pour obtenir les infos de l'utilisateur à partir du mail +// tu auras des variuables qui contiendront les informations de l'utilisateur, tu n'as plus qu'à +// les afficher correctement dans les cases. Laisse son role d'affiché, mais mets juste en dessous un +// menu déroulant avec tous les 4 rôles possibles + + +if (isset($_GET['usermail'])) { + $userEmail = $_GET['usermail']; + $stmt = mysqli_prepare($db, "SELECT * FROM user WHERE mail = ?"); + mysqli_stmt_bind_param($stmt, "s", $userEmail); + mysqli_stmt_execute($stmt); + $result = mysqli_stmt_get_result($stmt); + while ($row = mysqli_fetch_assoc($result)) { + $userEmail = $row["mail"]; + $userFirstName = $row["name"]; + $userFamilyName = $row["family_name"]; + $userRole = $row["role"]; + } + +} else { + echo "Vous n'avez pas renseigné d'utilisateur à modifier.
"; +} + ?> @@ -19,28 +43,71 @@ if (isset($_COOKIE['userData'])) { - - - + + + -Modifiez les informations de ce profil.
+ Vous modifiez actuellement le profil de l'utilisateur $userEmail."; + echo "Ce profil est actuellement de type $userRole.
"; + echo "" . $userFirstName . " " . $userFamilyName . "
"; + echo "" . $userEmail . "
"; - } + ?> - ?> + + + diff --git a/admin/users/index.php b/admin/users/index.php index b2d5a27..07b278c 100644 --- a/admin/users/index.php +++ b/admin/users/index.php @@ -82,7 +82,7 @@ if (isset($_COOKIE['userData'])) { echo "Vous vous apprêtez à vous inscrire à l'évènement suivant :
"; + echo "Nom de l'évènement : $eventTitle
"; + echo "Date de l'évènement : $eventDate
"; + echo "Lieu de l'évènement : $eventLocation
"; + echo "Discipline de l'évènement : $eventType
"; + echo "Description de l'évènement : $eventDescription
"; + echo "Adresse mail de l'utilisateur : $userEmail
"; + $stmt = mysqli_prepare($db, "INSERT INTO booking (id, mail, title, description, event_type, date, location) VALUES (?, ?, ?, ?, ?, ?, ?)"); + mysqli_stmt_bind_param($stmt, "issssss", $eventId, $userEmail, $eventTitle, $eventDescription, $eventType, $eventDate, $eventLocation); + if (mysqli_stmt_execute($stmt)) { + echo "Votre inscription à l'évènement $eventTitle a bien été prise en compte.
"; + $stmt = mysqli_prepare($db, "UPDATE event SET guest_count = guest_count + 1 WHERE id = ?"); + mysqli_stmt_bind_param($stmt, "i", $eventId); + if (mysqli_stmt_execute($stmt)) { + echo "Le nombre de participants a été mis à jour.
"; + include $_SERVER['DOCUMENT_ROOT'] . '/tools/discordWebhookBooking.php'; + header("Location: /account/profile/myevents?res=booking-succeeded"); + } else { + echo "Erreur lors de la mise à jour du nombre de participants.
"; + } + } else { + echo "Une erreur est survenue lors de votre inscription à l'évènement. Erreur : " . mysqli_error($db) . "
"; + header("Location: /account/profile/myevents?res=booking-failed"); + } + } else { + echo "Évènement introuvable.
"; + } +} ?> \ No newline at end of file diff --git a/events/book/cancel.php b/events/book/cancel.php new file mode 100644 index 0000000..60136b4 --- /dev/null +++ b/events/book/cancel.php @@ -0,0 +1,61 @@ +Vous vous apprêtez à annuler votre inscription à l'évènement suivant : "; + echo "Nom de l'évènement : $eventTitle
"; + echo "Date de l'évènement : $eventDate
"; + echo "Lieu de l'évènement : $eventLocation
"; + echo "Discipline de l'évènement : $eventType
"; + echo "Description de l'évènement : $eventDescription
"; + echo "Adresse mail de l'utilisateur : $userEmail
"; + + $stmt = mysqli_prepare($db, "DELETE FROM booking WHERE id = ? AND mail = ?"); + mysqli_stmt_bind_param($stmt, "is", $eventId, $userEmail); + if (mysqli_stmt_execute($stmt)) { + + + echo "Votre annulation à l'évènement $eventTitle a bien été prise en compte.
"; + + $stmt = mysqli_prepare($db, "UPDATE event SET guest_count = guest_count - 1 WHERE id = ?"); + mysqli_stmt_bind_param($stmt, "i", $eventId); + if (mysqli_stmt_execute($stmt)) { + echo "Le nombre de participants a été mis à jour.
"; + include $_SERVER['DOCUMENT_ROOT'] . '/tools/discordWebhookBooking.php'; + header("Location: /account/profile/myevents?res=cancellation-succeeded&eventtitle=$eventTitle"); + } else { + echo "Erreur lors de la mise à jour du nombre de participants.
"; + } + } else { + echo "Une erreur est survenue lors de votre annulation à l'évènement. Erreur : " . mysqli_error($db) . "
"; + header("Location: /account/profile/myevents?res=cancellation-failed"); + } + } +} +?> \ No newline at end of file diff --git a/events/index.php b/events/index.php index ef1db34..8e621a9 100644 --- a/events/index.php +++ b/events/index.php @@ -34,33 +34,101 @@ ?> Créer un évènement'; - echo ''; + echo ''; } else if ($role == 'Sportif') { echo ''; - echo ''; + echo ''; + echo ''; + } else { - echo ''; + echo ''; } - echo ''; + echo ''; } else { - echo ''; + echo ''; } + // faire une requete sql avec mysqli permettant d'afficher tous les évènements + // afficher les évènements sous forme de tableau + // voici les colonnes disponibles dans la table event + // id title description event_type date location role guest_count creator + + + $query = "SELECT * FROM event"; + + if (isset($_GET['sort'])) { + $sort = $_GET['sort']; + switch ($sort) { + case 'date': + $query .= " ORDER BY date"; + break; + case 'location': + $query .= " ORDER BY location"; + break; + case 'discipline': + $query .= " ORDER BY event_type"; + break; + default: + break; + } + } + + // Menu déroulant pour sélectionner le tri + echo ""; + $result = mysqli_query($db, $query); + echo "Titre | "; // Ensure class name matches with the CSS + echo "Description | "; // Ensure class name matches with the CSS + echo "Discipline | "; // Ensure class name matches with the CSS + echo "Date | "; // Ensure class name matches with the CSS + echo "Lieu | "; // Ensure class name matches with the CSS + echo "
---|---|---|---|---|
" . htmlspecialchars($row['title']) . " | "; + echo "" . htmlspecialchars($row['description']) . " | "; + echo "" . htmlspecialchars($row['event_type']) . " | "; + echo "" . htmlspecialchars($row['date']) . " | "; + echo "" . htmlspecialchars($row['location']) . " | "; + echo "
Date : $date
"; echo "Lieu : $location
"; echo "Nombre de participants : $guest_count
"; - echo "(Roles autorisés) : $role
"; + echo "(Roles autorisés) : $authorized_roles
"; echo "$description
"; - + if ($role != 'Administrateur') { + if ($role != 'Administrateur') { + echo ""; + } + } + if ($role == 'Sportif') { + echo ""; + } echo "Aucun évènement trouvé à $location
"; + echo "Aucun évènement trouvé à cet endroit.
"; + echo "Date : $date
"; echo "Lieu : $location
"; echo "Nombre de participants : $guest_count
"; - echo "(Roles autorisés) : $role
"; + echo "(Roles autorisés) : $authorized_roles
"; echo "$description
"; + if ($role != 'Administrateur') { + echo ""; + } + if ($role == 'Sportif') { + echo ""; + } echo "Aucun évènement trouvé le" . $date_fr . ".
"; + echo "Aucun évènement trouvé à la date recherchée.
"; } echo "Date : $date
"; echo "Lieu : $location
"; echo "Nombre de participants : $guest_count
"; - echo "(Roles autorisés) : $role
"; + echo "(Roles autorisés) : $authorized_roles
"; echo "$description
"; - echo ""; // Add the button here + if ($role != 'Administrateur') { + echo ""; + } + if ($role == 'Sportif') { + echo ""; + } echo "