affiche la date inscrite sur la page

This commit is contained in:
Fred Tempez 2023-07-14 16:22:23 +02:00
parent c8bae4ae82
commit e384f074e2
4 changed files with 55 additions and 27 deletions

File diff suppressed because one or more lines are too long

View File

@ -136,3 +136,26 @@ function geocode($cities)
return $citiesData; return $citiesData;
} }
function getDatejour($jour) {
// URL de la page à analyser
$url = 'https://www.sabradou.com/' . $jour;
// Récupération du contenu de la page
$html = file_get_contents($url);
// Création d'un objet DOMDocument
$dom = new DOMDocument();
libxml_use_internal_errors(true); // Ignore les erreurs de parsing HTML
$dom->loadHTML($html);
libxml_clear_errors();
// Recherche du <h2> avec l'id "datejour"
$datejourH2 = $dom->getElementById('datejour');
// Extraire la date du contenu du <h2>
$datejour = trim($datejourH2->nodeValue);
return $datejour;
}

View File

@ -17,12 +17,13 @@
<h2>SUR LE SITE <a href="https://www.sabradou.com/" target="_blank">SABRADOU.COM</a></h2> <h2>SUR LE SITE <a href="https://www.sabradou.com/" target="_blank">SABRADOU.COM</a></h2>
<form if="form" action="index.php" method="GET"> <form if="form" action="index.php" method="GET">
<label for="calendrier">Brocantes du :</label> <label for="calendrier">Brocantes du :</label>
<select name="calendrier"onchange="this.form.submit();" id="calendrier-list"> <select name="calendrier" onchange="this.form.submit();" id="calendrier-list">
<?php $calendrier = getCalendrier(); ?> <?php $calendrier = getCalendrier(); ?>
<?php foreach ($calendrier as $item): ?> <?php foreach ($calendrier as $item): ?>
<?php $selected = isset($_GET['calendrier']) && $_GET['calendrier'] === $item['url'] ? 'selected' : ''; ?> <?php $selected = isset($_GET['calendrier']) && $_GET['calendrier'] === $item['url'] ? 'selected' : ''; ?>
<option value="<?php echo $item['url']; ?>" <?php echo $selected; ?>><?php echo $item['node']; ?></option> <option value="<?php echo $item['url']; ?>" <?php echo $selected; ?>><?php echo $item['node']; ?>
<?php endforeach; ?> </option>
<?php endforeach; ?>
</select> </select>
<!--<input type="submit"value="Localiser sur une carte">--> <!--<input type="submit"value="Localiser sur une carte">-->
</form> </form>
@ -30,40 +31,41 @@
<div class="container"> <div class="container">
<div class="map-column"> <div class="map-column">
<?php <?php
$jour = isset($_GET['calendrier']) ? $_GET['calendrier'] : ''; $jour = isset($_GET['calendrier']) ? $_GET['calendrier'] : '';
$citiesList = getCities($jour); $citiesList = getCities($jour);
$citiesGeoCode = geocode($citiesList); $citiesGeoCode = geocode($citiesList);
?> ?>
<div id="map"></div> <div id="map"></div>
<script src="https://cdnjs.cloudflare.com/ajax/libs/leaflet/1.7.1/leaflet.js"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/leaflet/1.7.1/leaflet.js"></script>
<script> <script>
// Tableau des villes et des coordonnées // Tableau des villes et des coordonnées
var cities = <?php echo json_encode($citiesGeoCode); ?>; var cities = <?php echo json_encode($citiesGeoCode); ?>;
// Créer la carte // Créer la carte
var map = L.map('map').setView([50.5095, 2.6683], 9); var map = L.map('map').setView([50.5095, 2.6683], 9);
// Ajouter une couche de tuiles OpenStreetMap à la carte // Ajouter une couche de tuiles OpenStreetMap à la carte
L.tileLayer('https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png', { L.tileLayer('https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png', {
attribution: 'Carte OpenStreetMap' attribution: 'Carte OpenStreetMap'
}).addTo(map); }).addTo(map);
// Placer des marqueurs pour chaque ville sur la carte // Placer des marqueurs pour chaque ville sur la carte
cities.forEach(function (city) { cities.forEach(function (city) {
var marker = L.marker([city.lat, city.lon]).addTo(map); var marker = L.marker([city.lat, city.lon]).addTo(map);
marker.bindPopup('<a href="' + city.href + '" target="_blank">' + city.name + '</a>'); marker.bindPopup('<a href="' + city.href + '" target="_blank">' + city.name + '</a>');
}); });
</script> </script>
</div> </div>
<div class="cities-column"> <div class="cities-column">
<ul class="cities"> <ul class="cities">
<?php $jour = isset($_GET['calendrier']) ? $_GET['calendrier'] : ''; ?> <?php $jour = isset($_GET['calendrier']) ? $_GET['calendrier'] : ''; ?>
<?php $citiesList = getCities($jour); ?> <?php $citiesList = getCities($jour); ?>
<?php echo '<h3>' . getDatejour($jour) . '</h3>'; ?>
<?php if (isset($citiesList)): ?> <?php if (isset($citiesList)): ?>
<?php foreach ($citiesList as $city): ?> <?php foreach ($citiesList as $city): ?>
<li> <li>
<?php <?php
echo '<a href="' . $city['href'] . '" target="_blank">' . $city['name'] . '</a>' ; ?> echo '<a href="' . $city['href'] . '" target="_blank">' . $city['name'] . '</a>'; ?>
</li> </li>
<?php endforeach; ?> <?php endforeach; ?>
<?php endif; ?> <?php endif; ?>

View File

@ -13,6 +13,10 @@
.cities-column { .cities-column {
flex: 2; /* Occupe 100% de la largeur dans les petits écrans et 10% dans les grands écrans */ flex: 2; /* Occupe 100% de la largeur dans les petits écrans et 10% dans les grands écrans */
padding: 5px; padding: 5px;
text-align: center;
}
.cities-column > li {
text-align: center;
} }
.map-column { .map-column {