97 lines
3.9 KiB
PHP
97 lines
3.9 KiB
PHP
<?php
|
|
|
|
/**
|
|
* Fonctions pour gérer les annonces
|
|
*/
|
|
|
|
// Charger les annonces depuis un fichier JSON
|
|
function loadAnnonces()
|
|
{
|
|
if (file_exists('annonces.json')) {
|
|
$json = file_get_contents('annonces.json');
|
|
return json_decode($json, true) ?? [];
|
|
}
|
|
return [];
|
|
}
|
|
|
|
// Sauvegarder les annonces dans un fichier JSON
|
|
function saveAnnonces($annonces)
|
|
{
|
|
$json = json_encode($annonces, JSON_PRETTY_PRINT);
|
|
file_put_contents('annonces.json', $json);
|
|
}
|
|
|
|
// Ajouter une annonce en vérifiant les entrées
|
|
function addAnnonce($title, $nombre, $description = '', $transportOption = '', $restaurantPicnic = 0)
|
|
{
|
|
$annonces = loadAnnonces();
|
|
$annonce = [
|
|
'id' => uniqid(),
|
|
'title' => htmlspecialchars(trim($title)),
|
|
'nombre' => htmlspecialchars(trim($nombre)),
|
|
'description' => htmlspecialchars(trim($description) ?: "Aucun détail supplémentaire fourni."),
|
|
'transport_option' => htmlspecialchars(trim($transportOption)),
|
|
'restaurant_picnic' => $restaurantPicnic, // Nouvelle donnée
|
|
date_default_timezone_set("Europe/Paris"),
|
|
'date' => date('d-m-Y \à\ H:i:s')
|
|
];
|
|
$annonces[] = $annonce;
|
|
saveAnnonces($annonces);
|
|
return $annonce;
|
|
}
|
|
|
|
// Afficher toutes les annonces existantes avec le comptage des options de transport et restaurant/pique-nique
|
|
function displayAnnonces()
|
|
{
|
|
$annonces = loadAnnonces();
|
|
$totalCovoiturage = 0;
|
|
$totalRdv = 0;
|
|
$totalRestaurantPicnic = 0;
|
|
|
|
// Calculer les totaux par option de transport et restaurant/pique-nique
|
|
foreach ($annonces as $annonce) {
|
|
$totalParticipants += (int)$annonce['nombre'];
|
|
if ($annonce['transport_option'] === 'Covoiturage') {
|
|
$totalCovoiturage += (int)$annonce['nombre'];
|
|
} elseif ($annonce['transport_option'] === 'Rendez-vous départ') {
|
|
$totalRdv += (int)$annonce['nombre'];
|
|
}
|
|
// Ajouter au total des personnes intéressées par le restaurant ou pique-nique
|
|
if (isset($annonce['restaurant_picnic'])) {
|
|
$totalRestaurantPicnic += (int)$annonce['restaurant_picnic'];
|
|
}
|
|
}
|
|
|
|
// Afficher les totaux par option de transport et pour le restaurant/pique-nique
|
|
echo "<h2>Total de participants : $totalParticipants</h2>";
|
|
echo "<strong><font size= +1>Total rendez-vous pour du covoiturage : </font></strong>" . "<strong><font size= +2>" . $totalCovoiturage . "</font></strong><br>";
|
|
echo "<strong><font size= +1>Total rendez-vous au départ randonnée : </font></strong>" . "<strong><font size= +2>" . $totalRdv . "</font></strong><br>";
|
|
echo "<strong><font size= +1>Total personnes intéressées par un restaurant ou pique-nique : </font></strong>" . "<strong><font size= +2>" . $totalRestaurantPicnic . "</font></strong><br>";
|
|
echo "<hr>"; // Ligne de séparation
|
|
echo "<h2>Liste des participants</h2>";
|
|
|
|
// Afficher les annonces
|
|
if (empty($annonces)) {
|
|
echo "<p>Aucune personne inscrite pour le moment.</p>";
|
|
} else {
|
|
foreach ($annonces as $annonce) {
|
|
echo "<div class='annonce'>";
|
|
echo "<img src='./images/randonneur-nb2.jpg' style='float: right; margin: 10px;' alt='Image'>";
|
|
echo "<h3>" . $annonce['title'] . "</h3>";
|
|
|
|
if ($annonce['nombre'] > 0) {
|
|
echo "<p>Nombre de personnes : " . $annonce['nombre'] . "</p>";
|
|
echo "<p>Option choisie : " . $annonce['transport_option'] . "</p>";
|
|
} else {
|
|
echo "<p>Cette personne a indiqué qu'elle ne sera pas présente.</p>";
|
|
}
|
|
if (isset($annonce['restaurant_picnic']) && $annonce['restaurant_picnic'] > 0) {
|
|
echo "<p>Personnes intéressées par un restaurant ou un pique-nique : " . $annonce['restaurant_picnic'] . "</p>";
|
|
}
|
|
echo "<p>" . $annonce['description'] . "</p>";
|
|
echo "<small>Publié le " . $annonce['date'] . "</small>";
|
|
echo "</div><hr>";
|
|
}
|
|
}
|
|
}
|