<?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-reg.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-reg.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);
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érer le code de la région utilisé pour le fichier bmp
$code = substr (strtolower ($args [0]), 0, 3);
// afficher le bargraphe en 5 couleurs
echo ' <img src="'.DIR_IMAGES."/barre-reg-".$code.".bmp\"><br>\n";
// séparation entre 2 régions
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";
?>