<?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-gen.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-totgen-fra.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)); // la retourner au format jj/mm/aaaa $datefic = substr ($datefic, 8, 2)."/".substr ($datefic, 5, 2)."/".substr ($datefic, 0, 4); // recopier le début de 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 une ligne du fichier csv local $ligne = trim (fgets ($descscv, LG_MAX_CSV)); // trouver le nombre de doses mémorisées $args = explode (";", $ligne, 20); $nb_doses = count ($args) - 2; // tantque non fin de fichier while ($ligne) { // récupérer les différents champs de la ligne $args = explode (";", $ligne, 20); // extraire l'âge maximum $agemax = $args [0]; // générer la tranche d'âge if ($agemax) $ages = "À partir de ".$agemax." ans"; else $ages = "Tous âges"; // ligne de titre echo " <h2>".$ages."</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"; // afficher le baragraph en 5 couleurs echo ' <img src="'.DIR_IMAGES."/barre-gen-".$agemax.".bmp\"><br>\n"; // séparation entre 2 classes d'âge 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", "??/??/??"); // message d'erreur echo ' <font color = "#FF0000">'; echo "Fichier contenant les données inaccessible</font>\n"; // recopier le fichier html jusqu'à la liste copie_jusque_chaine ($descfic, "XXXLISTE"); } // 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"; ?>