/gespac/gestion_inventaire/voir_salles.php

http://gespac.googlecode.com/ · PHP · 202 lines · 114 code · 60 blank · 28 comment · 23 complexity · af318a7c86fffce64088a9bbf9b1bd70 MD5 · raw file

  1. <?PHP
  2. session_start();
  3. /*
  4. PAGE 02-03
  5. Visualisation des salles
  6. */
  7. // si le grade du compte est root, on donne automatiquement les droits d'accטs en יcriture. Sinon, on teste si le compte a accטs א la page.
  8. $E_chk = ($_SESSION['grade'] == 'root') ? true : preg_match ("#E-02-03#", $_SESSION['droits']);
  9. ?>
  10. <script type="text/javascript">
  11. // Fonction de validation de la suppression d'une marque
  12. function validation_suppr_salle (id, salle, row) {
  13. if (id == 1 | id == 2 | id == 3) {
  14. alert('IMPOSSIBLE de supprimer la salle ' + salle + ' !');
  15. } else {
  16. var valida = confirm('Voulez-vous vraiment supprimer la salle ' + salle + ' ?\n ATTENTION, tout le matיriel de cette salle sera rebasculי en salle STOCK !');
  17. // si la rיponse est TRUE ==> on lance la page post_marques.php
  18. if (valida) {
  19. $('targetback').setStyle("display","block"); $('target').setStyle("display","block");
  20. $('target').load("gestion_inventaire/post_salles.php?action=suppr&id=" + id);
  21. window.setTimeout("document.location.href='index.php?page=salles&filter=" + $('filt').value + "'", 1500);
  22. }
  23. }
  24. }
  25. // Fonction de validation pour vider la salle d3e
  26. function validation_suppr_d3e () {
  27. var valida = confirm('Voulez-vous vraiment vider la salle D3E ? \n\n(Une sauvegarde sera crייe dans le gestionnaire de fichiers)');
  28. // si la rיponse est TRUE ==> on lance la page post_marques.php
  29. if (valida) {
  30. $('targetback').setStyle("display","block"); $('target').setStyle("display","block");
  31. $('target').load("gestion_inventaire/post_salles.php?action=vider_d3e");
  32. window.setTimeout("document.location.href='index.php?page=salles&filter=" + $('filt').value + "'", 1500);
  33. }
  34. }
  35. // *********************************************************************************
  36. //
  37. // Fonction de filtrage des tables
  38. //
  39. // *********************************************************************************
  40. function filter (phrase, _id){
  41. var words = phrase.value.toLowerCase().split(" ");
  42. var table = document.getElementById(_id);
  43. var ele;
  44. var elements_liste = "";
  45. for (var r = 1; r < table.rows.length; r++){
  46. ele = table.rows[r].innerHTML.replace(/<[^>]+>/g,"");
  47. var displayStyle = 'none';
  48. for (var i = 0; i < words.length; i++) {
  49. if (ele.toLowerCase().indexOf(words[i])>=0) { // la phrase de recherche est reconnue
  50. displayStyle = '';
  51. }
  52. else { // on masque les rows qui ne correspondent pas
  53. displayStyle = 'none';
  54. break;
  55. }
  56. }
  57. // Affichage on / off en fonction de displayStyle
  58. table.rows[r].style.display = displayStyle;
  59. }
  60. }
  61. </script>
  62. <div class="entetes" id="entete-salles">
  63. <span class="entetes-titre">LES SALLES<img class="help-button" src="<?PHP echo ICONSPATH . "info.png";?>"></span>
  64. <div class="helpbox">Cette page permet de gיrer l'ajout, la modification et la suppression des salles du parc.<br>Certaines salles, comme PRETS ou STOCK sont bloquיes car elles ont un rפle particulier.</div>
  65. <span class="entetes-options">
  66. <span class="option" id="viderd3e"><?PHP if ( $E_chk ) echo "<a href='#' onclick=\"javascript:validation_suppr_d3e();\" title='Vider la salle D3E'><img src='" . ICONSPATH . "refresh.png'></a>"; ?></span>
  67. <span class="option"><?PHP if ( $E_chk ) echo "<a href='gestion_inventaire/form_salles.php?height=250&width=640&id=-1' rel='slb_salles' title='Ajouter une salle'> <img src='" . ICONSPATH . "add.png'></a>";?></span>
  68. <span class="option">
  69. <!-- bouton pour le filtrage du tableau -->
  70. <form id="filterform"> <input placeholder=" filtrer" name="filt" id="filt" onKeyPress="return disableEnterKey(event)" onkeyup="filter(this, 'salle_table');" type="text" value=<?PHP echo $_GET['filter'];?>> </form>
  71. </span>
  72. </span>
  73. </div>
  74. <div class="spacer"></div>
  75. <?PHP
  76. // Connexion א la base de donnיes GESPAC
  77. $con_gespac = new Sql ( $host, $user, $pass, $gespac );
  78. // stockage des lignes retournיes par sql dans un tableau nommי avec originalitי "array" (mais "tableau" peut aussi marcher)
  79. $liste_des_salles = $con_gespac->QueryAll ( "SELECT salle_id, salle_nom, salle_vlan, salle_etage, salle_batiment, est_modifiable FROM salles ORDER BY salle_nom" );
  80. ?>
  81. <center>
  82. <br>
  83. <table class="tablehover" id='salle_table'>
  84. <th>Nom</th>
  85. <th>VLAN</th>
  86. <th>Etage</th>
  87. <th>Bגtiment</th>
  88. <?PHP
  89. if ($E_chk) echo"<th>&nbsp</th> <th>&nbsp</th>";
  90. //$option_id = 0;
  91. $compteur = 0;
  92. // On parcourt le tableau
  93. foreach ($liste_des_salles as $record ) {
  94. // alternance des couleurs
  95. $tr_class = ($compteur % 2) == 0 ? "tr1" : "tr2";
  96. echo "<tr class=$tr_class>";
  97. $id = $record['salle_id'];
  98. $nom = $record['salle_nom'];
  99. $vlan = $record['salle_vlan'];
  100. $etage = $record['salle_etage'];
  101. $batiment = $record['salle_batiment'];
  102. $est_modifiable = $record['est_modifiable'];
  103. // valeur nominale pour la checkbox
  104. $chkbox_state = $apreter == 1 ? "checked" : "unchecked";
  105. // On rיcupטre la valeur inverse pour la poster
  106. $change_apreter = $apreter == 1 ? 0 : 1;
  107. //faire un queryOne
  108. $nb_matos_dans_cette_salle = $con_gespac->QueryOne ( "SELECT COUNT(*) FROM materiels WHERE salle_id=$id" );
  109. // On affiche le bouton pour vider le D3E que si la salle contient du matos
  110. if ($nom == "D3E" && $nb_matos_dans_cette_salle <= 0) echo "<script>$('viderd3e').hide();</script>";
  111. echo "<td><a href='gestion_inventaire/voir_membres_salle.php?height=480&width=640&salle_id=$id' rel='slb_salles' title='membres de la salle $nom'>$nom</a> [" . $nb_matos_dans_cette_salle ."] </td>";
  112. echo "<td>" . $vlan . "</td>";
  113. echo "<td>" . $etage . "</td>";
  114. echo "<td>" . $batiment . "</td>";
  115. if ( $E_chk && $est_modifiable ) {
  116. echo "<td class='buttons'><a href='gestion_inventaire/form_salles.php?height=250&width=640&id=$id' rel='slb_salles' title='Formulaire de modification de la salle $nom'><img src='" . ICONSPATH . "edit.png'> </a></td>";
  117. echo "<td class='buttons'><a href='#' onclick=\"javascript:validation_suppr_salle($id, '$nom', this.parentNode.parentNode.rowIndex);\"> <img src='" . ICONSPATH . "delete.png'> </a> </td>";
  118. } else {
  119. echo "<td>&nbsp</td> <td>&nbsp</td>";
  120. }
  121. echo "</tr>";
  122. $compteur++;
  123. }
  124. ?>
  125. </table>
  126. </center>
  127. <br>
  128. <?PHP
  129. // On se dיconnecte de la db
  130. $con_gespac->Close();
  131. ?>
  132. <script type="text/javascript">
  133. window.addEvent('domready', function(){
  134. SexyLightbox = new SexyLightBox({color:'black', dir: 'img/sexyimages', find:'slb_salles'});
  135. });
  136. // Filtre rיmanent
  137. filter ( $('filt'), 'salle_table' );
  138. </script>