PageRenderTime 19ms CodeModel.GetById 11ms app.highlight 3ms RepoModel.GetById 1ms app.codeStats 0ms

/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
  2session_start();
  3
  4	/*
  5		PAGE 02-03
  6	
  7		Visualisation des salles
  8		
  9	*/
 10
 11	
 12	// 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.
 13	$E_chk = ($_SESSION['grade'] == 'root') ? true : preg_match ("#E-02-03#", $_SESSION['droits']);
 14
 15?>
 16
 17<script type="text/javascript">	
 18
 19
 20	// Fonction de validation de la suppression d'une marque
 21	function validation_suppr_salle (id, salle, row) {
 22	
 23		if (id == 1 | id == 2 | id == 3) {
 24			alert('IMPOSSIBLE de supprimer la salle ' + salle + ' !');
 25		} else {
 26		
 27			var valida = confirm('Voulez-vous vraiment supprimer la salle ' + salle + ' ?\n ATTENTION, tout le matיriel de cette salle sera rebasculי en salle STOCK !');
 28			
 29			// si la rיponse est TRUE ==> on lance la page post_marques.php
 30			if (valida) {
 31				$('targetback').setStyle("display","block"); $('target').setStyle("display","block");
 32				$('target').load("gestion_inventaire/post_salles.php?action=suppr&id=" + id);
 33				window.setTimeout("document.location.href='index.php?page=salles&filter=" + $('filt').value + "'", 1500);			
 34			}
 35		}
 36	}
 37	
 38	// Fonction de validation pour vider la salle d3e
 39	function validation_suppr_d3e () {
 40
 41		var valida = confirm('Voulez-vous vraiment vider la salle D3E ? \n\n(Une sauvegarde sera crייe dans le gestionnaire de fichiers)');
 42		
 43		// si la rיponse est TRUE ==> on lance la page post_marques.php
 44		if (valida) {
 45			$('targetback').setStyle("display","block"); $('target').setStyle("display","block");
 46			$('target').load("gestion_inventaire/post_salles.php?action=vider_d3e");
 47			window.setTimeout("document.location.href='index.php?page=salles&filter=" + $('filt').value + "'", 1500);
 48		}
 49
 50	}	
 51	
 52	
 53	// *********************************************************************************
 54	//
 55	//				Fonction de filtrage des tables
 56	//
 57	// *********************************************************************************
 58
 59	function filter (phrase, _id){
 60
 61		var words = phrase.value.toLowerCase().split(" ");
 62		var table = document.getElementById(_id);
 63		var ele;
 64		var elements_liste = "";
 65				
 66		for (var r = 1; r < table.rows.length; r++){
 67			
 68			ele = table.rows[r].innerHTML.replace(/<[^>]+>/g,"");
 69			var displayStyle = 'none';
 70			
 71			for (var i = 0; i < words.length; i++) {
 72				if (ele.toLowerCase().indexOf(words[i])>=0) {	// la phrase de recherche est reconnue
 73					displayStyle = '';
 74				}	
 75				else {	// on masque les rows qui ne correspondent pas
 76					displayStyle = 'none';
 77					break;
 78				}
 79			}
 80			
 81			// Affichage on / off en fonction de displayStyle
 82			table.rows[r].style.display = displayStyle;	
 83		}
 84	}	
 85	
 86	
 87	
 88</script>
 89
 90
 91<div class="entetes" id="entete-salles">	
 92
 93	<span class="entetes-titre">LES SALLES<img class="help-button" src="<?PHP echo ICONSPATH . "info.png";?>"></span>
 94	<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>
 95
 96	<span class="entetes-options">
 97		
 98		<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>
 99		<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>
100		<span class="option">
101			<!-- 	bouton pour le filtrage du tableau	-->
102			<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>
103		</span>
104	</span>
105
106</div>
107
108<div class="spacer"></div>
109
110<?PHP 
111
112	// Connexion א la base de donnיes GESPAC
113	$con_gespac 	= new Sql ( $host, $user, $pass, $gespac );
114
115	// stockage des lignes retournיes par sql dans un tableau nommי avec originalitי "array" (mais "tableau" peut aussi marcher)
116	$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" );
117
118?>
119	
120	<center>
121	<br>
122	<table class="tablehover" id='salle_table'>
123		<th>Nom</th>
124		<th>VLAN</th>
125		<th>Etage</th>
126		<th>Bגtiment</th>
127				
128		
129		<?PHP	
130			if ($E_chk) echo"<th>&nbsp</th>	<th>&nbsp</th>";
131
132			//$option_id = 0;
133			$compteur = 0;
134			// On parcourt le tableau
135			foreach ($liste_des_salles as $record ) {
136							
137				// alternance des couleurs
138				$tr_class = ($compteur % 2) == 0 ? "tr1" : "tr2";
139						
140				echo "<tr class=$tr_class>";
141						
142					$id		 		= $record['salle_id'];
143					$nom	 		= $record['salle_nom'];
144					$vlan 			= $record['salle_vlan'];
145					$etage 			= $record['salle_etage'];
146					$batiment 		= $record['salle_batiment'];
147					$est_modifiable = $record['est_modifiable'];
148					
149					// valeur nominale pour la checkbox
150					$chkbox_state = $apreter == 1 ? "checked" : "unchecked";
151					
152					// On rיcupטre la valeur inverse pour la poster
153					$change_apreter = $apreter == 1 ? 0 : 1;
154					
155					//faire un queryOne
156					$nb_matos_dans_cette_salle 	= $con_gespac->QueryOne ( "SELECT COUNT(*) FROM materiels WHERE salle_id=$id" );
157					
158					// On affiche le bouton pour vider le D3E que si la salle contient du matos
159					if ($nom == "D3E" && $nb_matos_dans_cette_salle <= 0) echo "<script>$('viderd3e').hide();</script>";
160					
161					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>";
162					echo "<td>" . $vlan . "</td>";
163					echo "<td>" . $etage . "</td>";
164					echo "<td>" . $batiment . "</td>";
165					
166					
167					if ( $E_chk && $est_modifiable ) {
168						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>";
169						echo "<td class='buttons'><a href='#' onclick=\"javascript:validation_suppr_salle($id, '$nom', this.parentNode.parentNode.rowIndex);\">	<img src='" . ICONSPATH . "delete.png'>	</a> </td>";
170							
171					} else {
172						echo "<td>&nbsp</td>	<td>&nbsp</td>";
173					}	
174					
175				echo "</tr>";
176				
177				$compteur++;
178			}
179		?>		
180
181	</table>
182	</center>
183	
184	<br>
185	
186
187<?PHP
188	// On se dיconnecte de la db
189	$con_gespac->Close();
190?>
191
192<script type="text/javascript">
193	
194	window.addEvent('domready', function(){
195		SexyLightbox = new SexyLightBox({color:'black', dir: 'img/sexyimages', find:'slb_salles'});
196	});
197
198
199	// Filtre rיmanent
200	filter ( $('filt'), 'salle_table' );	
201
202</script>