Ajout de webhooks pour le login/register/newEvent.

Ajout des pages pour gestion globale des évènements.

Co-authored-by: Charpentier Juliette <juliette.charpentier@etu.u-pec.fr>
This commit is contained in:
2024-06-14 17:31:37 +02:00
parent 7c326d3908
commit 9adca94b82
21 changed files with 8471 additions and 346 deletions

View File

@@ -0,0 +1,77 @@
<?php
// Code fork depuis https://stackoverflow.com/a/51748785
require_once $_SERVER['DOCUMENT_ROOT'] . '/tools/dbConnect.php';
session_start();
if (isset($_COOKIE['userData'])) {
$userDataEncoded = $_COOKIE['userData'];
$userData = json_decode($userDataEncoded, true); // 'true' pour obtenir un tableau associatif
$email = $userData['email'];
$name = $userData['name'];
$familyName = $userData['familyName'];
$role = $userData['role'];
}
$url = "https://discord.com/api/webhooks/1251174147707506760/9nzTCgf9KQBDm6gjbbJCNgXfwrnSZhdFM3-ysp5_DGeUm0PABxyoYwTBn-HyJ0P6heCY";
$hookObject = json_encode([
"content" => "## ✅ Nouvelle connexion au site des Jeux Olympiques de Paris 2024 ! \n@here",
"username" => "Jeux Olympiques - Paris 2024",
"avatar_url" => "https://i.imgur.com/gg5xPa1.png",
"tts" => false,
"embeds" => [
[
"title" => "Jeux Olympiques - Paris 2024",
"type" => "rich",
"description" => "",
"url" => "https://but.lbalocchi.fr/",
"timestamp" => date('c', time()),
"color" => hexdec("F4B400"),
"footer" => [
"text" => "© Juliette & Loris - 2024",
"icon_url" => "https://tickets.paris2024.org/obj/media/FR-Paris2024/specialLogos/favicons/favicon-32x32.png"
],
"image" => [
"url" => "https://www.fromagersdefrance.com/wp-content/uploads/2023/03/1200px-Logo_JO_dete_-_Paris_2024.svg__0.png"
],
"author" => [
"name" => "Juliette & Loris",
"url" => "https://but.lbalocchi.fr/",
],
// Field array of objects
"fields" => [
[
"name" => "Nom de l'utilisateur",
"value" => $nameFetched . " " . $familyNameFetched,
"inline" => false
],
[
"name" => "Adresse mail de l'utilisateur",
"value" => $email,
"inline" => true
],
[
"name" => "Rôle de l'utilisateur",
"value" => $roleFetched,
"inline" => true
]
]
]
]
], JSON_UNESCAPED_SLASHES | JSON_UNESCAPED_UNICODE);
$ch = curl_init();
curl_setopt_array($ch, [
CURLOPT_URL => $url,
CURLOPT_POST => true,
CURLOPT_POSTFIELDS => $hookObject,
CURLOPT_HTTPHEADER => [
"Content-Type: application/json"
]
]);
$response = curl_exec($ch);
curl_close($ch);
?>

View File

