Subversion Repositories eFlore/Applications.cel

Rev

Rev 2255 | Go to most recent revision | Show entire file | Ignore 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
 
148
 
137
	private function fabriquerSousRequeteRecherche($id_utilisateur, $criteres) {
149
		foreach($criteres as $nom => $valeur)
138
		$sous_requete = ' AND ';
150
		{
139
		foreach($criteres as $nom => $valeur) {
151
			if($valeur == null || trim($nom) == "" || trim($valeur) == "") {
140
			if($valeur == null || trim($nom) == "" || trim($valeur) == "") {
Line 152... Line 141...
152
				continue;
141
				continue;
153
			}
142
			}
154
 
143
 
Line 155... Line 144...
155
			switch($nom) {			
144
			switch($nom) {
156
				case "id_image";
145
				case "id_image";
157
					$sous_requete .= 'ci.id_image = '.Cel::db()->proteger($valeur) ;
146
					$sous_requete .= 'ci.id_image = '.Cel::db()->proteger($valeur) ;
158
					$sous_requete .= ' AND ';
147
					$sous_requete .= ' AND ';
159
				break;
148
					break;
160
 
149
 
Line 161... Line 150...
161
				case "mots_cles";
150
				case "mots_cles";
162
					$sous_requete .= $this->creerSousRequeteMotsCles($valeur);
151
					$sous_requete .= $this->creerSousRequeteMotsCles($valeur);
Line 163... Line 152...
163
				break;
152
					break;
164
 
-
 
165
				case "id_mots_cles";
153
 
166
					$liste_mc = '"'.str_replace(';','","',$valeur).'"';
154
				case "id_mots_cles";
167
					$tpl_sous_requete = GestionMotsClesChemin::obtenirTemplateRequeteMotsClesIds('images');
155
					$liste_mc = '"'.str_replace(';','","',$valeur).'"';
168
					$sous_requete .= 'id_image IN ('.sprintf($tpl_sous_requete, $liste_mc).')';
156
					$tpl_sous_requete = GestionMotsClesChemin::obtenirTemplateRequeteMotsClesIds('images');
169
					$sous_requete .= ' AND ' ;
157
					$sous_requete .= 'id_image IN ('.sprintf($tpl_sous_requete, $liste_mc).')';
Line 170... Line 158...
170
				break;
158
					$sous_requete .= ' AND ' ;
171
 
159
					break;
172
				case "commentaire":
160
 
173
					$mots_comment_liste = explode(" " , $valeur) ;
161
				case "commentaire":
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