57,7 → 57,7 |
} |
|
$this->ajoutInfoUtilisateurARequete($parametres); |
self::formaterParametresObservation($parametres); |
$this->formaterParametresObservation($parametres); |
|
$requete_insertion_observation = 'INSERT INTO cel_obs '; |
$sous_requete_colonnes = $this->traiterParametresObservationEtConstruireSousRequeteAjout($parametres); |
140,7 → 140,7 |
// uniquement en cas de nom_sel présent |
$this->traiterEspece($parametres); |
} |
self::formaterParametresObservation($parametres); |
$this->formaterParametresObservation($parametres); |
$champ_maj = self::traiterParametresObservationEtConstruireSousRequeteMaj($parametres); |
$champ_maj[] = "date_modification = NOW()"; |
$clauseSet = implode(', ', $champ_maj); |
163,7 → 163,7 |
/** |
* @return nombre d'observations mises à jour, ou FALSE en cas de problème |
*/ |
static function modifierMultiplesObservation($utilisateur, Array $ordre, $parametres) { |
public function modifierMultiplesObservation($utilisateur, Array $ordre, $parametres) { |
// nous pouvons aussi retirer 'ce_utilisateur' (== $utilisateur) qui sera dans la clause WHERE |
$exclusions = ['nom_sel_nn', 'nom_sel', 'nom_ret_nn', 'nom_referentiel', 'ce_utilisateur']; |
$parametres = array_diff_key($parametres, array_flip($exclusions)); |
174,7 → 174,7 |
create_function('$e','return strpos($e, "(Valeurs multiples)") === false;')); |
|
// modifie $parametres par référence |
self::formaterParametresObservation($parametres); |
$this->formaterParametresObservation($parametres); |
|
$champ_maj = self::traiterParametresObservationEtConstruireSousRequeteMaj($parametres); |
$nbreUpdate = count($champ_maj); |
214,7 → 214,7 |
$parametres = array_merge($parametresDefaut, $parametres); |
|
$this->traiterEspece($parametres); |
self::formaterParametresObservation($parametres); |
$this->formaterParametresObservation($parametres); |
|
$champ_maj = self::traiterParametresObservationEtConstruireSousRequeteMaj($parametres); |
$champ_maj[] = 'date_modification = NOW()'; |
462,12 → 462,13 |
* @param array $parametres tableau indexé avec les mêmes noms de champs que la bdd |
* @return $parametres le tableau modifié selon ce qu'il contenait |
*/ |
static function formaterParametresObservation(&$parametres) { |
public function formaterParametresObservation(&$parametres) { |
// Pour empecher que des numéros de département de 1 à 9 soient saisis sans 0 |
// TODO: décider quoi faire pour les zones géo plus générales |
if (isset($parametres['ce_zone_geo'])) { |
if ($parametres['ce_zone_geo'] == 'null' || trim($parametres['ce_zone_geo']) == "") { |
if ($parametres['ce_zone_geo'] == 'null' || trim($parametres['ce_zone_geo']) == "" || !is_numeric($parametres['ce_zone_geo'])) { |
$parametres['ce_zone_geo'] = ""; |
$parametres['pays'] = ''; |
} else { |
if (strlen($parametres['ce_zone_geo']) == 4) { |
$parametres['ce_zone_geo'] = '0'.$parametres['ce_zone_geo']; |
478,9 → 479,32 |
} else { |
$parametres['ce_zone_geo'] = 'INSEE-C:'. $parametres['ce_zone_geo']; |
} |
$parametres['pays'] = 'FR'; |
} |
} else { |
$parametres['pays'] = ''; |
} |
|
// TODO: Fusionner cette partie et la partie du dessus en une fonction qui complete toutes les infos |
// géo, quand on sera riche et qu'on aura du temps |
if(empty($parametres['pays']) && !empty($parametres['latitude']) && !empty($parametres['longitude'])) { |
$recherche_pays = new RechercheInfosZoneGeo($this->config); |
$infos_pays = $recherche_pays->obtenirInfosPourCoordonnees($parametres); |
if($infos_pays['type'] == 'france') { |
$parametres['pays'] = 'FR'; |
// Ajout d'infos supplémentaires si jamais on a pas de ce zone geo ou de zone geo |
if(empty($parametres['ce_zone_geo'])) { |
$parametres['ce_zone_geo'] = 'INSEE-C:'.$infos_pays['code_insee']; |
} |
|
if(empty($parametres['zone_geo'])) { |
$parametres['zone_geo'] = $infos_pays['nom']; |
} |
} else { |
$parametres['pays'] = $infos_pays['code_pays']; |
} |
} |
|
// TODO : voir si l'on peut utiliser un des fonctions de la classe cel |
if (isset($parametres['date_observation']) && $parametres['date_observation'] != 'null') { |
//TODO: prendre en compte des dates incomplètes ? |