/gespac/modules/fog/recap_fog.php

http://gespac.googlecode.com/ · PHP · 151 lines · 97 code · 38 blank · 16 comment · 9 complexity · 319289d95b31a59025405b7b5dbee4b9 MD5 · raw file

  1. <?PHP
  2. /* fichier récapitulatif du matériel FOG
  3. vue de la db fog (association image, @MAC... ŕ un matériel)
  4. */
  5. // On regarde si la base FOG existe car dans le cas de sa non existance la page ne s'affiche pas correctement
  6. $link_bases = mysql_pconnect('localhost', 'root', $pass);//connexion ŕ la base de donnée
  7. if(!mysql_select_db('fog', $link_bases)) {echo "Base FOG non présente, il est impossible de continuer l'affichage.";}//si la base FOG n'existe pas on arrete la page
  8. else {
  9. ?>
  10. <div class="entetes" id="entete-recapfog">
  11. <span class="entetes-titre">RECAPITULATIF FOG<img class="help-button" src="<?PHP echo ICONSPATH . "info.png";?>"></span>
  12. <div class="helpbox">La liste des machines présentes dans FOG avec association aux groupes et aux snapins.</div>
  13. <span class="entetes-options">
  14. <span class="option">
  15. <!-- bouton pour le filtrage du tableau -->
  16. <form id="filterform">
  17. <input placeholder=" filtrer" name="filt" id="filt" onKeyPress="return disableEnterKey(event)" onkeyup="filter(this, 'table_recap_fog');" type="text">
  18. <span id="nb_filtre" title="nombre de machines affichées"></span>
  19. </form>
  20. </span>
  21. </span>
  22. </div>
  23. <div class="spacer"></div>
  24. <script type="text/javascript">
  25. // *********************************************************************************
  26. //
  27. // Fonction de filtrage des tables
  28. //
  29. // *********************************************************************************
  30. function filter (phrase, _id){
  31. var words = phrase.value.toLowerCase().split(" ");
  32. var table = document.getElementById(_id);
  33. var ele;
  34. var compteur = 0;
  35. for (var r = 1; r < table.rows.length; r++){
  36. ele = table.rows[r].innerHTML.replace(/<[^>]+>/g,"");
  37. var displayStyle = 'none';
  38. for (var i = 0; i < words.length; i++) {
  39. if (ele.toLowerCase().indexOf(words[i])>=0) { // la phrase de recherche est reconnue
  40. displayStyle = '';
  41. compteur++;
  42. }
  43. else { // on masque les rows qui ne correspondent pas
  44. displayStyle = 'none';
  45. break;
  46. }
  47. }
  48. // Affichage on / off en fonction de displayStyle
  49. table.rows[r].style.display = displayStyle;
  50. $('nb_filtre').innerHTML = "<small>" + compteur + "</small>";
  51. }
  52. }
  53. </script>
  54. <?PHP
  55. // cnx ŕ fog
  56. $con_fog = new Sql($host, $user, $pass, $fog);
  57. $liste_materiel_fog = $con_fog->QueryAll ( "SELECT DISTINCT hostName, hostMAC, hostID FROM hosts ORDER BY hostName" );
  58. ?>
  59. <center>
  60. <table class="tablehover" id="table_recap_fog">
  61. <th>Nom matériel FOG</th>
  62. <th>Adresse MAC</th>
  63. <th>Image associée</th>
  64. <th>Groupe associé</th>
  65. <th>Snapins associé(s)</th>
  66. <?PHP
  67. $compteur = 0;
  68. // On parcourt le tableau comparé
  69. foreach ( $liste_materiel_fog as $record_fog ) {
  70. // alternance des couleurs
  71. $tr_class = ($compteur % 2) == 0 ? "tr1" : "tr2";
  72. $nom_fog = $record_fog['hostName'];
  73. $MAC_fog = $record_fog['hostMAC'];
  74. $id = $record_fog['hostID'];
  75. $groupe_fog = "";
  76. $snapin_fog = "";
  77. $image_fog = "";
  78. $liste_snapins = $con_fog->QueryAll ("SELECT sName FROM hosts, snapins, snapinAssoc WHERE hosts.hostID = snapinAssoc.saHostID AND snapins.sID = snapinAssoc.saSnapinID AND hosts.hostID = '$id'");
  79. $image_associee = $con_fog->QueryOne ("SELECT imageName FROM images, hosts WHERE imageID=hostImage AND hosts.hostID = $id");
  80. $groupes_associes = $con_fog->QueryAll ("SELECT groupName FROM groups, groupMembers, hosts WHERE groupMembers.gmHostID = hosts.hostID AND groups.groupID = groupMembers.gmGroupID AND hosts.hostID = $id");
  81. $compteur_snapins = count($liste_snapins);
  82. // Image associée
  83. if (!empty($image_associee)) $image_fog = $image_associee;
  84. else $image_fog = "Pas d'image associée";
  85. // Groupes associés
  86. if (!empty($groupes_associes)) foreach ($groupes_associes as $groupe) $groupe_fog .= $groupe["groupName"] . "<br>";
  87. else $groupe_fog = "Pas de groupe associé";
  88. // snapins associés
  89. if (!empty($liste_snapins)) foreach ($liste_snapins as $snapin) $snapin_fog .= $snapin["sName"] . "<br>";
  90. else $snapin_fog = "Pas de snapin associé";
  91. echo "<tr class=$tr_class>";
  92. echo "<td> $nom_fog </td>";
  93. echo "<td> $MAC_fog </td>";
  94. echo "<td> $image_fog </td>";
  95. echo "<td> $groupe_fog </td>";
  96. echo "<td> $snapin_fog </td>";
  97. echo "</tr>";
  98. $compteur++;
  99. }
  100. ?>
  101. </table>
  102. </center>
  103. <?php } ?>