Archivage", "archivage", "archivage" ); } // Si aucune élection n'est en cours if (!isset($_SESSION['election']) || (isset($_SESSION['election']) && trim($_SESSION['election']['election']) == "") ) { // Message $msg = "Vous ne travaillez sur aucune élection."; $f->showMessage($msg, "error"); // Arrêt du script die(); } // Ouverture du conteneur spécifique de la page echo "\t
\n"; // On initialise la variable $DEBUG avec la valeur 0 // pour ne pas afficher les messages trop verbeux du traitement. // Pour afficher les messages il faut initialiser la variable à 1. $DEBUG = 0; // On initialise la variable $validation avec la valeur 0 // et si elle est passée en GET alors on la récupère $validation = 0; if (isset($_GET['validation'])) { $validation = $_GET['validation']; } // if ($validation == 1) { // On récupère l'identifiant de l'élection en cours. $idx = $election = $_SESSION['election']['election']; // if ($DEBUG == 1) { echo "Traitement d'archivage => Election : ".$idx."
"; } // On commence la transaction $f->db->autoCommit(false); /////////////////////////////////////////////////////////////////////////////// // Table election : nbcandidat /////////////////////////////////////////////////////////////////////////////// // $sql = "SELECT election_nbcandidat FROM election WHERE election = '".$election."'"; $res = $f->db->query($sql); $f->databaseError($res); $row =& $res->fetchRow(); $nbcandidat = $row[0]; unset($res); /////////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////// // Table election : election // XXX Si la première centaine et/ou la seconde centaine n'existe pas // la seconde requête UPDATE va échouée /////////////////////////////////////////////////////////////////////////////// // $elections = array($idx, $idx."C", $idx."D"); // foreach ($elections as $election) { // $sql = "SELECT sum(inscrit), sum(votant), sum(exprime), sum(blanc), sum(nul) FROM resultat WHERE election = '".$election."'"; $res = $f->db->query($sql); $f->databaseError($res); $row =& $res->fetchRow(); $inscrit = $row[0]; $votant = $row[1]; $exprime = $row[2]; $blanc = $row[3]; $nul = $row[4]; unset($res); unset($row); // $cloture = -1; $sql = "UPDATE election SET election_cloture = ".$cloture.", election_nbinscrit = ".$inscrit.", election_nbvotant = ".$votant.", election_nbblanc = ".$blanc.", election_nbnul = ".$nul.", election_nbexprime = ".$exprime." WHERE election = '".$election."'"; $res = $f->db->query($sql); $f->databaseError($res); if ($DEBUG == 1) { echo "
Table election : election ".$election." => OK
"; } unset($res); } /////////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////// // Table election_candidat : election // XXX Si la première centaine et/ou la seconde centaine n'existe pas // la seconde requête UPDATE va échouée /////////////////////////////////////////////////////////////////////////////// // $elections = array($idx, $idx."C", $idx."D"); // foreach ($elections as $election) { // for ($i = 1; $i <= $nbcandidat; $i++) { // $sql = "SELECT sum(exprime), sum(candidat".$i.") FROM resultat WHERE election = '".$election."'"; $res = $f->db->query($sql); $f->databaseError($res); $row =& $res->fetchRow(); $voix = $row[1]; if ($row[0] > 0) { $tx = round($row[1] / $row[0], 4); } else { $tx = 0; } unset($res); unset($row); // $sql = "UPDATE election_candidat SET election_candidat_resultat = ".$voix.", election_candidat_tx = ".$tx." WHERE election = '".$election."' AND election_candidat_ordre = ".$i.""; $res1 = $f->db->query($sql); $f->databaseError($res1); unset($res1); } // if ($DEBUG == 1) { echo "
Table election_candidat : election ".$election." => OK
"; } } /////////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////// // Table election_ resultat : election // XXX Si la première centaine et/ou la seconde centaine n'existe pas // la seconde requête INSERT va échouée /////////////////////////////////////////////////////////////////////////////// // $elections = array($idx, $idx."C", $idx."D"); // foreach ($elections as $election) { // foreach ($_SESSION ['election']['bureaux'] as $bureau) { // for ($ordre = 1; $ordre <= $nbcandidat; $ordre++) { // $sql = "SELECT exprime, candidat".$ordre." FROM resultat WHERE election = '".$election."' AND bureau = ".$bureau ['code'].""; $res = $f->db->query($sql); $f->databaseError($res); $row =& $res->fetchRow(); $resultat = $row[1]; if ($row[0] > 0) { $tx = round($row[1] / $row[0], 4); } else { $tx = 0; } unset($res); unset($row); // $sql = "INSERT INTO election_resultat VALUES ( '".$election."', ".$bureau ['code'].", ".$ordre.", ".$_SESSION ['candidat'][$ordre]['candidat'].", ".$resultat.", ".$tx." )"; $res1 = $f->db->query($sql); $f->databaseError($res1); unset($res1); } } // if ($DEBUG == 1) { echo "
Table election_resultat : election ".$election." => OK
"; } } /////////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////// // Table election_ bureau : election // XXX Si la première centaine et/ou la seconde centaine n'existe pas // la seconde requête INSERT va échouée /////////////////////////////////////////////////////////////////////////////// // $elections = array($idx, $idx."C", $idx."D"); // foreach ($elections as $election) { // foreach ($_SESSION ['election']['bureaux'] as $bureau) { // $sql = "SELECT inscrit, votant, blanc, nul, exprime FROM resultat WHERE election = '".$election."' AND bureau = ".$bureau ['code'].""; $res = $f->db->query($sql); $f->databaseError($res); $row =& $res->fetchRow(); $inscrit = $row[0]; $votant = $row[1]; $blanc = $row[2]; $nul = $row[3]; $exprime = $row[4]; if ($row[1] > 0){ $tx = round($row[4] / $row[1], 4); } else { $tx = 0; } $message = "ok"; if ($votant != $blanc + $nul + $exprime) { $message = "votant!=nul+blanc+exprime => ".($votant - ($blanc + $nul + $exprime)).""; } unset($res); unset($row); // $sql = "INSERT INTO election_bureau ( election, bureau, election_bureau_nbinscrit, election_bureau_nbvotant, election_bureau_nbblanc, election_bureau_nbnul, election_bureau_nbexprime, election_bureau_txexprime, election_bureau_message ) VALUES ( '".$election."', ".$bureau ['code'].", ".$inscrit.", ".$votant.", ".$blanc.", ".$nul.", ".$exprime.", ".$tx.", '".$message."' )"; $res1 = $f->db->query($sql); $f->databaseError($res1); unset($res1); } // if ($DEBUG == 1) { echo "
Table election_bureau : election ".$election." => OK
"; } } /////////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////// // Table participation_bureau : election /////////////////////////////////////////////////////////////////////////////// $election = $idx; // $sql = "SELECT bureau, inscrit FROM resultat WHERE election = '".$election."'"; $res = $f->db->query($sql); $f->databaseError($res); $k = 0; while ($row =& $res->fetchRow()) { $bur[$k]['code'] = $row[0]; $bur[$k]['inscrit'] = $row[1]; $k++; } unset($res); unset($row); // foreach ($bur as $value) { $sql = "SELECT tranche, b".$value ['code']." FROM participation WHERE election = '".$election."'"; $res = $f->db->query($sql); $f->databaseError($res); while ($row =& $res->fetchRow()) { // $tranche = $row[0]; $b = $row[1]; // $sql = "INSERT INTO participation_bureau ( election, bureau, tranche, participation_bureau_nbvotant, participation_bureau_tx ) VALUES ( '".$election."', ".$value['code'].", ".$tranche.", ".$b.", ".round($b / $value['inscrit'], 4)." )"; $res1 = $f->db->query($sql); $f->databaseError($res1); unset($res1); } unset($res); } // if ($DEBUG == 1) { echo "
Table participation_bureau : election => OK
"; } /////////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////// // Table participation_election : election /////////////////////////////////////////////////////////////////////////////// $election = $idx; // $sql = "SELECT sum(inscrit) FROM resultat WHERE election = '".$election."'"; $res = $f->db->query($sql); $f->databaseError($res); $row =& $res->fetchRow(); $inscrit = $row[0]; unset($res); unset($row); // $sql = "SELECT tranche, total FROM participation WHERE election = '".$election."'"; $res = $f->db->query($sql); $f->databaseError($res); while ($row =& $res->fetchRow()) { // $tranche = $row[0]; $total = $row[1]; // $sql = "INSERT INTO participation_election ( election, tranche, participation_election_nbvotant, participation_election_tx ) VALUES ( '".$election."', ".$tranche.", ".$total.", ".round($total / $inscrit, 4)." )"; $res1 = $f->db->query($sql); $f->databaseError($res1); unset($res1); } unset ($res); // if ($DEBUG == 1) { echo "
Table participation_election : election => OK
"; } /////////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////// // Suppression table RESULTAT /////////////////////////////////////////////////////////////////////////////// // Depuis la version 1.04, on ne supprime plus la table resultat /////////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////// // Suppression table PARTICIPATION /////////////////////////////////////////////////////////////////////////////// $election = $idx; $sql = "DELETE FROM participation WHERE election = '".$election."'"; $res = $f->db->query($sql); $f->databaseError($res); if ($DEBUG == 1) { echo "
Suppresion enregistrements Table participation => OK
"; } /////////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////// // Suppression table REGROUPEMENT // XXX Qu'en est-il du regroupement et de la seconde centaine ? /////////////////////////////////////////////////////////////////////////////// $election = $idx; $sql = "DELETE FROM regroupement WHERE election = '".$election."' OR election = '".$election."C'"; $res = $f->db->query($sql); $f->databaseError($res); if ($DEBUG == 1) { echo "
Suppresion enregistrements Table regroupement => OK
"; } /////////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////// // Suppression des variables de session pour que l'élection en cours qui vient // d'être archivée ne soit plus en cours /////////////////////////////////////////////////////////////////////////////// unset($_SESSION['election']); unset($_SESSION['candidat']); /////////////////////////////////////////////////////////////////////////////// // On commite la transaction $f->db->commit(); // Affichage du message de réussite du traitement $msg = "Election archivée."; $f->showMessage($msg, "valid"); } else { // On récupère les information sur l'élection $sql = "SELECT * FROM election WHERE election='".$_SESSION ['election']['election']."'"; $res = $f->db->query($sql); $f->databaseError($res); while ($row =& $res->fetchRow()) { // //echo "
"; echo "ATTENTION ! "; echo "L'EDITION DE L'ETAT RESULTAT SERA IMPOSSIBLE APRES L'ARCHIVAGE."; echo "

"; // echo "Cliquer sur le lien suivant pour lancer le traitement d'archivage :"; // echo "  "; // echo ""; echo $_SESSION ['election']['election']." - ".$row[3]; echo ""; } $res->free(); } // Fermeture du conteneur spécifique de la page echo "\t
\n"; ?>