/gespac/gestion_inventaire/post_salles.php

http://gespac.googlecode.com/ · PHP · 214 lines · 100 code · 75 blank · 39 comment · 13 complexity · 0386e2ff9a86827e90f247e0573668b5 MD5 · raw file

  1. <?PHP
  2. /*
  3. fichier de creation / modif / suppr des salles
  4. */
  5. // lib
  6. require_once ('../fonctions.php');
  7. include_once ('../config/databases.php');
  8. include_once ('../../class/Log.class.php');
  9. include_once ('../../class/Sql.class.php');
  10. // Connexion א la base GESPAC
  11. $con_gespac = new Sql($host, $user, $pass, $gespac);
  12. // Log des requךtes SQL
  13. $log = new Log ("../dump/log_sql.sql");
  14. // on rיcupטre les paramטtres de l'url
  15. $action = $_GET['action'];
  16. #*********************************************
  17. #
  18. # ACTIONS SUR SALLES
  19. #
  20. #*********************************************
  21. #**************** SUPPRESSION ********************#
  22. if ( $action == 'suppr' ) {
  23. $id = $_GET['id'];
  24. //Insertion d'un log (avant la suppression!)
  25. //On rיcupטre le nom de la salle en fonction du $salle_id
  26. $salle_nom = $con_gespac->QueryOne ( "SELECT salle_nom FROM salles WHERE salle_id = $id" );
  27. echo $log_texte = "La salle $salle_nom a יtי supprimיe";
  28. $req_log_suppr_salle = "INSERT INTO logs ( log_type, log_texte ) VALUES ( 'Suppression salle', '$log_texte' );";
  29. $con_gespac->Execute ( $req_log_suppr_salle );
  30. //On log la requךte
  31. $log->Insert ( $req_log_suppr_salle );
  32. // dיplace le matיriel de la salle א supprimer dans la table STOCK (א priori la salle_id = 1)
  33. $req_deplace_materiel_dans_stock = "UPDATE materiels SET salle_id = 1 WHERE salle_id=$id"; // En cas, ici faire une sous requךte pour obtenir le salle_id de la salle STOCK (mais bon, on crיra la salle automatiquement avec cet id normalement)
  34. $con_gespac->Execute ( $req_deplace_materiel_dans_stock );
  35. //On log la requךte
  36. $log->Insert ( $req_deplace_materiel_dans_stock );
  37. // Suppression de la salle
  38. $req_suppr_salle = "DELETE FROM salles WHERE salle_id=$id";
  39. $con_gespac->Execute ( $req_suppr_salle );
  40. //On log la requךte
  41. $log->Insert ( $req_suppr_salle );
  42. }
  43. #**************** AJOUT ********************#
  44. if ( $action == 'add' ) {
  45. $nom = addslashes($_POST['nom']);
  46. $vlan = addslashes($_POST['vlan']);
  47. $etage = addslashes($_POST['etage']);
  48. $batiment = addslashes($_POST['batiment']);
  49. $req_verifie_existence_salle = $con_gespac->QueryRow("SELECT * FROM salles WHERE salle_nom='$nom'; ");
  50. if ( $req_verifie_existence_salle[0] ) { // alors la salle existe
  51. echo "La salle <b>$nom</b> existe dיjא !";
  52. //Insertion d'un log
  53. $log_texte = "La salle $nom existe dיjא !"; //intךrיt de loguer חa ??
  54. $req_log_creation_salle = "INSERT INTO logs ( log_type, log_texte ) VALUES ( 'Crיation salle', '$log_texte' );";
  55. $con_gespac->Execute ( $req_log_creation_salle );
  56. //On log la requךte
  57. $log->Insert ( $req_log_creation_salle );
  58. } else {
  59. $uai = $con_gespac->QueryOne("SELECT clg_uai FROM college; ");
  60. $req_add_salle = "INSERT INTO salles ( salle_nom , salle_vlan , salle_etage , salle_batiment, clg_uai ) VALUES ( '$nom', '$vlan', '$etage', '$batiment', '$uai');";
  61. $con_gespac->Execute ( $req_add_salle );
  62. //On log la requךte
  63. $log->Insert ( $req_add_salle );
  64. //Insertion d'un log
  65. $log_texte = "La salle $nom a יtי crייe";
  66. $req_log_creation_salle = "INSERT INTO logs ( log_type, log_texte ) VALUES ( 'Crיation salle', '$log_texte' );";
  67. $con_gespac->Execute ( $req_log_creation_salle );
  68. //On log la requךte
  69. $log->Insert ( $req_log_creation_salle );
  70. echo "<small>Ajout de la salle <b>$nom</b> !</small>";
  71. }
  72. }
  73. #**************** MODIFICATION ********************#
  74. if ( $action == 'mod' ) {
  75. $id = $_POST['salleid'];
  76. $nom = addslashes($_POST['nom']);
  77. $vlan = addslashes($_POST['vlan']);
  78. $etage = addslashes($_POST['etage']);
  79. $batiment = addslashes($_POST['batiment']);
  80. $verifie_existence_salle = $con_gespac->QueryOne("SELECT salle_id FROM salles WHERE salle_nom='$nom'; ");
  81. if ( $verifie_existence_salle ) { // alors le nom de la salle existe et on met א jour tout sauf le nom de la salle
  82. $req_modif_salle = "UPDATE salles SET salle_vlan = '$vlan', salle_etage = '$etage', salle_batiment='$batiment' WHERE salle_id=$id";
  83. $con_gespac->Execute ( $req_modif_salle );
  84. //On log la requךte
  85. $log->Insert ( $req_modif_salle );
  86. //Insertion d'un log
  87. $log_texte = "Les infos de la salle $nom ont יtי modifiיs mais pas le nom de la salle car il doit ךtre unique.";
  88. $req_log_modif_salle = "INSERT INTO logs ( log_type, log_texte ) VALUES ( 'Modification salle', '$log_texte' );";
  89. $con_gespac->Execute ( $req_log_modif_salle );
  90. //On log la requךte
  91. $log->Insert ( $req_log_modif_salle );
  92. echo "Les infos de la salle $nom ont יtי modifiיs mais pas le nom de la salle car il doit ךtre unique.";
  93. } else {
  94. $req_modif_salle = "UPDATE salles SET salle_nom = '$nom', salle_vlan = '$vlan', salle_etage = '$etage', salle_batiment='$batiment' WHERE salle_id=$id";
  95. $con_gespac->Execute ( $req_modif_salle );
  96. //On log la requךte
  97. $log->Insert ( $req_modif_salle );
  98. //Insertion d'un log
  99. $log_texte = "La salle $nom a יtי modifiיe";
  100. $req_log_modif_salle = "INSERT INTO logs ( log_type, log_texte ) VALUES ( 'Modification salle', '$log_texte' );";
  101. $con_gespac->Execute ( $req_log_modif_salle );
  102. //On log la requךte
  103. $log->Insert ( $req_log_modif_salle );
  104. echo "Modification de la salle <b>$nom</b> !";
  105. }
  106. }
  107. #**************** VIDER SALLE D3E ********************#
  108. if ( $action == 'vider_d3e' ) {
  109. // Liste des PC dans la salle D3E
  110. $id_D3E = $con_gespac->QueryOne("SELECT salle_id FROM salles WHERE salle_nom='D3E'");
  111. $liste_D3E = $con_gespac->QueryAll("SELECT mat_nom, mat_dsit, mat_serial, mat_origine, marque_marque, marque_model, marque_type, marque_stype FROM materiels, marques WHERE materiels.marque_id=marques.marque_id AND salle_id=$id_D3E");
  112. // On fait un dump de la salle d3e dans un fichier dans le dossier "fichiers"
  113. $fp = fopen('../fichiers/dump-D3E.txt', 'a+');
  114. //fputcsv($fp, array('mat_nom', 'mat_dsit', 'mat_serial', 'mat_origine', 'marque_marque', 'marque_model', 'marque_type', 'marque_stype'), ',' );
  115. foreach ($liste_D3E as $mat) {
  116. $mat_nom = $mat['mat_nom'];
  117. $mat_dsit = $mat['mat_dsit'];
  118. $mat_serial = $mat['mat_serial'];
  119. $mat_origine = $mat['mat_origine'];
  120. $marque_marque = $mat['marque_marque'];
  121. $marque_model = $mat['marque_model'];
  122. $marque_type = $mat['marque_type'];
  123. $marque_stype = $mat['marque_stype'];
  124. fputcsv($fp, array($mat_nom, $mat_dsit, $mat_serial, $mat_origine, $marque_marque, $marque_model, $marque_type, $marque_stype), ',' );
  125. }
  126. // On crיי une ligne dans la table "fichiers" si elle n'existe pas
  127. $verifie_existence_fichier = $con_gespac->QueryOne("SELECT fichier_id FROM fichiers WHERE fichier_chemin='dump-D3E.txt'; ");
  128. if (!$verifie_existence_fichier) {
  129. $insert = "INSERT INTO fichiers (fichier_chemin, fichier_description, fichier_droits, user_id) VALUES ('dump-D3E.txt', 'Extraction de la salle D3E avant de la vider', 11, 1);";
  130. $con_gespac->Execute($insert);
  131. $log->Insert ( $insert );
  132. }
  133. // On vide la table D3E en SUPPRIMANT les machines associיes
  134. $del = "DELETE FROM materiels WHERE salle_id=$id_D3E;";
  135. $con_gespac->Execute($del);
  136. $log->Insert ( $del );
  137. echo "La salle D3E est vidיe de tout son matיriel...";
  138. }
  139. ?>