Subversion Repositories eFlore/Applications.cel

Rev

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

Rev 416 Rev 664
Line 74... Line 74...
74
 
74
 
Line 75... Line 75...
75
		$query='SELECT COUNT(*) FROM cel_images WHERE ci_ce_utilisateur = "'.$DB->escapeSimple($uid[0]).'" AND '  ;
75
		$query='SELECT COUNT(*) FROM cel_images WHERE ci_ce_utilisateur = "'.$DB->escapeSimple($uid[0]).'" AND '  ;
76
			
76
			
77
		foreach($criteres as $pair)
-
 
78
		{
77
		foreach($criteres as $pair)
79
		
-
 
80
		$nom_valeur = explode("=",$pair) ;
-
 
81
				
-
 
82
			if($nom_valeur[0] == "ci_meta_mots_cles")
-
 
83
			{
-
 
84
				$mots_cles = rtrim($nom_valeur[1], ',') ;
-
 
85
				$mots_cles_liste = explode("," , $mots_cles) ;
-
 
86
				
-
 
87
				foreach($mots_cles_liste as $mot_cle)
-
 
88
				{
-
 
89
					$query .= $nom_valeur[0].' LIKE "%'.$DB->escapeSimple($mot_cle).'%"' ; 
-
 
90
					$query .= ' AND ' ;
-
 
91
				}
-
 
92
			}
-
 
93
			elseif($nom_valeur[0] == "ci_meta_comment")
-
 
94
			{
78
		{
95
				$mots_comment_liste = explode(" " , $nom_valeur[1]) ;
-
 
96
				
-
 
97
				foreach($mots_comment_liste as $mot_comment)
-
 
98
				{
-
 
99
					$mot_comment = trim($mot_comment) ;
-
 
100
					$query .= $nom_valeur[0].' LIKE "%'.$DB->escapeSimple($mot_comment).'%"' ; 
-
 
101
					$query .= ' AND ' ;
-
 
102
				}
-
 
103
			}
-
 
104
			elseif($nom_valeur[0] == "ci_meta_date")
-
 
105
			{
-
 
106
				$query .= 'DATE_FORMAT( '.$nom_valeur[0].', \'%Y-%m-%d\' ) = "'.$DB->escapeSimple($nom_valeur[1]).'"' ; 
-
 
107
				$query .= ' AND ' ;
79
			$nom_valeur = explode("=",$pair) ;
108
			}
-
 
109
			elseif($nom_valeur[0] == "ci_id_tampon")
-
 
110
			{
-
 
111
				$ids_tampon = rtrim($nom_valeur[1], ',') ;
-
 
112
				$query .= 'ci_id_image IN ( '.$DB->escapeSimple($ids_tampon).')' ; 
-
 
113
			}
80
 
-
 
81
			if(sizeof($nom_valeur) != 0)
-
 
82
			{
-
 
83
					if($nom_valeur[0] == "ci_limite")
-
 
84
					{
-
 
85
						$limite = $DB->escapeSimple($nom_valeur[1]) ;
-
 
86
					}
-
 
87
					elseif($nom_valeur[0] == "ci_numero_page")
-
 
88
					{
-
 
89
						$numero_page = $DB->escapeSimple($nom_valeur[1]) ;
-
 
90
					}
-
 
91
					elseif($nom_valeur[0] == "ci_meta_mots_cles")
114
			else
92
					{
-
 
93
						$mots_cles = rtrim($nom_valeur[1], ',') ;
-
 
94
						$mots_cles_liste = explode("," , $mots_cles) ;
-
 
95
 
115
			{
96
						foreach($mots_cles_liste as $mot_cle)
-
 
97
						{
-
 
98
							$query .= $nom_valeur[0].' LIKE "%'.$DB->escapeSimple($mot_cle).'%"' ;
-
 
99
							$query .= ' AND ' ;
-
 
100
						}
-
 
101
					}
-
 
102
					elseif($nom_valeur[0] == "ci_meta_comment")
116
				$nom_valeur = explode("=",$pair) ;
103
					{
-
 
104
						$mots_comment_liste = explode(" " , $nom_valeur[1]) ;
-
 
105
 
-
 
106
						foreach($mots_comment_liste as $mot_comment)
-
 
107
						{
-
 
108
							$mot_comment = trim($mot_comment) ;
-
 
109
							$query .= $nom_valeur[0].' LIKE "%'.$DB->escapeSimple($mot_comment).'%"' ;
-
 
110
							$query .= ' AND ' ;
-
 
111
						}
-
 
112
					}
-
 
113
					elseif($nom_valeur[0] == "annee" || $nom_valeur[0] == "mois" || $nom_valeur[0] == "jour")
117
				$query .= $nom_valeur[0].' = "'.$DB->escapeSimple($nom_valeur[1]).'"' ; 
114
					{
-
 
115
						$query .= $this->fabriquerSousRequeteRechercheDate($nom_valeur[0], $nom_valeur[1]) ;
-
 
116
						$query .= ' AND ' ;
-
 
117
					}
-
 
118
					elseif($nom_valeur[0] == "ci_id_tampon")
-
 
119
					{
-
 
120
						$ids_tampon = rtrim($nom_valeur[1], ',') ;
-
 
121
						$query .= 'ci_id_image IN ( '.$DB->escapeSimple($ids_tampon).')'.
-
 
122
						$query .= ' AND ';
-
 
123
					}
-
 
124
					elseif($nom_valeur[0] == "ci_recherche_generale")
-
 
125
					{
-
 
126
						$query .= $this->fabriquerSousRequeteRechercheGenerale($uid[0], $nom_valeur[1]);
-
 
127
						$query .= ' AND ';
-
 
128
					}
-
 
129
					else
-
 
130
					{
-
 
131
						$query .= $nom_valeur[0].' = "'.$DB->escapeSimple($nom_valeur[1]) ;
118
				
132
						$query .= '" AND ' ;
119
				$query .= ' AND ' ;
133
					}
Line 120... Line 134...
120
			}
134
			}
-
 
135
		}
121
		}
