Subversion Repositories eFlore/Applications.cel

Rev

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

Rev 1380 Rev 1386
Line 32... Line 32...
32
		}
32
		}
Line 33... Line 33...
33
		
33
		
34
		$requete_selection_id .= ' AND ce_utilisateur = '.$this->proteger($id_utilisateur);
34
		$requete_selection_id .= ' AND ce_utilisateur = '.$this->proteger($id_utilisateur);
Line 35... Line 35...
35
		$requete_selection_id .= ' ORDER BY id_observation';
35
		$requete_selection_id .= ' ORDER BY id_observation';
Line 36... Line 36...
36
		
36
		
37
		$resultat_ids = $this->requeter($requete_selection_id);
37
		$resultat_ids = $this->executerRequete($requete_selection_id);
38
		
38
		
39
		$ids = array();
39
		$ids = array();
Line 58... Line 58...
58
 		
58
 		
Line 59... Line 59...
59
 		$sous_requete_recherche = $this->fabriquerSousRequeteRecherche($id_utilisateur, $criteres);
59
 		$sous_requete_recherche = $this->fabriquerSousRequeteRecherche($id_utilisateur, $criteres);
60
 		
60
 		
61
 		$requete_selection_observations .= $sous_requete_recherche;
-
 
62
 		$requete_selection_observations = rtrim($requete_selection_observations, 'AND ');
61
 		$requete_selection_observations .= $sous_requete_recherche;
63
 		
62
 		$requete_selection_observations = rtrim($requete_selection_observations, 'AND ');
64
		$requete_selection_observations .= ' ORDER BY id_observation, ordre ';
63
		$requete_selection_observations .= ' ORDER BY id_observation, ordre ';
65
		$requete_selection_observations .= ($debut != 0 && $limite != 0) ? 'LIMIT '.$debut.','.$limite : '' ;
64
		$requete_selection_observations .= ($debut != 0 && $limite != 0) ? 'LIMIT '.$debut.','.$limite : '' ;
Line 66... Line 65...
66
		$resultats_observations = array();
65
		$resultats_observations = array();
67
		$resultats_observations = $this->requeter($requete_selection_observations);
66
		$resultats_observations = $this->executerRequete($requete_selection_observations);
Line 68... Line 67...
68
 
67
 
Line 83... Line 82...
83
 		
82
 		
84
 		$requete_selection_observations .= $sous_requete_recherche;
83
 		$requete_selection_observations .= $sous_requete_recherche;
Line 85... Line 84...
85
 		$requete_selection_observations = rtrim($requete_selection_observations, 'AND ');
84
 		$requete_selection_observations = rtrim($requete_selection_observations, 'AND ');
86
		
85
		
Line 87... Line 86...
87
		$nb_obs = '0';
86
		$nb_obs = '0';
88
		$resultat_requete_nombre_observations = $this->requeter($requete_selection_observations);
87
		$resultat_requete_nombre_observations = $this->executerRequete($requete_selection_observations);
89
		
88
		
Line 119... Line 118...
119
		
118
		
120
		$requete_selection_mots_cles = 'SELECT DISTINCT id_mot_cle_obs '.
119
		$requete_selection_mots_cles = 'SELECT DISTINCT id_mot_cle_obs '.
121
									   'FROM cel_obs_mots_cles '.
120
									   'FROM cel_obs_mots_cles '.
Line 122... Line 121...
122
									   'WHERE id_observation = '.$id_observation;
121
									   'WHERE id_observation = '.$id_observation;
123
					   
122
					   
Line 124... Line 123...
124
		return $this->requeter($requete_selection_mots_cles);	
123
		return $this->executerRequete($requete_selection_mots_cles);	
125
	}
124
	}
126
	
125
	
Line 150... Line 149...
150
			}
149
			}
Line 151... Line 150...
151
						
150
						
Line 152... Line 151...
152
			switch ($nom) {
151
			switch ($nom) {
153
				
152
				
154
				case "mots_cles";
153
				case "mots_cles";
Line 155... Line 154...
155
					$sous_requete .= 'mots_cles_texte LIKE '.$this->proteger('%'.$valeur.'%').' AND ';
154
					$sous_requete .= $this->creerSousRequeteMotsCles($valeur);
156
				break;
155
				break;
157
				
156
				
Line 226... Line 225...
226
                break;
225
                break;
227
                case 'date_fin':
226
                case 'date_fin':
228
                	$sous_requete .= 'date_observation <= '.$this->proteger($this->formaterEnDateMysql($valeur));
227
                	$sous_requete .= 'date_observation <= '.$this->proteger($this->formaterEnDateMysql($valeur));
229
                	$sous_requete .= ' AND ';
228
                	$sous_requete .= ' AND ';
230
                break;
229
                break;
-
 
230
                case 'taxon':
-
 
231
                	$valeur_protegee = $this->proteger($valeur."%");
-
 
232
                	$sous_requete .= "( nom_sel LIKE ".$valeur_protegee." OR".
-
 
233
                				" nom_ret LIKE ".$valeur_protegee." OR".
-
 
234
                				" famille LIKE ".$valeur_protegee.
-
 
235
                				" ) AND ";
-
 
236
                break;
231
				default:
237
				default:
232
					if(trim($nom) != '')
238
					if(trim($nom) != '')
233
					{
239
					{
234
						$sous_requete .= $nom." = ".$this->proteger($valeur) ;
240
						$sous_requete .= $nom." = ".$this->proteger($valeur) ;
235
						$sous_requete .= ' AND ' ;
241
						$sous_requete .= ' AND ' ;
Line 278... Line 284...
278
			" OR latitude LIKE ".$valeur.
284
			" OR latitude LIKE ".$valeur.
279
			" OR longitude LIKE ".$valeur.
285
			" OR longitude LIKE ".$valeur.
280
			" OR mots_cles_texte LIKE ".$valeur.
286
			" OR mots_cles_texte LIKE ".$valeur.
281
			")";
287
			")";
282
		return $sous_requete;
288
		return $sous_requete;
283
	}				
289
	}
-
 
290
 
-
 
291
	private function creerSousRequeteMotsCles($mot_cle) {
-
 
292
		$requete = '';
-
 
293
		if (preg_match('/.*OU.*/', $mot_cle)) {
-
 
294
			$mots_cles_tab = explode('OU',$mot_cle);
-
 
295
			foreach($mots_cles_tab as $mot_cle_item) {
-
 
296
				$requete .= '(ci.mots_cles_texte LIKE '.$this->proteger('%'.$mot_cle_item.'%').') OR ';
-
 
297
			}
-
 
298
			$requete = '('.rtrim($requete,'OR ').')';
-
 
299
		} else if (preg_match('/.*ET.*/', $mot_cle)) {
-
 
300
			$mots_cles_tab = explode('ET',$mot_cle);
-
 
301
			foreach($mots_cles_tab as $mot_cle_item) {
-
 
302
				$requete .= '(ci.mots_cles_texte LIKE '.$this->proteger('%'.$mot_cle_item.'%').') AND ';
-
 
303
			}
-
 
304
			$requete = '('.rtrim($requete, 'AND ').') ';
-
 
305
		} else {
-
 
306
			$requete = "(ci.mots_cles_texte LIKE ".$this->proteger('%'.$mot_cle.'%').') ';
-
 
307
		}
-
 
308
		return $requete;
-
 
309
	}
Line 284... Line 310...
284
	
310
	
285
	private function estUnvaleurZeroNulle($valeur) {
311
	private function estUnvaleurZeroNulle($valeur) {
286
		return $valeur == "000null";
312
		return $valeur == "000null";