@@ -0,0 +1,98 @@
<?php
// Code fork depuis https://stackoverflow.com/a/51748785
require_once $_SERVER['DOCUMENT_ROOT'] . '/tools/dbConnect.php';
session_start();
if (isset($_COOKIE['userData'])) {
$userDataEncoded = $_COOKIE['userData'];
$userData = json_decode($userDataEncoded, true); // 'true' pour obtenir un tableau associatif
$email = $userData['email'];
$name = $userData['name'];
$familyName = $userData['familyName'];
$role = $userData['role'];
}
$url = "https://discord.com/api/webhooks/1251196052133118013/euJIbUIfmdXK0MJsS6WoEDLm2ipPV_efb1gLOeUaP3IZNIM4MRdqu2RuOWbVF_09d2ty";
$hookObject = json_encode([
"content" => "## ✅ Nouvel évènement créé sur le site des Jeux Olympiques de Paris 2024 ! \n@here",
"username" => "Jeux Olympiques - Paris 2024",
"avatar_url" => "https://i.imgur.com/gg5xPa1.png",
"tts" => false,
"embeds" => [
[
"title" => "Jeux Olympiques - Paris 2024",
"type" => "rich",
"description" => "",
"url" => "https://but.lbalocchi.fr/",
"timestamp" => date('c', time()),
"color" => hexdec("F4B400"),
"footer" => [
"text" => "© Juliette & Loris - 2024",
"icon_url" => "https://tickets.paris2024.org/obj/media/FR-Paris2024/specialLogos/favicons/favicon-32x32.png"
],
"image" => [
"url" => "https://www.fromagersdefrance.com/wp-content/uploads/2023/03/1200px-Logo_JO_dete_-_Paris_2024.svg__0.png"
],
"author" => [
"name" => "Juliette & Loris",
"url" => "https://but.lbalocchi.fr/",
],
// Field array of objects
"fields" => [
// en cas de nouvel évènement créé, notifie via un webhook des informations suivantes concernant l'évènement : Nom de l'évènement, Discipline, Date de l'évènement, Lieu de l'évènement, Description de l'évènement, Rôles pouvant s'inscrire
[
"name" => "Nom de l'évènement",
"value" => $eventName,
"inline" => false
],
[
"name" => "Discipline",
"value" => $eventDiscipline,
"inline" => true
],
[
"name" => "Date de l'évènement",
"value" => $eventDate,
"inline" => true
],
[
"name" => "Lieu de l'évènement",
"value" => $eventLocation,
"inline" => true
],
[
"name" => "Description de l'évènement",
"value" => $eventDescription,
"inline" => true
],
[
"name" => "Rôles pouvant s'inscrire",
"value" => $rolesText,
"inline" => true
],
[
"name" => "Créateur de l'évènement",
"value" => $name . " " . $familyName . " (" . $role . ")\n" . $email,
"inline" => true
]
]
]
]
], JSON_UNESCAPED_SLASHES | JSON_UNESCAPED_UNICODE);
$ch = curl_init();
curl_setopt_array($ch, [
CURLOPT_URL => $url,
CURLOPT_POST => true,
CURLOPT_POSTFIELDS => $hookObject,
CURLOPT_HTTPHEADER => [
"Content-Type: application/json"
]
]);
$response = curl_exec($ch);
curl_close($ch);
?>

View File

@@ -0,0 +1,77 @@
<?php
// Code fork depuis https://stackoverflow.com/a/51748785
require_once $_SERVER['DOCUMENT_ROOT'] . '/tools/dbConnect.php';
session_start();
if (isset($_COOKIE['userData'])) {
$userDataEncoded = $_COOKIE['userData'];
$userData = json_decode($userDataEncoded, true); // 'true' pour obtenir un tableau associatif
$email = $userData['email'];
$name = $userData['name'];
$familyName = $userData['familyName'];
$role = $userData['role'];
}
$url = "https://discord.com/api/webhooks/1251195948969889893/ul_eB43XfEHoulUbS5YcsiJ2BWdTt4oLxgA_ZD9e7SFbyYYtfYU0HFR5ixE8WmMKjtSY";
$hookObject = json_encode([
"content" => "## Nouvel utilisateur enregistré sur le site des Jeux Olympiques de Paris 2024 !",
"username" => "Jeux Olympiques - Paris 2024",
"avatar_url" => "https://i.imgur.com/gg5xPa1.png",
"tts" => false,
"embeds" => [
[
"title" => "Jeux Olympiques - Paris 2024",
"type" => "rich",
"description" => "",
"url" => "https://but.lbalocchi.fr/",
"timestamp" => date('c', time()),
"color" => hexdec("F4B400"),
"footer" => [
"text" => "© Juliette & Loris - 2024",
"icon_url" => "https://tickets.paris2024.org/obj/media/FR-Paris2024/specialLogos/favicons/favicon-32x32.png"
],
"image" => [
"url" => "https://www.fromagersdefrance.com/wp-content/uploads/2023/03/1200px-Logo_JO_dete_-_Paris_2024.svg__0.png"
],
"author" => [
"name" => "Juliette & Loris",
"url" => "https://but.lbalocchi.fr/",
],
// Field array of objects
"fields" => [
[
"name" => "Nom de l'utilisateur",
"value" => $name . " " . $familyName,
"inline" => false
],
[
"name" => "Adresse mail de l'utilisateur",
"value" => $email,
"inline" => true
],
[
"name" => "Rôle de l'utilisateur",
"value" => $role,
"inline" => true
]
]
]
]
], JSON_UNESCAPED_SLASHES | JSON_UNESCAPED_UNICODE);
$ch = curl_init();
curl_setopt_array($ch, [
CURLOPT_URL => $url,
CURLOPT_POST => true,
CURLOPT_POSTFIELDS => $hookObject,
CURLOPT_HTTPHEADER => [
"Content-Type: application/json"
]
]);
$response = curl_exec($ch);
curl_close($ch);
?>

