Subversion Repositories eFlore/Applications.cel

Rev

Rev 2670 | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 2670 Rev 2683
Line 44... Line 44...
44
		'taxon' => 'nom_ret',
44
		'taxon' => 'nom_ret',
45
		'num_taxon' => 'nt',
45
		'num_taxon' => 'nt',
46
		'commentaire' => 'commentaire',
46
		'commentaire' => 'commentaire',
47
		'date' => 'date_observation',
47
		'date' => 'date_observation',
48
		'motcle' => 'tags',
48
		'motcle' => 'tags',
49
		'projet' => 'mots-cles');
49
		'projet' => 'mots-cles',
-
 
50
		'groupe_zones_geo' => 'groupe_zones_geo');
50
	private $catalogue_cles_labels_champs_etendus = array();
51
	private $catalogue_cles_labels_champs_etendus = array();
Line 51... Line 52...
51
 
52
 
52
	/**
53
	/**
53
	 * Méthode appelée avec une requête de type GET.
54
	 * Méthode appelée avec une requête de type GET.
Line 177... Line 178...
177
	}
178
	}
Line 178... Line 179...
178
 
179
 
179
	private function chargerListeDesFlux() {
180
	private function chargerListeDesFlux() {
180
		$this->setFlux('par-defaut', 'Flux de syndication des observations publiques du CEL',
181
		$this->setFlux('par-defaut', 'Flux de syndication des observations publiques du CEL',
181
			'Ce flux fournit des informations sur les observations du CEL.');
-
 
182
		$this->setFlux('par-mots-cles', 'Flux de syndication obsolète',
-
 
183
			"Ce flux est désormais accessible via le flux multicriteres/atom/M?tag='mot-cle'.");
-
 
184
		$this->setFlux('par-commune','Flux de syndication obsolète',
-
 
185
			"Ce flux  est désormais accessible via le flux multicriteres/atom/M?commune='commune'.");
182
			'Ce flux fournit des informations sur les observations du CEL.');
186
		$this->setFlux('multicriteres','Flux de syndication des nouvelles observations publiques du CEL '.
183
		$this->setFlux('multicriteres','Flux de syndication des nouvelles observations publiques du CEL '.
187
			'filtrées par un ou plusieurs critères',
184
			'filtrées par un ou plusieurs critères',
188
			"Ce flux fournit des informations sur les nouvelles observations du CEL filtrées par ".
185
			"Ce flux fournit des informations sur les nouvelles observations du CEL filtrées par ".
189
			"auteur (mail), commune (nom), departement (code postal), taxon (nom scientifique), commentaire, projet ".
186
			"auteur (mail), commune (nom), departement (code postal), taxon (nom scientifique), commentaire, projet ".
Line 226... Line 223...
226
		// Création du contenu
223
		// Création du contenu
227
		$contenu = $this->executerService($elements);
224
		$contenu = $this->executerService($elements);
228
		return $contenu;
225
		return $contenu;
229
	}
226
	}
Line 230... Line -...
230
 
-
 
231
	private function getServiceParMotsCles() {
-
 
232
		$infos=array();
-
 
233
		$infos[0]['nom_sel_nn'] = '';
-
 
234
		$infos[0]['date_modification'] = '2011-06-28';
-
 
235
		$donnees = $this->construireDonneesCommunesAuFlux($infos);
-
 
236
		$donnees['items'][0]['guid'] = 0;
-
 
237
		$donnees['items'][0]['description'] =  'Ce flux est devenu obsolète. Veuillez utiliser le flux '.
-
 
238
			'<b>http://www.tela-botanica.org/eflore/cel2/jrest/CelSyndicationObservation/multicriteres/atom?projet=';
-
 
239
		if (isset($this->parametres[0])) {
-
 
240
			$donnees['items'][0]['description'] .= $this->parametres[0].'</b>';
-
 
241
		} else {
-
 
242
			$donnees['items'][0]['description'] .= '</b>';
-
 
243
		}
-
 
244
		$donnees['items'][0]['titre'] = '';
-
 
245
		$contenu = Cel::traiterSquelettePhp($this->squelette, $donnees);
-
 
246
		return $contenu;
-
 
247
	}
-
 
248
 
-
 
249
	private function getServiceParCommune() {
-
 
250
		$infos=array();
-
 
251
		$infos[0]['nom_sel_nn'] = '';
-
 
252
		$infos[0]['date_modification'] = '2011-06-28';
-
 
253
		$donnees = $this->construireDonneesCommunesAuFlux($infos);
-
 
254
		$donnees['items'][0]['guid'] = 0;
-
 
255
		$donnees['items'][0]['description'] = 'Ce flux est devenu obsolète. Veuillez utiliser le flux '.
-
 
256
			'<b>http://www.tela-botanica.org/eflore/cel2/jrest/CelSyndicationObservation/multicriteres/atom?commune=';
-
 
257
		if (isset($this->parametres[0])) {
-
 
258
			$donnees['items'][0]['description'] .= $this->parametres[0].'</b>';
-
 
259
		} else {
-
 
260
			$donnees['items'][0]['description'] .= '</b>';
-
 
261
		}
-
 
262
		$donnees['items'][0]['titre'] = '';
-
 
263
		$contenu = Cel::traiterSquelettePhp($this->squelette, $donnees);
-
 
264
		return $contenu;
-
 
265
	}
-
 
266
 
227
 
267
	private function getServiceMultiCriteres() {
228
	private function getServiceMultiCriteres() {
268
		$contenu = '';
229
		$contenu = '';
269
		if (isset($_GET['debut'])) $this->start = $_GET['debut'];
230
		if (isset($_GET['debut'])) $this->start = $_GET['debut'];
Line 327... Line 288...
327
						if ($nom_valeur[1] == "indetermine") $nom_valeur[1] = 'null';
288
						if ($nom_valeur[1] == "indetermine") $nom_valeur[1] = 'null';
328
						$requete .= ' ('.$nom_valeur[0].' LIKE "%'.$nom_valeur[1].'%" OR nom_sel LIKE "%'.
289
						$requete .= ' ('.$nom_valeur[0].' LIKE "%'.$nom_valeur[1].'%" OR nom_sel LIKE "%'.
329
							$nom_valeur[1].'%") AND '; break;
290
							$nom_valeur[1].'%") AND '; break;
330
					case "mots-cles" : $requete .= $this->creerSousRequeteMotsCles($nom_valeur[1]).' AND '; break;
291
					case "mots-cles" : $requete .= $this->creerSousRequeteMotsCles($nom_valeur[1]).' AND '; break;
331
					case "tags" : $requete .= $this->creerSousRequeteTags($nom_valeur[1]).' AND '; break;
292
					case "tags" : $requete .= $this->creerSousRequeteTags($nom_valeur[1]).' AND '; break;
-
 
293
					case "groupe_zones_geo" : $requete .= $this->creerSousRequeteGroupeZonesGeo($nom_valeur[1])." AND "; break;
332
					default : $requete .= $nom_valeur[0].' = "'.$nom_valeur[1].'" AND '; break;
294
					default : $requete .= $nom_valeur[0].' = "'.$nom_valeur[1].'" AND '; break;
333
				}
295
				}
334
			}
296
			}
335
		}
297
		}
336
		$requete = rtrim($requete,' AND ');
298
		$requete = rtrim($requete,' AND ');
337
		return $requete;
299
		return $requete;
338
	}
300
	}
-
 
301
	
-
 
302
	private function creerSousRequeteGroupeZonesGeo($groupe_zones_geo) {
-
 
303
		$req = "SELECT valeur FROM cel_groupes_zones WHERE id_groupe = ".Cel::db()->proteger($groupe_zones_geo);
-
 
304
		$res = Cel::db()->requeter($req);
-
 
305
		$zones = array();
-
 
306
		foreach($res as &$r) {
-
 
307
			$zones[] = Cel::db()->proteger($r['valeur']);
-
 
308
		}
-
 
309
		$sql = '(ce_zone_geo IN ('.implode(',', $zones).')) ';
-
 
310
		
-
 
311
		return $sql;
-
 
312
	}
Line 339... Line 313...
339
 
313
 
340
	private function creerSousRequeteMotsCles($mot_cle) {
314
	private function creerSousRequeteMotsCles($mot_cle) {
341
		$requete = '';
315
		$requete = '';
342
		if (preg_match('/.*OU.*/', $mot_cle)) {
316
		if (preg_match('/.*OU.*/', $mot_cle)) {