Subversion Repositories eFlore/Applications.cel

Rev

Rev 416 | Rev 736 | Go to most recent revision | Show entire file | Regard 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)
Line -... Line 78...
-
 
78
		{
-
 
79
			$nom_valeur = explode("=",$pair) ;
-
 
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")
79
		
88
					{
80
		$nom_valeur = explode("=",$pair) ;
89
						$numero_page = $DB->escapeSimple($nom_valeur[1]) ;
81
				
90
					}
82
			if($nom_valeur[0] == "ci_meta_mots_cles")
91
					elseif($nom_valeur[0] == "ci_meta_mots_cles")
Line 83... Line 92...
83
			{
92
					{
Line 99... Line 108...
99
					$mot_comment = trim($mot_comment) ;
108
							$mot_comment = trim($mot_comment) ;
100
					$query .= $nom_valeur[0].' LIKE "%'.$DB->escapeSimple($mot_comment).'%"' ; 
109
							$query .= $nom_valeur[0].' LIKE "%'.$DB->escapeSimple($mot_comment).'%"' ;
101
					$query .= ' AND ' ;
110
							$query .= ' AND ' ;
102
				}
111
						}
103
			}
112
					}
104
			elseif($nom_valeur[0] == "ci_meta_date")
113
					elseif($nom_valeur[0] == "annee" || $nom_valeur[0] == "mois" || $nom_valeur[0] == "jour")
105
			{
114
					{
106
				$query .= 'DATE_FORMAT( '.$nom_valeur[0].', \'%Y-%m-%d\' ) = "'.$DB->escapeSimple($nom_valeur[1]).'"' ; 
115
						$query .= $this->fabriquerSousRequeteRechercheDate($nom_valeur[0], $nom_valeur[1]) ;
107
				$query .= ' AND ' ;
116
						$query .= ' AND ' ;
108
			}
117
					}
109
			elseif($nom_valeur[0] == "ci_id_tampon")
118
					elseif($nom_valeur[0] == "ci_id_tampon")
110
			{
119
					{
111
				$ids_tampon = rtrim($nom_valeur[1], ',') ;
120
						$ids_tampon = rtrim($nom_valeur[1], ',') ;
112
				$query .= 'ci_id_image IN ( '.$DB->escapeSimple($ids_tampon).')' ; 
121
						$query .= 'ci_id_image IN ( '.$DB->escapeSimple($ids_tampon).')'.
-
 
122
						$query .= ' AND ';
113
			}
123
					}
114
			else
124
					elseif($nom_valeur[0] == "ci_recherche_generale")
115
			{
125
					{
116
				$nom_valeur = explode("=",$pair) ;
-
 
117
				$query .= $nom_valeur[0].' = "'.$DB->escapeSimple($nom_valeur[1]).'"' ; 
126
						$query .= $this->fabriquerSousRequeteRechercheGenerale($uid[0], $nom_valeur[1]);
118
				
-
 
119
				$query .= ' AND ' ;
127
						$query .= ' AND ';
120
			}
128
					}
-
 
129
					else
-
 
130
					{
-
 
131
						$query .= $nom_valeur[0].' = "'.$DB->escapeSimple($nom_valeur[1]) ;
-
 
132
						$query .= '" AND ' ;
-
 
133
					}
-
 
134
			}
121
		}
135
		}
Line 122... Line 136...
122
		
136
		
-
 
137
		$query = rtrim($query,' AND ') ;
123
		$query = rtrim($query,' AND ') ;
138
		
124
		$res =& $DB->query($query);
139
		$res =& $DB->query($query);
Line 125... Line 140...
125
                if (PEAR::isError($res)) {
140
                if (PEAR::isError($res)) {
126
		
141
		
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
?>