2024-11-24 11:30:36 +01:00
< ? 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
2024-12-15 23:50:39 +01:00
function addAnnonce ( $title , $nombre , $description = '' , $transportOption = '' , $restaurantPicnic = 0 )
2024-11-24 11:30:36 +01:00
{
$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 )),
2024-12-15 23:50:39 +01:00
'restaurant_picnic' => $restaurantPicnic , // Nouvelle donnée
2024-11-24 11:30:36 +01:00
date_default_timezone_set ( " Europe/Paris " ),
'date' => date ( 'd-m-Y \à\ H:i:s' )
];
$annonces [] = $annonce ;
saveAnnonces ( $annonces );
return $annonce ;
}
2024-12-15 23:50:39 +01:00
// Afficher toutes les annonces existantes avec le comptage des options de transport et restaurant/pique-nique
2024-11-24 11:30:36 +01:00
function displayAnnonces ()
{
$annonces = loadAnnonces ();
$totalCovoiturage = 0 ;
$totalRdv = 0 ;
2024-12-15 23:50:39 +01:00
$totalRestaurantPicnic = 0 ;
2024-11-24 11:30:36 +01:00
2024-12-15 23:50:39 +01:00
// Calculer les totaux par option de transport et restaurant/pique-nique
2024-11-24 11:30:36 +01:00
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' ];
}
2024-12-15 23:50:39 +01:00
// Ajouter au total des personnes intéressées par le restaurant ou pique-nique
if ( isset ( $annonce [ 'restaurant_picnic' ])) {
$totalRestaurantPicnic += ( int ) $annonce [ 'restaurant_picnic' ];
}
2024-11-24 11:30:36 +01:00
}
2024-12-15 23:50:39 +01:00
// Afficher les totaux par option de transport et pour le restaurant/pique-nique
2024-11-24 11:30:36 +01:00
echo " <h2>Total de participants : $totalParticipants </h2> " ;
2024-12-15 23:50:39 +01:00
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> " ;
2024-11-24 11:30:36 +01:00
echo " <hr> " ; // Ligne de séparation
echo " <h2>Liste des participants</h2> " ;
2024-12-15 23:50:39 +01:00
2024-11-24 11:30:36 +01:00
// 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> " ;
}
2024-12-15 23:50:39 +01:00
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> " ;
}
2024-11-24 11:30:36 +01:00
echo " <p> " . $annonce [ 'description' ] . " </p> " ;
echo " <small>Publié le " . $annonce [ 'date' ] . " </small> " ;
echo " </div><hr> " ;
}
}
}