PageRenderTime 22ms CodeModel.GetById 16ms app.highlight 3ms RepoModel.GetById 1ms app.codeStats 0ms

/gespac/modules/export/export_perso.php

http://gespac.googlecode.com/
PHP | 148 lines | 89 code | 39 blank | 20 comment | 24 complexity | ac0b21ab180b6a9836b7e9aa834d6525 MD5 | raw file
  1<script type="text/javascript"> 
  2
  3	/******************************************
  4	*
  5	*		AJAX
  6	*
  7	*******************************************/
  8	
  9	window.addEvent('domready', function(){
 10		
 11		$('post_form').addEvent('submit', function(e) {	//	Pour poster un formulaire
 12			new Event(e).stop();
 13			new Request({
 14
 15				method: this.method,
 16				url: this.action,
 17
 18				onSuccess: function(responseText, responseXML) {
 19					$('targetback').setStyle("display","block"); $('target').setStyle("display","block");
 20					$('target').set('html', responseText);
 21					//window.setTimeout("document.location.href='index.php?page=wol'", 2500);	
 22				}
 23			
 24			}).send(this.toQueryString());
 25		});			
 26	});
 27
 28
 29</script>
 30
 31
 32
 33<div class="entetes" id="entete-exportperso">	
 34
 35	<span class="entetes-titre">EXPORT PERSONNALISE<img class="help-button" src="<?PHP echo ICONSPATH . "info.png";?>"></span>
 36	<div class="helpbox">Permet de créer un fichier CSV avec des champs personnalisés de la base Gespac.</div>
 37
 38</div>
 39
 40<div class="spacer"></div>
 41
 42<form action="modules/export/post_export_perso.php" method="post" name="post_form" id="post_form">
 43
 44	<input type=checkbox class=chkbox id=mat_nom> Nom du matériel <br>
 45	<input type=checkbox class=chkbox id=mat_dsit> Numéro d'inventaire <br>
 46	<input type=checkbox class=chkbox id=mat_serial> Numéro de série <br>
 47	<input type=checkbox class=chkbox id=mat_etat> Etat du matériel<br>
 48	<input type=checkbox class=chkbox id=mat_origine> Origine du matériel <br>
 49
 50	<input type=checkbox class=chkbox id=salle_nom> Salle du matériel <br>
 51
 52	<input type=checkbox class=chkbox id=marque_type> Type du matériel <br>
 53	<input type=checkbox class=chkbox id=marque_stype> Sous-type du matériel <br>
 54	<input type=checkbox class=chkbox id=marque_marque> Marque du matériel <br>
 55	<input type=checkbox class=chkbox id=marque_model> Modčle du matériel <br>
 56
 57	<input type=checkbox class=chkbox id=user_nom> Pręté ŕ <br>
 58
 59	<br>
 60
 61	<br><br>
 62
 63	<div id="log"></div>
 64
 65	<input type=hidden name=rqsql id=rqsql />
 66	<input type=submit onclick="add_field()" value="Lancer l'export personnalisé">
 67</form>
 68
 69
 70<script>
 71
 72	function add_field () {
 73	
 74		var query_select = "";
 75		var query_from = "materiels";
 76		var query_where = "";
 77		var thereis_salles = false;
 78		var thereis_marques = false;
 79		var thereis_users = false;
 80		var nb_champs = 0;
 81		
 82		$$('.chkbox').each(function (item) {
 83		
 84			// Si la case en question est cochée
 85			if ( $(item.id).checked ) {
 86			
 87				// On incrémente le nombre de champs
 88				nb_champs++;
 89				
 90				// On rajoute ŕ la partie query le champ courant
 91				query_select += item.id + ",";
 92				
 93				// si c'est un champ de la table "salles"
 94				if ( item.id == "salle_nom" ) {	thereis_salles = true; }
 95				
 96				// si c'est un champ de la table "marques"
 97				if ( item.id == "marque_type" || item.id == "marque_stype" || item.id == "marque_marque" || item.id == "marque_model") { thereis_marques = true; }
 98				
 99				// si c'est un champ de la table "users"
100				if ( item.id == "user_nom" ) {	thereis_users = true;	}
101			} 
102
103		})
104		
105		// Si jamais il y a des champs de la table "salles" on rajoute au FROM et au WHERE
106		if ( thereis_salles ) {
107			query_where += "materiels.salle_id = salles.salle_id AND ";
108			query_from += ",salles";
109		}
110		
111		// Si jamais il y a des champs de la table "marques" on rajoute au FROM et au WHERE
112		if ( thereis_marques ) {		
113			query_where += "materiels.marque_id = marques.marque_id AND ";
114			query_from += ",marques";
115		}
116
117		// Si jamais il y a des champs de la table "users" on rajoute au FROM et au WHERE
118		if ( thereis_users ) {		
119			query_where += "materiels.user_id = users.user_id AND ";
120			query_from += ",users";
121		}
122		
123
124		if ( query_select != "" ) {
125			// on vire la derničre virgule
126			query_select = query_select.substr(0, query_select.length-1);
127			// on rajoute SELECT
128			query_select = "SELECT " + query_select; 
129		}
130		
131		if ( query_from != "" ) {
132			query_from = " FROM " + query_from; }
133
134		if ( query_where != "" ) { 
135			// on vire le dernier AND
136			query_where = query_where.substr(0, query_where.length-5);
137			// on rajoute WHERE
138			query_where = " WHERE " + query_where; 
139		}
140		
141		// On affiche
142		if ( nb_champs > 0)	$('rqsql').value = query_select + query_from + query_where;
143		else $('log').innerHTML = "Faudrait au moins cocher une case";
144
145	}
146	
147	
148</script>