View File

@@ -22,7 +22,13 @@ if (isset($_COOKIE['userData'])) {
<span></span>
<!-- logo -->
<a href="../../../" class="menu-logo">
<a href="<?php
if (isset($_COOKIE['userData'])) {
echo "/?res=login-succeeded";
} else {
echo "/";
}
?>" class="menu-logo">
<img src="https://i.imgur.com/RkmSo9Q.png" alt="Jeux Olympiques - Paris 2024" />
</a>
@@ -37,8 +43,7 @@ if (isset($_COOKIE['userData'])) {
echo "<a href='/admin'>Panel d'administration</a>";
echo "<ul class='dropdown-content'>";
echo "<li><a href='/admin/users'>Gérer les utilisateurs</a></li>"; //option 1
echo "<li><a href='/admin/type2'>Événement Type 2</a></li>";
echo "<li><a href='/admin/type3'>Événement Type 3</a></li>";
echo "</ul>";
echo "</li>";
}
@@ -48,9 +53,30 @@ if (isset($_COOKIE['userData'])) {
<li class="dropdown">
<a href="/events">Évènements</a>
<ul class="dropdown-content">
<li><a href="/events/type1">Événement Type 1</a></li>
<li><a href="/events/type2">Événement Type 2</a></li>
<li><a href="/events/type3">Événement Type 3</a></li>
<?php
if (isset($_COOKIE['userData'])) {
$role = $userData['role'];
if ($role == 'Administrateur') {
echo "<li><a href='/events/new'>Créer un nouvel évènement</a></li>";
echo "<li><a href='/events/list'>Liste des évènements</a></li>";
echo "<li><a href='/events/book'>S'inscrire à un évènement</a></li>";
} else if ($role == 'Sportif') {
echo "<li><a href='/events/participate'>Participer à un évènement</a></li>";
echo "<li><a href='/events/list'>Liste des évènements</a></li>";
echo "<li><a href='/events/book'>S'inscrire à un évènement</a></li>";
} else if ($role == "Organisateur") {
echo "<li><a href='/events/new'>Créer un nouvel évènement</a></li>";
echo "<li><a href='/events/list'>Liste des évènements</a></li>";
echo "<li><a href='/events/book'>S'inscrire à un évènement</a></li>";
} else if ($role == "Membre") {
echo "<li><a href='/events/list'>Liste des évènements</a></li>";
echo "<li><a href='/events/book'>S'inscrire à un évènement</a></li>";
}
} else {
echo "<li><a href='/events/list'>Liste des évènements</a></li>";
}
?>
</ul>
</li>
</ul>