136
		
122
		
137
		$query = rtrim($query,' AND ') ;
Line 123... Line 138...
123
		$query = rtrim($query,' AND ') ;
138
		
124
		$res =& $DB->query($query);
139
		$res =& $DB->query($query);
Line 138... Line 153...
138
		
153
		
139
		header("content-type: text/json") ;
154
		header("content-type: text/json") ;
140
		print $res ;
155
		print $res ;
141
		exit() ;
156
		exit() ;
-
 
157
	}
-
 
158
	
-
 
159
	private function fabriquerSousRequeteRechercheGenerale($id_utilisateur, $chaine_recherche) {
-
 
160
		
-
 
161
		$requete_recherche_taxon .= 'SELECT coi_ce_image 
-
 
162
								FROM cel_obs_images
-
 
163
								WHERE coi_ce_observation IN ' .
-
 
164
								'(SELECT ordre ' .
-
 
165
									'FROM cel_inventory '.
-
 
166
									'WHERE identifiant ="'.$id_utilisateur.'" '.
-
 
167
									'AND nom_sel LIKE "'.$chaine_recherche.'%" '.
-
 
168
								')';
-
 
169
								
-
 
170
		$requete_recherche_comm = ' ci_meta_comment LIKE "%'.$chaine_recherche.'%" ';
-
 
171
		
-
 
172
		$requete_recherche_generale = '(ci_id_image IN ( '.($requete_recherche_taxon).') OR ('.$requete_recherche_comm.'))' ;
-
 
173
							
-
 
174
		return $requete_recherche_generale;
-
 
175
	}
-
 
176
	
-
 
177
	private function fabriquerSousRequeteRechercheDate($intervalle, $valeur) {
-
 
178
		
-
 
179
		$correspondance_champ = array('annee' => 'YEAR','mois' => 'MONTH','jour' => 'DAY');
-
 
180
		
-
 
181
		$requete_recherche_date = '';
-
 
182
		
-
 
183
		if(is_numeric($valeur)) { 
-
 
184
			$requete_recherche_date = $correspondance_champ[$intervalle].'(ci_meta_date) = "'.$valeur.'" ';
-
 
185
		}
-
 
186
							
-
 
187
		return $requete_recherche_date;
142
	}
188
	}
143
}
189
}
144
?>
190
?>