Subversion Repositories eFlore/Applications.cel

Rev

Rev 1332 | Rev 1380 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 1332 Rev 1378
Line 60... Line 60...
60
 		
60
 		
61
 		$requete_selection_observations .= $sous_requete_recherche;
61
 		$requete_selection_observations .= $sous_requete_recherche;
Line 62... Line 62...
62
 		$requete_selection_observations = rtrim($requete_selection_observations, 'AND ');
62
 		$requete_selection_observations = rtrim($requete_selection_observations, 'AND ');
63
 		
63
 		
64
		$requete_selection_observations .= ' ORDER BY ordre LIMIT '.$debut.','.$limite ;
64
		$requete_selection_observations .= ' ORDER BY ordre LIMIT '.$debut.','.$limite ;
65
		
65
 
Line 66... Line 66...
66
		$resultats_observations = array();
66
		$resultats_observations = array();
67
		$resultats_observations = $this->requeter($requete_selection_observations);
67
		$resultats_observations = $this->requeter($requete_selection_observations);
Line 184... Line 184...
184
				
184
				
185
				case 'departement':
185
				case 'departement':
186
					if($valeur == "NULL") {
186
					if($valeur == "NULL") {
187
						$sous_requete .= "(ce_zone_geo IS NULL OR ce_zone_geo = '')";
187
						$sous_requete .= "(ce_zone_geo IS NULL OR ce_zone_geo = '')";
-
 
188
					} else {
-
 
189
						if(strpos($valeur,',') !== false) {
-
 
190
							$dpts = explode(',',$valeur);
-
 
191
							$sous_requete .= '(';
-
 
192
							foreach($dpts as $dpt) {
-
 
193
								$sous_requete .= "ce_zone_geo LIKE ".$this->proteger('INSEE-C:'.$dpt.'___').' OR ';
-
 
194
							}
-
 
195
							$sous_requete = rtrim($sous_requete,' OR ').') ';
188
					} else {
196
						} else {
-
 
197
							$sous_requete .= "ce_zone_geo LIKE ".$this->proteger('INSEE-C:'.$valeur.'___');
-
 
198
						}
189
						$sous_requete .= "ce_zone_geo LIKE ".$this->proteger('INSEE-C:'.$valeur.'___');
199
						
190
					}
200
					}
191
					$sous_requete .= ' AND ' ;
201
					$sous_requete .= ' AND ' ;
Line 192... Line 202...
192
				break;
202
				break;
Line 207... Line 217...
207
                    $sous_requete .= ' AND ' ;
217
                    $sous_requete .= ' AND ' ;
208
                break;
218
                break;
209
                case 'recherche':
219
                case 'recherche':
210
                	$sous_requete .= $this->fabriquerSousRequeteRechercheGenerale($id_utilisateur, $valeur);
220
                	$sous_requete .= $this->fabriquerSousRequeteRechercheGenerale($id_utilisateur, $valeur);
211
                	$sous_requete .= ' AND ';
221
                	$sous_requete .= ' AND ';
212
                	break;
222
                break;
-
 
223
                case 'date_debut':
-
 
224
                	$sous_requete .= 'date_observation >= '.$this->proteger($this->formaterEnDateMysql($valeur));
-
 
225
                	$sous_requete .= ' AND ';
-
 
226
                break;
-
 
227
                case 'date_fin':
-
 
228
                	$sous_requete .= 'date_observation <= '.$this->proteger($this->formaterEnDateMysql($valeur));
-
 
229
                	$sous_requete .= ' AND ';
-
 
230
                break;
213
				default:
231
				default:
214
					if(trim($nom) != '')
232
					if(trim($nom) != '')
215
					{
233
					{
216
						$sous_requete .= $nom." = ".$this->proteger($valeur) ;
234
						$sous_requete .= $nom." = ".$this->proteger($valeur) ;
217
						$sous_requete .= ' AND ' ;
235
						$sous_requete .= ' AND ' ;
Line 226... Line 244...
226
		
244
		
227
		$sous_requete = rtrim($sous_requete,' AND ');
245
		$sous_requete = rtrim($sous_requete,' AND ');
228
		return $sous_requete;
246
		return $sous_requete;
Line -... Line 247...
-
 
247
	}
-
 
248
	
-
 
249
	private function formaterEnDateMysql($date) {
-
 
250
		$annee = substr($date, 6, 4);
-
 
251
		$mois = substr($date, 3, 2);
-
 
252
		$jour = substr($date, 0, 2);
-
 
253
		$date = $annee . '-' . $mois . '-' . $jour;
-
 
254
		return $date;
229
	}
255
	}
230
	
256
	
231
	private function fabriquerSousRequeteRechercheGenerale($id_utilisateur, $valeur) {
257
	private function fabriquerSousRequeteRechercheGenerale($id_utilisateur, $valeur) {
232
		$valeur = str_replace("*","%",$valeur);
258
		$valeur = str_replace("*","%",$valeur);
233
		$valeur = $this->proteger('%'.$valeur.'%');
259
		$valeur = $this->proteger('%'.$valeur.'%');
Line 267... Line 293...
267
						'departement' => 'ce_zone_geo',
293
						'departement' => 'ce_zone_geo',
268
						'commune' => 'zone_geo'
294
						'commune' => 'zone_geo'
269
		);	
295
		);	
Line 270... Line 296...
270
		
296
		
271
		return $sous_requete .= $champs[$valeur]." = ".$this->proteger("");
297
		return $sous_requete .= $champs[$valeur]." = ".$this->proteger("");
272
	}
-
 
273
		
298
	}	
274
}
299
}
275
?>
300
?>