Line 21... |
Line 21... |
21 |
*/
|
21 |
*/
|
22 |
class GestionObservation extends Cel {
|
22 |
class GestionObservation extends Cel {
|
Line 23... |
Line 23... |
23 |
|
23 |
|
24 |
static $cel_obs = ['id_observation', 'ordre', 'ce_utilisateur', 'prenom_utilisateur', 'nom_utilisateur',
|
24 |
static $cel_obs = ['id_observation', 'ordre', 'ce_utilisateur', 'prenom_utilisateur', 'nom_utilisateur',
|
25 |
'courriel_utilisateur', 'nom_sel', 'nom_sel_nn', 'nom_ret', 'nom_ret_nn', 'nt', 'famille',
|
25 |
'courriel_utilisateur', 'nom_sel', 'nom_sel_nn', 'nom_ret', 'nom_ret_nn', 'nt', 'famille',
|
26 |
'nom_referentiel', 'ce_zone_geo', 'zone_geo', 'lieudit', 'station', 'milieu', 'latitude', 'longitude',
|
26 |
'nom_referentiel', 'pays', 'ce_zone_geo', 'zone_geo', 'lieudit', 'station', 'milieu', 'latitude', 'longitude',
|
27 |
'altitude', 'geodatum', 'date_observation', 'mots_cles_texte', 'commentaire', 'transmission',
|
27 |
'altitude', 'geodatum', 'date_observation', 'mots_cles_texte', 'commentaire', 'transmission',
|
28 |
'date_creation', 'date_modification', 'date_transmission', 'abondance', 'certitude', 'phenologie',
|
28 |
'date_creation', 'date_modification', 'date_transmission', 'abondance', 'certitude', 'phenologie',
|
Line 29... |
Line 29... |
29 |
'code_insee_calcul'];
|
29 |
'code_insee_calcul'];
|
Line 460... |
Line 460... |
460 |
*
|
460 |
*
|
461 |
* @param array $parametres tableau indexé avec les mêmes noms de champs que la bdd
|
461 |
* @param array $parametres tableau indexé avec les mêmes noms de champs que la bdd
|
462 |
* @return $parametres le tableau modifié selon ce qu'il contenait
|
462 |
* @return $parametres le tableau modifié selon ce qu'il contenait
|
463 |
*/
|
463 |
*/
|
464 |
public function formaterParametresObservation(&$parametres) {
|
464 |
public function formaterParametresObservation(&$parametres) {
|
465 |
// Pour empecher que des numéros de département de 1 à 9 soient saisis sans 0
|
- |
|
466 |
// TODO: décider quoi faire pour les zones géo plus générales
|
- |
|
- |
|
465 |
|
467 |
if (isset($parametres['ce_zone_geo'])) {
|
466 |
if (isset($parametres['ce_zone_geo'])) {
|
468 |
if ($parametres['ce_zone_geo'] == 'null' || trim($parametres['ce_zone_geo']) == "" || !is_numeric($parametres['ce_zone_geo'])) {
|
467 |
if ($parametres['ce_zone_geo'] == 'null' || trim($parametres['ce_zone_geo']) == "" || !is_numeric($parametres['ce_zone_geo'])) {
|
469 |
$parametres['ce_zone_geo'] = "";
|
468 |
$parametres['ce_zone_geo'] = "";
|
470 |
} else {
|
469 |
} else {
|
- |
|
470 |
// Pour empecher que des numéros de département de 1 à 9 soient saisis sans 0
|
471 |
if (strlen($parametres['ce_zone_geo']) == 4) {
|
471 |
if (strlen($parametres['ce_zone_geo']) == 4) {
|
472 |
$parametres['ce_zone_geo'] = '0'.$parametres['ce_zone_geo'];
|
472 |
$parametres['ce_zone_geo'] = '0'.$parametres['ce_zone_geo'];
|
473 |
}
|
473 |
}
|
Line 474... |
Line 474... |
474 |
|
474 |
|
Line 479... |
Line 479... |
479 |
}
|
479 |
}
|
480 |
$parametres['pays'] = 'FR';
|
480 |
$parametres['pays'] = 'FR';
|
481 |
}
|
481 |
}
|
482 |
}
|
482 |
}
|
Line 483... |
Line -... |
483 |
|
- |
|
484 |
// TODO: Fusionner cette partie et la partie du dessus en une fonction qui complete toutes les infos
|
- |
|
485 |
// géo, quand on sera riche et qu'on aura du temps
|
483 |
|
486 |
if(empty($parametres['pays']) && !empty($parametres['latitude']) && !empty($parametres['longitude'])) {
|
484 |
if(empty($parametres['pays']) && !empty($parametres['latitude']) && !empty($parametres['longitude'])) {
|
- |
|
485 |
$recherche_pays = new RechercheInfosZoneGeo($this->config);
|
- |
|
486 |
|
- |
|
487 |
// Dans le cas de l'insertion de l'obs, il serait déraisonnable d'attendre plus de 2 secondes
|
- |
|
488 |
// pour détecter le pays qui sera de toute façon retrouvé par le script lancé en cron
|
487 |
$recherche_pays = new RechercheInfosZoneGeo($this->config);
|
489 |
$recherche_pays->maxTimeoutRequeteMondiale = 2;
|
488 |
$infos_pays = $recherche_pays->obtenirInfosPourCoordonnees($parametres);
|
490 |
$infos_pays = $recherche_pays->obtenirInfosPourCoordonnees($parametres);
|
489 |
if($infos_pays['type'] == 'france') {
|
491 |
if($infos_pays['type'] == 'france') {
|
490 |
$parametres['pays'] = 'FR';
|
492 |
$parametres['pays'] = 'FR';
|
491 |
// Ajout d'infos supplémentaires si jamais on a pas de ce zone geo ou de zone geo
|
493 |
// Ajout d'infos supplémentaires si jamais on a pas de ce zone geo ou de zone geo
|