<?php // constantes numériques require ("constantes.php"); // fonctions d'affichage de portions de pages HTML require ("acces_page.php"); // génération du menu en colonne de gauche require ("genmenu.php"); // modèle de page html $ficpage = DIR_PAGES."/bargraphe-dom.html"; // ouvrir le fichier contenant la page à afficher $descfic = fopen ($ficpage, "r"); // si l'ouverture s'est bien passée if ($descfic) { // recopier le début de l'entête html en remplaçant noindex par index copmaj ($descfic, "noindex,", "index,"); // recopier le début du fichier html jusqu'à la zone contenu copie_jusque_chaine ($descfic, "contenu", 1); // chemin d'accès au fichier csv $ficcsv = DIR_CSV."/vacsi-tot-dom.csv"; // ouvrir en lecture le fichier csv $descscv = fopen ($ficcsv, "r"); // si l'ouverture s'est bien passée if ($descscv) { // lire la date mémorisée (format aaaa/mm/jj) $datefic = trim (fgets ($descscv, 20)); // mettre la date au format jj/mm/aaaa $datefic = substr ($datefic, 8, 2)."/".substr ($datefic, 5, 2)."/".substr ($datefic, 0, 4); // recopier le début du fichier html en mettant la date dans le titre copmaj ($descfic, "XXXDATE", $datefic); // recopier le fichier html jusqu'à la liste copie_jusque_chaine ($descfic, "XXXLISTE"); // lire la ligne de la première région $ligne = trim (fgets ($descscv, LG_MAX_CSV)); // trouver le nombre de doses mémorisées $args = explode (";", $ligne, 20); $nb_doses = count ($args) - 2; // tant que non fin de fichier while ($ligne) { // récupérer les différents champs de la ligne $args = explode (";", $ligne, 20); // ligne de titre echo " <h2>".$args [0]."</h2>\n "; // pour chaque dose de vaccin for ($dose = 1; $dose <= $nb_doses; $dose++) { // position du séparateur entre le nombre de vaccinés et le taux $sep = strpos ($args [$dose + 1], "-"); // extraire le taux de vaccination $taux = substr ($args [$dose + 1], $sep + 1); // si première dose if ($dose == 1) // calculer le taux de non vaccinés $nonvacc = str_replace (".", ",", 100 - $taux); // le franciser $taux = str_replace (".", ",", $taux)." %"; // l'afficher echo "Dose ".$dose." : ".$taux; // passage à la ligne toutes les 4 doses if ($dose % 4) echo " "; else echo "<br>\n"; } // l'afficher aussi echo "Non vacciné : ".$nonvacc." %<br><br>\n"; // récupération du code du DOM utilisé pour le fichier bmp $regdom = strtolower ($args [0]); // si le nom commence par "st" if (substr ($regdom, 0, 2) == "st") // on prend les caractères 1, 4 et 5 du nom $code = substr ($regdom, 0, 1).substr ($regdom, 3, 2); // sinon else // on prend les 3 premiers caractères en remplaçant les é par e $code = substr (str_replace ("é", "e", $regdom), 0, 3); // afficher le bargraphe en 5 couleurs echo ' <img src="'.DIR_IMAGES."/barre-dom-".$code.".bmp\"><br>\n"; // séparation entre 2 dom echo " <br>\n"; // lire la ligne suivante du fichier csv local $ligne = trim (fgets ($descscv, LG_MAX_CSV)); } // terminé avec ce fichier fclose ($descscv); } // sinon else { // la date de mise à jour du fichier est inconnue copmaj ($descfic, "XXXDATE", "??/??/??"); // recopier le fichier html jusqu'à la liste copie_jusque_chaine ($descfic, "XXXLISTE"); // message d'erreur echo ' <font color = "#FF0000">'; echo "Fichier contenant les données inaccessible</font><br>\n"; } // copie la suite du fichier html jusqu'à la section du menu copie_jusque_chaine ($descfic, "XXXMENU"); // générer le menu genmenu (basename ($_SERVER ['SCRIPT_NAME'])); // copier la fin de la page html copie_jusque_fin ($descfic); // terminé avec le fichier html fclose ($descfic); } // sinon message d'erreur else echo "Page ".basename ($ficpage)." manquante"; ?>