123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227 |
- <?php
- // --------
- // Sécurité
- // --------
- if (isValidConstant() != 1) {
- fermeSessionUtilisateur();
- }
- // ----------------------
- // Droit de l'utilisateur
- // ----------------------
- if ($_SESSION['gestion_site'] < 'Oui') {
- exit;
- }
- // Pour mettre la date la plus récente en premier
- if (isset($dir2)) {
- $dir = $dir2;
- unset($flechetri);
- }
- // ------------------------------
- // Caractéristiques du formulaire
- // Période normale
- // ------------------------------
- unset($module);
- $module = array(
- "titre" => "Gestion des périodes",
- "urldest" => $SCRIPT_NAME . "?page=liste_periodes",
- "recherche" => array("engin" => false),
- "jeton" => $jeton,
- "taille" => "550px",
- "lientri" => true,
- "entete" => array(
- 1 => array("Début" => "periode"),
- 2 => array("Fin" => "periode")
- ),
- "msg" => array(
- "maj_ok" => "Mise à jour de la période des libérations effectuée avec succès.",
- "maj_echec" => "L'opération de mise à jour de la période des libérations a échouée."
- )
- );
- $nombreaffiche = 25;
- //Mode administratif
- $modeAdmin= ($_SESSION['gestion_site']>="Oui"?"Oui":"Non");
- $rtri = antiInjection($module["entete"][$tri][key($module["entete"][$tri])] . " " . $dir);
- //Le mode admin doit être activé.
- if ($modeAdmin == "Oui") {
- // ------------------
- // Requête sur le tri
- // ------------------
- if (isset($action)) {
- $msg = "";
- //Cueillette de données du formulaire
- if (!empty(filter_input(INPUT_POST, 'lnoperiode'))) {
- $lnoperiode = antiInjection($lnoperiode);
- }
- if ($action == "Ajouter la prochaine période") {
- $anneeProchaineAAjouter = false;
- //Prochaine Année
- $prochaineAnnee = (int) date("Y") + 1;
- $nouvellePeriode = $prochaineAnnee . "-04-01";
- unset($sqlparam);
- $sqlparam["table"][] = "periodes";
- $sqlparam["champs"][] = "refperiode";
- $sqlparam["where"][] = "date_format(periode,\"%Y-%m-%d\")" . sprintf("='%s'", $nouvellePeriode);
- $result = executerRequeteSql($sqlparam);
- // La prochaine année est créée, passer à l'année suivante.
- if (isset($result) && !empty($result[0]["refperiode"])) {
- //Prochaine Année
- $prochaineAnnee++;
- $nouvellePeriode = $prochaineAnnee . "-04-01";
- unset($sqlparam);
- $sqlparam["table"][] = "periodes";
- $sqlparam["champs"][] = "refperiode";
- $sqlparam["where"][] = "date_format(periode,\"%Y-%m-%d\")" . sprintf("='%s'", $nouvellePeriode);
- $result = executerRequeteSql($sqlparam);
- if (!isset($result) || empty($result[0]["refperiode"])) {
- $anneeProchaineAAjouter = true;
- }
- } else {
- $anneeProchaineAAjouter = true;
- }
- if ($anneeProchaineAAjouter) {
- unset($sqlparam);
- $sqlparam["type"] = "INSERT";
- $sqlparam["table"][] = "periodes";
- $sqlparam["champs"]["periode"] = sprintf("'%s'", $nouvellePeriode);
- $sqlparam["champs"]["archive"] = 0;
- $result = executerRequeteSql($sqlparam);
- }
- } elseif ($action == "Choisir cette période") {
- $sqlparam["type"] = "UPDATE";
- $sqlparam["table"][] = "compteurautre";
- $sqlparam["champs"]["renouvellement"] = "'$lnoperiode'";
- $sqlparam["where"][] = "refcompteur = 1";
- $result = executerRequeteSql($sqlparam);
- if (isset($result)) {
- $module["resultatSQL"] = true;
- $module["message"] = $module["msg"]["maj_ok"];
- } else {
- $module["resultatSQL"] = false;
- $module["message"] = $module["msg"]["maj_echec"];
- }
- }
- }
- } else {
- //Pas de liste à faire apparaître
- unset($module["entete"]);
- }
- $i = 0;
- unset($sqlparam);
- $sqlparam["table"][] = "periodes";
- $sqlparam["champs"][] = "refperiode";
- $sqlparam["champs"][] = "unix_timestamp(periode) as periode";
- $sqlparam["champs"][] = "(SELECT count(refperiode) FROM periodes) as compte";
- $sqlparam["limite"] = ($nombreaffiche * ($nopage - 1)) . "," . $nombreaffiche;
- $sqlparam["ordre"][] = $rtri;
- $result = executerRequeteSql($sqlparam);
- $module["compte"] = $result[0]["compte"];
- print preparerModule($module);
- if ($modeAdmin == "Oui") {
- //Ajout d'une année de libération
- print "<p>";
- print "<div style='width:500px; margin:auto; text-align:center;'>";
- print "<form action='" . $SCRIPT_NAME . "?page=liste_periodes&jeton=" . $jeton;
- print "' name='sous_formulaire_ajout' method='POST'>";
- print "<INPUT style='cursor:pointer;' name='action' TYPE='submit' VALUE='Ajouter la prochaine période' >";
- print "<input name='dir' type='hidden' value='$dir'>\n";
- print "<input name='tri' type='hidden' value='$tri'>\n";
- print "</form>";
- print "</p>";
- }
- unset($periodestd);
- $periodestd = getPeriodeCourante();
- // Période actuelle
- print "<p>";
- print "<div style='width:500px; margin:auto; text-align:center;'>";
- print "Période actuellement sélectionnée : " . $periodestd["datedebut"] . "</div>";
- print "</p>";
- if ($modeAdmin == "Oui") {
- //Liste principale
- if (isset($result)) {
- $i = ($nopage - 1) * $nombreaffiche + 1;
- unset($style);
- $style = "border:1px solid #cfcfcf; font-family:arial, helvetica, sans-serif; ";
- $style .= "font-size:9pt; margin-left:5px; margin-right:5px;";
- //Boucle de lecture
- foreach ($result as $clef => $champs) {
- $datedebut = date("Y-m-d", mktime(0, 0, 0, date("m", $champs["periode"]),
- date("d", $champs["periode"]), date("Y", $champs["periode"]) - 1));
- $datefin = date("Y-m-d", mktime(0, 0, 0, date("m", $champs["periode"]),
- date("d", $champs["periode"]) - 1, date("Y", $champs["periode"])));
- print "<tr>\n";
- if ($datedebut != $periodestd["datedebut"]) {
- print "<td style='min-width:10%; max-width:10%; $style'>" . $i . "</td>";
- print "<td style='min-width:30%; max-width:30%; $style'>" . $datedebut . "</td>";
- print "<td style='min-width:30%; max-width:30%; $style'>" . $datefin . "</td>";
- print "<td style='min-width:30%; max-width:30%; $style'>\n";
- print "<form action='" . $SCRIPT_NAME . "?page=liste_periodes&dir2=$dir&tri=$tri&jeton=" . $jeton;
- print "' name='sous_formulaire$i' method='POST'>";
- print "<INPUT style='cursor:pointer;' name='action' TYPE='submit' VALUE='Choisir cette période' >";
- print "<input name='lnoperiode' type='hidden' value='" . date("Y-m-d", $champs["periode"]) . "'>\n";
- print "<input name='dir' type='hidden' value='$dir'>\n";
- print "<input name='tri' type='hidden' value='$tri'>\n";
- print "</form>";
- } else {
- print "<td style='min-width:10%; max-width:10%; $style color:red;'>" . $i . "</td>";
- print "<td style='min-width:30%; max-width:30%; $style color:red;'>" . $datedebut . "</td>";
- print "<td style='min-width:30%; max-width:30%; $style color:red;'>" . $datefin . "</td>";
- print "<td style='min-width:30%; max-width:30%; $style color:red;'>\n";
- print "<div style='margin: 0px; padding: 0px; font-family:arial, helvetica, sans-serif; ";
- print "font-size:11pt;'>";
- echo " Période sélectionnée ";
- echo "</div>";
- }
- print "</td>\n";
- print "</tr>\n";
- $i++;
- }
- }
- print"</table>";
- // Pagination
- print "<table style='width:968px; margin:auto;'>";
- print "<tr><td style='vertical-align:bottom;'>";
- print $seqpage;
- print "</td>";
- print "<td style='text-align:right;'>";
- //Haut de page
- if ($nombreaffiche > 25) {
- print "<a name='baspage' href='#hautpage' title='Aller en haut de la page'>Haut de page</a>";
- }
- print "</td></tr>";
- print "</table>";
- }
|