"1", 'lib' => "ROQUETTE"); * $bureau [1] = array ('etat' => "0", 'lib' => "CAMARGUE"); */ function aff_maj_bureaux ($election, &$db) { // Requête pour la liste des bureaux de l'élection et l'état de ces bureaux $sql = "select etat, resultat.bureau, bureau_libelle from resultat inner join bureau on resultat.bureau = bureau.bureau where election = '".$election."' order by resultat.bureau"; $res = $db -> query ($sql); if (DB :: isError ($res)) die ($res -> getMessage ().$sql); else while ($row =& $res -> fetchRow ()) { $bureau [$row[1]]['lib'] = $row [2]; if (!ereg ("nonarrive", $row [0])) $bureau [$row[1]]['etat'] = 1; else $bureau [$row[1]]['etat'] = 0; } // Si le dossier "aff/".$election."/" n'existe pas on le cré if (!file_exists ("../aff/".$election)) mkdir ("../aff/".$election); // On écrit le fichier bureaux.inc $fp = fopen ("../aff/".$election."/bureaux.inc", "w"); $contenu = " $value) { $contenu .= "\$bureau [".$key."] = array ('code' => \"".$key."\",'etat' => \"".$value ['etat']."\", 'lib' => \"".$bureau [$key]['lib']."\");\n"; } $contenu .= "?>"; fwrite ($fp, $contenu); fclose ($fp); } /** * Permet de mettre à jour le fichier election.inc du dossier : "aff/".$election."/" * $election = "Présidentielles 2006 1er tour"; * $bureauxarrives = "3"; * $bureauxtot = "33"; * $inscrits = "33841"; * $votants = "24606"; * $nuls = "59"; * $exprimes = "2141"; */ function aff_maj_election ($election, &$db) { // On récupère le libellé de l'élection $sql = "select election_libelle from election where election='".$election."'"; $res = $db -> query ($sql); if (DB :: isError ($res)) die ($res -> getMessage ().$sql); else { $row =& $res -> fetchRow (); $election_libelle = $row [0]; } // Si l'élection est une simulation on le rajoute dans le libellé if (ereg("([A-Za-z]{3})([0-9]{2})-([0-9]{1})C", $election)) { $election_libelle = substr($election_libelle, 0, strlen($election_libelle)-2); $election_libelle .= " 1ère centaine"; } // On récupère le nombre de bureaux total et le nombre de bureaux arrivés $sql = "select etat, bureau from resultat where election = '".$election."' order by bureau"; $res = $db -> query ($sql); if (DB :: isError ($res)) die ($res -> getMessage ().$sql); else { $bureauxarrives = 0; $bureauxtot = 0; while ($row =& $res -> fetchRow ()) { if (!ereg ("nonarrive", $row [0])) $bureauxarrives++; $bureauxtot++; } } // On récupère le nombre d'inscrits, de votants, de nuls et d'exprimés dans la table résultat $sql = "select sum(inscrit), sum(votant), sum(exprime), sum(nul) from resultat where election='".$election."'"; $res = $db -> query ($sql); if (DB :: isError ($res)) die ($res -> getMessage ().$sql); else { $row =& $res -> fetchRow (); $inscrits = $row [0]; $votants = $row [1]; $exprimes = $row [2]; $nuls = $row [3]; } // Si le dossier "aff/".$election."/" n'existe pas on le cré if (!file_exists ("../aff/".$election)) mkdir ("../aff/".$election); // On écrit le fichier election.inc $fp = fopen ("../aff/".$election."/election.inc", "w"); $contenu = ""; fwrite ($fp, $contenu); fclose ($fp); } /** * Permet de mettre à jour le fichier participations.inc du dossier : "aff/".$election."/" * Ne convient pas pour les simulations qui n'ont pas de participations * Variables : * $participations [0] = array ('heure' => "12:00:00", 'votants' => "4720", 'tx' => "13.95"); * $participations [1] = array ('heure' => "14:00:00", 'votants' => "11284", 'tx' => "33.35"); * $participations [...] = array ('heure' => "16:00:00", 'votants' => "16141", 'tx' => "47.7"); */ function aff_maj_participation ($election, &$db) { // On récupère le nombre d'inscrits dans la table résultat $sql = "select sum(inscrit) from resultat where election='".$election."'"; $res = $db -> query ($sql); if (DB :: isError ($res)) die ($res -> getMessage ().$sql); else { $row =& $res -> fetchRow (); $inscrits = $row [0]; } $inscrits_temp = $inscrits; if ($inscrits == 0) { $inscrits_temp = 1; } // On récupère le nombre de votant pour chaque tranche dans la table participation $sql = "select tranche_heure, total from participation inner join tranche on tranche.tranche = participation.tranche where election='".$election."' and total<>0"; $res = $db -> query ($sql); if (DB :: isError ($res)) die($res -> getMessage ().$sql); else { $k = 0; while ($row =& $res -> fetchRow ()) { $participations [$k] = array ( 'heure' => $row [0], 'votants' => $row [1], 'tx' => number_format (round ($row[1] * 100 / $inscrits_temp, 2), 2)."%"); $k++; } } // On écrit le fichier uniquement si on a des résultats dans la requête if ($k != 0) { // Si le dossier "aff/".$election."/" n'existe pas on le cré if (!file_exists ("../aff/".$election)) mkdir ("../aff/".$election); // On écrit le fichier participation.inc $fp = fopen ("../aff/".$election."/participations.inc", "w"); $contenu = " $value) $contenu .= "\$participations [".$key."] = array ( 'heure' => \"".$value ['heure']."\", 'votants' => \"".$value ['votants']."\", 'tx' => \"".$value ['tx']."\");\n"; $contenu .= "?>"; fwrite ($fp, $contenu); fclose ($fp); } } /** * Permet de mettre à jour le fichier resultats.inc du dossier : "aff/".$election."/" * Variables : * $candidats [1] = array ('photo' => "1.jpg", 'code' => "", 'nom' => "", 'prenom' => "", 'parti' => "", 'voix' => "", 'tx' => ""); * $candidats [2] = array ('photo' => "2.jpg", 'code' => "", 'nom' => "", 'prenom' => "", 'parti' => "", 'voix' => "", 'tx' => ""); * $candidats [...] = array ('photo' => "....jpg", 'code' => "", 'nom' => "", 'prenom' => "", 'parti' => "", 'voix' => "", 'tx' => ""); */ function aff_maj_resultats ($election, &$db) { // On récupère le nombre de candidat de l'élection $sql = "select election_nbcandidat from election where election='".$election."'"; $res = $db -> query ($sql); if (DB :: isError ($res)) die ($res -> getMessage ().$sql); else { $row =& $res -> fetchRow (); $nbcandidat = $row [0]; } // On récupère le nombre d'inscrits, de votants, de nuls et d'exprimés dans la table résultat // Et le nombre de voix pour chaque candidat $sql = "select sum(exprime), "; for ($i = 1; $i <= $nbcandidat; $i++) if ($i != $nbcandidat) $sql .= "sum(candidat".$i."), "; else $sql .= "sum(candidat".$i.") "; $sql .= "from resultat where election='".$election."'"; $res = $db -> query ($sql); if (DB :: isError ($res)) die ($res -> getMessage ().$sql); else { $row =& $res -> fetchRow (); $exprimes = $row [0]; if ($row [0] == 0) $row [0] = 1; for ($i = 1; $i <= $nbcandidat; $i++) $candidats [$i] = array ('photo' => "".$i.".jpg", 'voix' => $row [$i], 'tx' => number_format(round ($row [$i] * 100 / $row [0], 2),2)."%"); } // On récupère les informations sur le candidat $sql = "select election_candidat_ordre, candidat.candidat, candidat_nom, candidat_prenom, parti from election_candidat inner join candidat on election_candidat.candidat=candidat.candidat where election='".$election."'"; $res = $db -> query ($sql); if (DB :: isError ($res)) die ($res -> getMessage ().$sql); else { while ($row =& $res -> fetchRow ()) { $candidats [$row [0]]['code'] = $row [1]; $candidats [$row [0]]['nom'] = $row [2]; $candidats [$row [0]]['prenom'] = $row [3]; $candidats [$row [0]]['parti'] = $row [4]; } } // Si le dossier "aff/".$election."/" n'existe pas on le cré if (!file_exists ("../aff/".$election)) mkdir ("../aff/".$election); // On écrit le fichier resultats.inc $fp = fopen ("../aff/".$election."/resultats.inc", "w"); $contenu = " $value) $contenu .= "\$candidats [".$key."] = array ( 'photo' => \"".$value ['photo']."\", 'code' => \"".$value ['code']."\", 'nom' => \"".$value ['nom']."\", 'prenom' => \"".$value ['prenom']."\", 'parti' => \"".$value ['parti']."\", 'voix' => \"".$value ['voix']."\", 'tx' => \"".$value ['tx']."\");\n"; $contenu .= "?>"; fwrite ($fp, $contenu); fclose ($fp); } /** * Permet de mettre à jour le fichier param.inc du dossier : "aff/".$election."/" * Variables : * $affichage = "resultat"; OU $affichage = "participation"; * $refresh = 5; */ function aff_set_param ($election, $affichage, $refresh) { // Si le dossier "aff/".$election."/" n'existe pas on le cré if(!file_exists ("../aff/".$election."")) mkdir("../aff/".$elec.""); // On écrit le fichier param.inc $fp = fopen ("../aff/".$election."/param.inc", "w"); $contenu = ""; fwrite ($fp, $contenu); fclose ($fp); } /** * Permet de mettre à jour le fichier param1.inc du dossier : "aff/".$election."/" * Variables : * $affichage = "resultat"; OU $affichage = "participation"; * $refresh = 5; */ function aff_set_param1 ($election, $affichage, $refresh) { // Si le dossier "aff/".$election."/" n'existe pas on le cré if(!file_exists ("../aff/".$election."")) mkdir("../aff/".$elec.""); // On écrit le fichier param.inc $fp = fopen ("../aff/".$election."/param1.inc", "w"); $contenu = ""; fwrite ($fp, $contenu); fclose ($fp); } /** * Permet de récupérer le fichier param.inc du dossier : "aff/".$election."/" * Pour récupérer les variables : * $affichage = "resultat"; OU $affichage = "participation"; * $refresh = 5; * Retourne un tableau : $tab = array ('affichage' => "", 'refresh' => ""); */ function aff_get_param ($election) { $tab = ""; if(file_exists ("../aff/".$election."/param.inc")) { $fp = fopen ("../aff/".$election."/param.inc", "r"); while(!feof($fp)) { // On récupère une ligne $Ligne = fgets($fp,255); if (ereg ("affichage", $Ligne)) sscanf ($Ligne, "\$affichage = \"%c\";", $tab ['affichage']); if (ereg ("refresh", $Ligne)) sscanf ($Ligne, "\$refresh = \"%d\";", $tab ['refresh']); } fclose ($fp); } else { $tab['refresh'] = 0; $tab ['affichage'] = ""; } return $tab; } /** * Permet de récupérer le fichier param1.inc du dossier : "aff/".$election."/" * Pour récupérer les variables : * $affichage = "resultat"; OU $affichage = "participation"; * $refresh = 5; * Retourne un tableau : $tab = array ('affichage' => "", 'refresh' => ""); */ function aff_get_param1 ($election) { $tab = ""; if(file_exists ("../aff/".$election."/param1.inc")) { $fp = fopen ("../aff/".$election."/param1.inc", "r"); while(!feof($fp)) { // On récupère une ligne $Ligne = fgets($fp,255); if (ereg ("affichage", $Ligne)) sscanf ($Ligne, "\$affichage = \"%c\";", $tab ['affichage']); if (ereg ("refresh", $Ligne)) sscanf ($Ligne, "\$refresh = \"%d\";", $tab ['refresh']); } fclose ($fp); } else { $tab['refresh'] = 0; $tab ['affichage'] = ""; } return $tab; } /** * Permet de mettre à jour le fichier b."codebureau".html du dossier : "web/res/".$election."/bres/" * Variables : * $bureau * $bureau_libelle * $inscrit * $votant * $nul * $exprime * $candidat [1] = array ('nom' => "", 'prenom' => "", 'voix' => "", 'tx' => ""); * $candidat [2] = array ('nom' => "", 'prenom' => "", 'voix' => "", 'tx' => ""); * $candidat [...] = array ('nom' => "", 'prenom' => "", 'voix' => "", 'tx' => ""); */ function aff_maj_bres ($election, $bureau, &$db) { // On récupère le libelle du bureau $sql = "select bureau_libelle from bureau where bureau='".$bureau."'"; $res = $db -> query ($sql); if (DB :: isError ($res)) die ($res -> getMessage ().$sql); else { $row =& $res -> fetchRow (); $bureau_libelle = $row [0]; } // On récupère le nombre de candidat de l'élection $sql = "select election_nbcandidat from election where election='".$election."'"; $res = $db -> query ($sql); if (DB :: isError ($res)) die ($res -> getMessage ().$sql); else { $row =& $res -> fetchRow (); $nbcandidat = $row [0]; } // On récupère le nombre d'inscrits, de votants, de nuls et d'exprimés dans la table résultat // Et le nombre de voix pour chaque candidat $sql = "select inscrit, votant, exprime, nul, "; for ($i = 1; $i <= $nbcandidat; $i++) if ($i != $nbcandidat) $sql .= "candidat".$i.", "; else $sql .= "candidat".$i." "; $sql .= "from resultat where election='".$election."' and bureau='".$bureau."'"; $res = $db -> query ($sql); if (DB :: isError ($res)) die ($res -> getMessage ().$sql); else { $row =& $res -> fetchRow (); $inscrit = $row [0]; $votant = $row [1]; $exprime = $row [2]; $nul = $row [3]; if ($row [2] == 0) $row [2] = 1; for ($i = 1; $i <= $nbcandidat; $i++) $candidat [$i] = array ( 'voix' => $row [3+$i], 'tx' => number_format (round ($row [3+$i] * 100 / $row [2], 2), 2)."%"); } // On récupère les informations sur le candidat $sql = "select election_candidat_ordre, candidat_nom, candidat_prenom from election_candidat inner join candidat on election_candidat.candidat=candidat.candidat where election='".$election."'"; $res = $db -> query ($sql); if (DB :: isError ($res)) die ($res -> getMessage ().$sql); else { while ($row =& $res -> fetchRow ()) { $candidat [$row [0]]['nom'] = $row [1]; $candidat [$row [0]]['prenom'] = $row [2]; } } // Si le dossier "web/res/".$election."/" n'existe pas on le cré if(!file_exists ("../aff/".$election."/bres")) mkdir("../aff/".$election."/bres"); // On écrit le fichier b."bureau".inc $fp = fopen ("../aff/".$election."/bres/b".$bureau.".inc", "w"); $contenu = " $value) $contenu .= "\$candidat [".$key."] = array ( 'nom' => \"".$value ['nom']."\", 'prenom' => \"".$value ['prenom']."\", 'voix' => \"".$value ['voix']."\", 'tx' => \"".$value ['tx']."\");\n"; $contenu .= "?>"; fwrite ($fp, $contenu); fclose ($fp); } /** * Permet de mettre à jour les fichier b."codebureau".inc du dossier : "web/res/".$election."/bpar" * Variables : * $bureau * $bureau_libelle = "BARRIOL"; * $inscrit = "1102"; * $votant = "732"; * $exprime = "700"; * $nul = "32"; * $participation [0] = array ('heure' => "12:00:00", 'votants' => "148", 'tx' => "13.43"); * $participation [1] = array ('heure' => "14:00:00", 'votants' => "363", 'tx' => "32.94"); * $participation [2] = array ('heure' => "16:00:00", 'votants' => "494", 'tx' => "44.83"); * $participation [3] = array ('heure' => "18:00:00", 'votants' => "627", 'tx' => "56.9"); * $participation [4] = array ('heure' => "20:00:00", 'votants' => "732", 'tx' => "66.42"); */ function aff_maj_bpar ($election, &$db) { $sql = "SELECT sum(inscrit) from resultat where election='".$election."'"; $res = $db -> query ($sql); if (DB :: isError ($res)) die ($res -> getMessage ().$sql); else { $row =& $res -> fetchRow (); $inscrits = $row [0]; } // On sélectionne le bureau $sql = "select bureau from resultat where election='".$election."'"; $res1 = $db -> query ($sql); if (DB :: isError ($res)) die($res1 -> getMessage ().$sql); else { while ($row1 =& $res1 -> fetchRow ()) { $bureau = $row1[0]; // On récupère le libelle du bureau $sql = "select bureau_libelle from bureau where bureau='".$bureau."'"; $res = $db -> query ($sql); if (DB :: isError ($res)) die ($res -> getMessage ().$sql); else { $row =& $res -> fetchRow (); $bureau_libelle = $row [0]; unset($row); } // On récupère le nombre d'inscrits, de votants, de nuls et d'exprimés dans la table résultat $sql = "select inscrit, votant, exprime, nul from resultat where election='".$election."' and bureau='".$bureau."'"; $res = $db -> query ($sql); if (DB :: isError ($res)) die ($res -> getMessage ().$sql); else { $row =& $res -> fetchRow (); $inscrit = $row [0]; $votant = $row [1]; $exprime = $row [2]; $nul = $row [3]; unset($row); } // On récupère le nombre de votant pour chaque tranche dans la table participation $sql = "select tranche_heure, b".$bureau." from participation inner join tranche on tranche.tranche = participation.tranche where election='".$election."' and b".$bureau." <>0"; $res = $db -> query ($sql); if (DB :: isError ($res)) die($res -> getMessage ().$sql); else { $k = 0; while ($row =& $res -> fetchRow ()) { $participation [$k] = array ( 'heure' => $row [0], 'votants' => $row [1], 'tx' => number_format (round ($row[1] * 100 / $inscrit, 2),2)."%"); $k++; } unset($row); } // Si le dossier "web/res/".$election."/" n'existe pas on le cré if(!file_exists ("../aff/".$election."/bpar")) mkdir("../aff/".$election."/bpar"); // On écrit le fichier b."bureau".inc $fp = fopen ("../aff/".$election."/bpar/b".$bureau.".inc", "w"); $contenu = "si $participation existe //****************************************************************** if (isset($participation)){ foreach ($participation as $key => $value) $contenu .= "\$participation [".$key."] = array ('heure' => \"".$value ['heure']."\", 'votants' => \"".$value ['votants']."\", 'tx' => \"".$value ['tx']."\");\n"; $contenu .= "?>"; }//******* fwrite ($fp, $contenu); fclose ($fp); unset ($participation); } } } ?>