Subversion Repositories eFlore/Applications.cel

Rev

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

Rev 2757 Rev 2796
Line 203... Line 203...
203
		$gestion_observation = new GestionObservation($this->config);
203
		$gestion_observation = new GestionObservation($this->config);
204
		$donnees = array_map('trim', $this->donnees);
204
		$donnees = array_map('trim', $this->donnees);
205
		$donneesAModifier = array(
205
		$donneesAModifier = array(
206
			'certitude' => 'Certaine',
206
			'certitude' => 'Certaine',
207
			'nom_referentiel' => $donnees['nom_referentiel'],
207
			'nom_referentiel' => $donnees['nom_referentiel'],
-
 
208
			'nom_sel_nn' => $donnees['nom_sel_nn'],
208
		);
209
		);
209
		// TODO : la récupération des infos du nom est aussi effectué par la suite voir ce qu'il faut garder
-
 
210
		$infosNoms = $this->getNomInfos($donnees['nom_sel_nn'], $donnees['nom_referentiel']);
-
 
211
		if ($infosNoms) {
-
 
212
			$donneesAModifier = array_merge($donneesAModifier, $infosNoms);
-
 
213
		}
-
 
Line 214... Line 210...
214
 
210
 
Line 215... Line 211...
215
		$modification = $gestion_observation->modifierObservationPublique($idObs, $donneesAModifier);
211
		$modification = $gestion_observation->modifierObservationPublique($idObs, $donneesAModifier);
216
 
212
 
Line 225... Line 221...
225
		} else {
221
		} else {
226
			$msg = "Impossible de modifier l'observation associée à cet identifiant. Erreur mysql : " . mysql_error();
222
			$msg = "Impossible de modifier l'observation associée à cet identifiant. Erreur mysql : " . mysql_error();
227
			$this->envoyerMessageErreur(500, $msg);// Internal Server Error
223
			$this->envoyerMessageErreur(500, $msg);// Internal Server Error
228
		}
224
		}
229
	}
225
	}
230
 
-
 
231
	// TODO : cette méthode et celles qui en dépendent sont peut être inutiles au vue de la méthode traiterEspece() de GestionObservation
-
 
232
	private function getNomInfos($id_nom, $code_referentiel) {
-
 
233
		$retour = false;
-
 
234
		if ($id_nom && $code_referentiel) {
-
 
235
			switch ($code_referentiel) {
-
 
236
				case 'bdtfx' :
-
 
237
					$retour = $this->getInfosBdtfx($id_nom);
-
 
238
					break;
-
 
239
				case 'bdtxa' :
-
 
240
					$retour = $this->getInfosBdtxa($id_nom);
-
 
241
					break;
-
 
242
				case 'isfan' :
-
 
243
					$retour = $this->getInfosIsfan($id_nom);
-
 
244
					break;
-
 
245
				case 'apd' :
-
 
246
					$retour = $this->getInfosApd($id_nom);
-
 
247
					break;
-
 
248
			}
-
 
249
		}
-
 
250
		return $retour;
-
 
251
	}
-
 
252
 
-
 
253
	private function getInfosBdtfx($id_nom) {
-
 
254
		$idNomP = CEL::db()->proteger($id_nom);
-
 
255
		$requete = "SELECT o.num_nom_retenu AS nom_ret_nn, o.num_taxonomique AS nt, o.famille, ".
-
 
256
			"	CONCAT(o.nom_sci, ' ', o.auteur) AS nom_sel, ".
-
 
257
			"	CONCAT(ret.nom_sci, ' ', ret.auteur) AS nom_ret ".
-
 
258
			"FROM {$this->bdtfx} AS o ".
-
 
259
			"	LEFT JOIN {$this->bdtfx} AS ret ON (o.num_nom_retenu != 0 AND o.num_nom_retenu = ret.num_nom) ".
-
 
260
			"WHERE o.num_nom = $idNomP ".
-
 
261
			' -- '.__FILE__.' : '.__LINE__;
-
 
262
		$resultat = Cel::db()->requeterLigne($requete);
-
 
263
		return $resultat;
-
 
264
	}
-
 
265
 
-
 
266
	private function getInfosBdtxa($id_nom) {
-
 
267
		$idNomP = CEL::db()->proteger($id_nom);
-
 
268
		// Champ "num_tax" au lieu de "num_taxonomique"
-
 
269
		$requete = "SELECT o.num_nom_retenu AS nom_ret_nn, o.num_tax AS nt, o.famille, ".
-
 
270
			"	CONCAT(o.nom_sci, ' ', o.auteur) AS nom_sel, ".
-
 
271
			"	CONCAT(ret.nom_sci, ' ', ret.auteur) AS nom_ret ".
-
 
272
			"FROM {$this->bdtxa} AS o ".
-
 
273
			"	LEFT JOIN {$this->bdtxa} AS ret ON (o.num_nom_retenu != 0 AND o.num_nom_retenu = ret.num_nom) ".
-
 
274
			"WHERE o.num_nom = $idNomP ".
-
 
275
			' -- '.__FILE__.' : '.__LINE__;
-
 
276
		$resultat = Cel::db()->requeterLigne($requete);
-
 
277
		return $resultat;
-
 
278
	}
-
 
279
 
-
 
280
	private function getInfosIsfan($id_nom) {
-
 
281
		$idNomP = CEL::db()->proteger($id_nom);
-
 
282
		// Champ "num_tax" au lieu de "num_taxonomique"
-
 
283
		$requete = "SELECT o.num_nom_retenu AS nom_ret_nn, o.num_taxonomique AS nt, o.famille, ".
-
 
284
			"	CONCAT(o.nom_sci, ' ', o.auteur) AS nom_sel, ".
-
 
285
			"	CONCAT(ret.nom_sci, ' ', ret.auteur) AS nom_ret ".
-
 
286
			"FROM {$this->isfan} AS o ".
-
 
287
			"	LEFT JOIN {$this->isfan} AS ret ON (o.num_nom_retenu != 0 AND o.num_nom_retenu = ret.num_nom) ".
-
 
288
			"WHERE o.num_nom = $idNomP ".
-
 
289
			' -- '.__FILE__.' : '.__LINE__;
-
 
290
		$resultat = Cel::db()->requeterLigne($requete);
-
 
291
		return $resultat;
-
 
292
	}
-
 
293
 
-
 
294
	private function getInfosApd($id_nom) {
-
 
295
		$idNomP = CEL::db()->proteger($id_nom);
-
 
296
		// Champ "num_tax" au lieu de "num_taxonomique"
-
 
297
		$requete = "SELECT o.num_nom_retenu AS nom_ret_nn, o.num_taxonomique AS nt, o.famille, ".
-
 
298
			"	CONCAT(o.nom_sci, ' ', o.auteur) AS nom_sel, ".
-
 
299
			"	CONCAT(ret.nom_sci, ' ', ret.auteur) AS nom_ret ".
-
 
300
			"FROM {$this->apd} AS o ".
-
 
301
			"	LEFT JOIN {$this->apd} AS ret ON (o.num_nom_retenu != 0 AND o.num_nom_retenu = ret.num_nom) ".
-
 
302
			"WHERE o.num_nom = $idNomP ".
-
 
303
			' -- '.__FILE__.' : '.__LINE__;
-
 
304
		$resultat = Cel::db()->requeterLigne($requete);
-
 
305
		return $resultat;
-
 
306
	}
-
 
307
}
226
}
308
227