Subversion Repositories eFlore/Applications.cel

Rev

Rev 2255 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 2255 Rev 2446
Line 102... Line 102...
102
		$criteres_obs = array('zone_geo','ce_zone_geo','taxon','transmission','recherche');
102
		$criteres_obs = array('zone_geo','ce_zone_geo','taxon','transmission','recherche');
103
		return count(array_intersect(array_keys($criteres),$criteres_obs)) > 0;
103
		return count(array_intersect(array_keys($criteres),$criteres_obs)) > 0;
104
	}
104
	}
Line 105... Line 105...
105
 
105
 
106
	private function fabriquerRequeteJointureObs() {
-
 
107
 
106
	private function fabriquerRequeteJointureObs() {
108
		$requete_jointure_observations = 'FROM cel_images ci '.
-
 
109
			'LEFT JOIN cel_obs_images coi '.
-
 
110
				'ON coi.id_image = ci.id_image '.
107
		$requete = 'FROM cel_images ci '.
111
			'LEFT JOIN cel_obs co '.
108
			'LEFT JOIN cel_obs co '.
112
				'ON coi.id_observation = co.id_observation '.
109
				'ON ci.ce_observation = co.id_observation '.
Line 113... Line 110...
113
			'WHERE 1 ';
110
			'WHERE 1 ';
114
 
111
 
Line 115... Line 112...
115
		return $requete_jointure_observations;
112
		return $requete;
-
 
113
	}
-
 
114
 
Line 116... Line -...
116
	}
-
 
117
 
-
 
118
	public function obtenirInformationsObservationsAssociees($id_utilisateur, $id_image) {
-
 
119
 
-
 
120
		$requete_table_liaison = 'SELECT id_observation FROM cel_obs_images WHERE id_image = '.$id_image;
115
	public function obtenirInformationsObservationsAssociees($id_utilisateur, $id_image) {
121
 
-
 
122
		$resultats_liaisons_images = Cel::db()->requeter($requete_table_liaison);
116
		$requete = 'SELECT ce_observation FROM cel_images WHERE id_image = '.$id_image;
123
 
117
		$resultats = Cel::db()->requeter($requete);
124
		$ids_obs = '';
118
 
125
 
119
		$idsObsListe = array();
126
		foreach($resultats_liaisons_images as $liaison) {
-
 
Line -... Line 120...
-
 
120
		foreach ($resultats as $liaison) {
127
			$ids_obs .= $liaison['id_observation'].",";
121
			$idsObsListe[] = $liaison['ce_observation'];
128
		}
122
		}
129
		$ids_obs = rtrim($ids_obs,',');
123
		$ids_obs = implode(',', $idsObsListe);
Line 130... Line 124...
130
		$infos_obs = '';
124
 
131
 
-
 
132
		if(trim($ids_obs) != '') {
125
		$infos_obs = '';
133
			$requete_obs_liees = 'SELECT * FROM cel_obs WHERE id_observation IN  ('.$ids_obs.') AND ce_utilisateur ="'.$id_utilisateur.'"';
126
		if (trim($ids_obs) != '') {
134
			$resultat_obs_liees = Cel::db()->requeter($requete_obs_liees);
127
			$requete = 'SELECT * FROM cel_obs WHERE id_observation IN ('.$ids_obs.') AND ce_utilisateur = "'.$id_utilisateur.'"';
135
 
-
 
136
			foreach($resultat_obs_liees as $obs_liee)
128
			$resultats = Cel::db()->requeter($requete);
137
			{
129
 
Line 138... Line 130...
138
				$infos_obs .= $obs_liee['ordre'].'#'.$obs_liee['nom_sel'].'#'.$obs_liee['transmission'].';;' ;
130
			foreach ($resultats as $obs_liee) {
139
			}
-
 
140
		}
131
				$infos_obs .= $obs_liee['ordre'].'#'.$obs_liee['nom_sel'].'#'.$obs_liee['transmission'].';;' ;
141
 
-
 
142
		return $infos_obs;
132
			}
143
	}
-
 
144
 
133
		}
145
	private function fabriquerSousRequeteRecherche($id_utilisateur, $criteres) {
134
		return $infos_obs;
146
 
135
	}
Line 147... Line 136...
147
		$sous_requete = ' AND ';
136
 
Line 170... Line 159...
170
				break;
159
					break;
Line 171... Line 160...
171
 
160
 
172
				case "commentaire":
161
				case "commentaire":
Line 173... Line 162...
173
					$mots_comment_liste = explode(" " , $valeur) ;
162
					$mots_comment_liste = explode(" " , $valeur) ;
174
 
-
 
175
					foreach($mots_comment_liste as $mot_comment)
163
 
176
					{
164
					foreach($mots_comment_liste as $mot_comment) {
177
						$mot_comment = trim($mot_comment) ;
165
						$mot_comment = trim($mot_comment) ;
178
						$sous_requete .= 'ci.'.$nom.' LIKE '.Cel::db()->proteger('%'.$mot_comment.'%') ;
166
						$sous_requete .= 'ci.'.$nom.' LIKE '.Cel::db()->proteger('%'.$mot_comment.'%') ;
179
						$sous_requete .= ' AND ' ;
167
						$sous_requete .= ' AND ' ;
Line 244... Line 232...
244
					$sous_requete .= 'ci.'.$nom.' = '.Cel::db()->proteger($valeur) ;
232
					$sous_requete .= 'ci.'.$nom.' = '.Cel::db()->proteger($valeur) ;
245
					$sous_requete .= ' AND ' ;
233
					$sous_requete .= ' AND ' ;
246
				break;
234
				break;
247
			}
235
			}
248
		}
236
		}
249
 
-
 
250
		$sous_requete = rtrim($sous_requete,' AND ');
237
		$sous_requete = rtrim($sous_requete,' AND ');
251
 
-
 
252
		return $sous_requete;
238
		return $sous_requete;
253
	}
239
	}
Line 254... Line 240...
254
 
240