1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214
| <?php
/* Programme : suiviCommande.php
* Description : script de gestion des commandes.
*/
require_once("../inclusion/Session.class");
$sess = new Session();
if($sess->getVariable("authentifie") != "oui")
{
header("Location: ../index.php");
exit();
}
require_once("../inclusion/PageWeb.class");
require_once("../inclusion/BaseDeDonnee.class");
require_once("../inclusion/PostTableau.class");
include ("../inclusion/suiviCommandeDonnee.inc");
if($droit["Autorisation_suiviCommande"] >= 1)
{
//Gestion du post qui definit la reference de la commande a detailler
if(isset($_POST["commandeDetail"]) AND ereg("[0-9]",$_POST["commandeDetail"]))
{
$reponsePostdetail["commandeDetail"] = $_POST["commandeDetail"];
$sess->stockVariable("commandeDetail", $_POST["commandeDetail"]);
}
else
{
if($sess->estVariable("commandeDetail"))
{
$reponsePostdetail["commandeDetail"] =
$sess->getVariable("commandeDetail");
}
}
//On additionne tous les droits de chaque tableau de cet utilisateur
//Si le total est superieur a 1, il peut donc modifier le statut d'une commande
$totalDroit = 0;
foreach($droit as $cle=>$valeur)
{
$totalDroit = $totalDroit + $valeur;
}
if($totalDroit > 0 AND isset($_POST["submitUpDowngrade"]))
{
try
{
//verification des Post
$valeurNouveauStatutTmp = ereg("[enregistrer|valider|realiser|livrer|annuler]"
,$_POST["valeurNouveauStatut"]);
$referenceCommandeTmp = ereg("[0-9]",$_POST["commandeReferenceModification"]);
//Recuperation des details de cette commande dans la base de donnee
//Ouverture d'une connexion a la base de donnee
$db = new BaseDeDonnee("Vars_mysql.inc");
$cxn = $db->getConnection();
$sqlDetailCommande = "SELECT * FROM listecommande
WHERE Reference = {$_POST["commandeReferenceModification"]}
";
$resultatTmp1 = $cxn->query($sqlDetailCommande);
if($resultatTmp1->num_rows == 1)
{
$row1 = $resultatTmp1->fetch_assoc();
}
else
{
throw new exception("Aucun ou plus d'une commande ont la reference
suivante: {$_POST["commandeReferenceModification"]}.");
}
//verification que l'utilisateur a les droits necessaires poue faire cette modif
//et que la valeur de cette modif soit possible
$statutActuel = $row1["Statut"];
$statutFutur = $_POST["valeurNouveauStatut"];
if($upDownGradeStatut [$statutActuel][$statutFutur])
{
//determination de la reference du login de l'utilisateur et
// de la date actuelle
$loginTmp = $sess->getVariable("login");
$dateActuelle = date("Y-m-d");
$sqlLogin = "SELECT Reference FROM compteutilisateur
WHERE Login = \"$loginTmp\" ";
$resultatTmp2 = $cxn->query($sqlLogin);
if($resultatTmp2->num_rows == 1)
{
$row2 = $resultatTmp2->fetch_assoc();
}
else
{
throw new exception ("La requete n'est valide :<BR />
$sqlLogin<BR />
$resultatTmp2<BR />"
.$cxn->error."<BR />");
}
$loginReference = $row2["Reference"];
if($_POST["valeurNouveauStatut"] == "enregistrer")
{
$detailCommande = "Date_enregistrement = \"$dateActuelle\",
Login_enregistrement = \"$loginReference\"";
}
elseif($_POST["valeurNouveauStatut"] == "valider")
{
$detailCommande = "Date_validation = \"$dateActuelle\",
Login_validation = \"$loginReference\"";
}
elseif($_POST["valeurNouveauStatut"] == "realiser")
{
$detailCommande = "Date_realisation = \"$dateActuelle\",
Login_realisation = \"$loginReference\"";
}
elseif($_POST["valeurNouveauStatut"] == "livrer")
{
$detailCommande = "Date_livraison = \"$dateActuelle\",
Login_livraison = \"$loginReference\"";
}
elseif($_POST["valeurNouveauStatut"] == "annuler")
{
$detailCommande = "Date_annulation = \"$dateActuelle\",
Login_annulation = \"$loginReference\"";
}
$sqlUpgrade = "UPDATE listecommande SET
Statut = \"{$_POST["valeurNouveauStatut"]}\",
$detailCommande
WHERE Reference = \"{$_POST["commandeReferenceModification"]}\"
";
$resultatUpgrade = $cxn->query($sqlUpgrade);
//Verifie qu'une seule ligne a ete modifie, si oui validation sinon annulation
if($resultatUpgrade == $sqlUpgrade)
{
$commit = $cxn->query("COMMIT");
header("Location: {$_SERVER['PHP_SELF']}");
}
else
{
$rollback = $cxn->query("ROLLBACK");
throw new exception ("La requete n'est valide :<br />
$sqlUpgrade<br />
$resultatUpgrade<br />"
.$cxn->error."<br />");
}
}
$db->closeConnection();
}
catch(Exception $e)
{
$db->closeConnection();
echo $e->getMessage()."\n<br>";
exit();
}
}
}
//Ajout des differents textes pour cette pages
$reponsePostdetail['html'] = $htmldetail;
try
{
if($droit["Autorisation_suiviCommande"] >= 1)
{
var_dump($_SESSION);
$entete = new PageWeb("entete.inc","entete&PiedDePageDonnee.inc");
$menu = new PageWeb("menuAffichage.inc","menuDonnee.inc");
$pied = new Pageweb("piedsDePage.inc","entete&PiedDePageDonnee.inc");
$entete->afficher();
$menu->afficher();
echo "<h1>Gestion de l'avancement des commandes :</h1>";
$corpdetail = new Pageweb("tableauAffichageCommandeDetail.inc",
"suiviCommandeDetailDonnee.inc",$reponsePostdetail);
$corpdetail->afficher();
echo "<h2>Zone de modification du statut des commandes :</h2>\n";
if($droit["Autorisation_Enregistrer"] >= 1)
{
$post1 = new PostTableau($_POST, $gestionpost1, "listecommande", $sess);
$corp1 = new Pageweb("suiviCommandeStatutAffichage.inc",
"suiviCommandeStatutDonnee.inc", $post1->post());
$corp1->afficher();
}
if($droit["Autorisation_Valider"] >= 1)
{
$post2 = new PostTableau($_POST, $gestionpost2, "listecommande", $sess);
$corp2 = new Pageweb("suiviCommandeStatutAffichage.inc",
"suiviCommandeStatutDonnee.inc",$post2->post());
$corp2->afficher();
}
if($droit["Autorisation_Realiser"] >= 1)
{
$post3 = new PostTableau($_POST, $gestionpost3, "listecommande", $sess);
$corp3 = new Pageweb("suiviCommandeStatutAffichage.inc",
"suiviCommandeStatutDonnee.inc",$post3->post());
$corp3->afficher();
}
if($droit["Autorisation_Livrer"] >= 1)
{
$post4 = new PostTableau($_POST, $gestionpost4, "listecommande", $sess);
$corp4 = new Pageweb("suiviCommandeStatutAffichage.inc",
"suiviCommandeStatutDonnee.inc",$post4->post());
$corp4->afficher();
}
if($droit["Autorisation_Annuler"] >= 1)
{
$post5 = new PostTableau($_POST, $gestionpost5, "listecommande", $sess);
$corp5 = new Pageweb("suiviCommandeStatutAffichage.inc",
"suiviCommandeStatutDonnee.inc",$post5->post());
$corp5->afficher();
}
$pied->afficher();
}
}
catch(Exception $e)
{
echo $e->getMessage();
exit();
}
?> |
Partager