PageRenderTime 8ms CodeModel.GetById 1ms app.highlight 2ms RepoModel.GetById 1ms app.codeStats 1ms

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