Line 55... |
Line 55... |
55 |
// quoiqu'il en soit, on le met à "autre"
|
55 |
// quoiqu'il en soit, on le met à "autre"
|
56 |
$parametres['nom_referentiel'] = Cel::$fallback_referentiel;
|
56 |
$parametres['nom_referentiel'] = Cel::$fallback_referentiel;
|
57 |
}
|
57 |
}
|
Line 58... |
Line 58... |
58 |
|
58 |
|
59 |
$this->ajoutInfoUtilisateurARequete($parametres);
|
59 |
$this->ajoutInfoUtilisateurARequete($parametres);
|
Line 60... |
Line 60... |
60 |
self::formaterParametresObservation($parametres);
|
60 |
$this->formaterParametresObservation($parametres);
|
61 |
|
61 |
|
Line 62... |
Line 62... |
62 |
$requete_insertion_observation = 'INSERT INTO cel_obs ';
|
62 |
$requete_insertion_observation = 'INSERT INTO cel_obs ';
|
Line 138... |
Line 138... |
138 |
public function modifierObservation($utilisateur, $ordre, $parametres) {
|
138 |
public function modifierObservation($utilisateur, $ordre, $parametres) {
|
139 |
if (isset($parametres['nom_sel'])) {
|
139 |
if (isset($parametres['nom_sel'])) {
|
140 |
// uniquement en cas de nom_sel présent
|
140 |
// uniquement en cas de nom_sel présent
|
141 |
$this->traiterEspece($parametres);
|
141 |
$this->traiterEspece($parametres);
|
142 |
}
|
142 |
}
|
143 |
self::formaterParametresObservation($parametres);
|
143 |
$this->formaterParametresObservation($parametres);
|
144 |
$champ_maj = self::traiterParametresObservationEtConstruireSousRequeteMaj($parametres);
|
144 |
$champ_maj = self::traiterParametresObservationEtConstruireSousRequeteMaj($parametres);
|
145 |
$champ_maj[] = "date_modification = NOW()";
|
145 |
$champ_maj[] = "date_modification = NOW()";
|
146 |
$clauseSet = implode(', ', $champ_maj);
|
146 |
$clauseSet = implode(', ', $champ_maj);
|
147 |
$utilisateurIdP = Cel::db()->proteger($utilisateur);
|
147 |
$utilisateurIdP = Cel::db()->proteger($utilisateur);
|
Line 161... |
Line 161... |
161 |
}
|
161 |
}
|
Line 162... |
Line 162... |
162 |
|
162 |
|
163 |
/**
|
163 |
/**
|
164 |
* @return nombre d'observations mises à jour, ou FALSE en cas de problème
|
164 |
* @return nombre d'observations mises à jour, ou FALSE en cas de problème
|
165 |
*/
|
165 |
*/
|
166 |
static function modifierMultiplesObservation($utilisateur, Array $ordre, $parametres) {
|
166 |
public function modifierMultiplesObservation($utilisateur, Array $ordre, $parametres) {
|
167 |
// nous pouvons aussi retirer 'ce_utilisateur' (== $utilisateur) qui sera dans la clause WHERE
|
167 |
// nous pouvons aussi retirer 'ce_utilisateur' (== $utilisateur) qui sera dans la clause WHERE
|
168 |
$exclusions = ['nom_sel_nn', 'nom_sel', 'nom_ret_nn', 'nom_referentiel', 'ce_utilisateur'];
|
168 |
$exclusions = ['nom_sel_nn', 'nom_sel', 'nom_ret_nn', 'nom_referentiel', 'ce_utilisateur'];
|
169 |
$parametres = array_diff_key($parametres, array_flip($exclusions));
|
169 |
$parametres = array_diff_key($parametres, array_flip($exclusions));
|
Line 170... |
Line 170... |
170 |
$parametres = array_intersect_key($parametres, array_flip(self::$cel_obs));
|
170 |
$parametres = array_intersect_key($parametres, array_flip(self::$cel_obs));
|
171 |
|
171 |
|
172 |
$parametres = array_filter(
|
172 |
$parametres = array_filter(
|
Line 173... |
Line 173... |
173 |
$parametres,
|
173 |
$parametres,
|
174 |
create_function('$e','return strpos($e, "(Valeurs multiples)") === false;'));
|
174 |
create_function('$e','return strpos($e, "(Valeurs multiples)") === false;'));
|
Line 175... |
Line 175... |
175 |
|
175 |
|
176 |
// modifie $parametres par référence
|
176 |
// modifie $parametres par référence
|
Line 177... |
Line 177... |
177 |
self::formaterParametresObservation($parametres);
|
177 |
$this->formaterParametresObservation($parametres);
|
Line 212... |
Line 212... |
212 |
'nom_ret_nn' => NULL,
|
212 |
'nom_ret_nn' => NULL,
|
213 |
'nom_referentiel' => NULL);
|
213 |
'nom_referentiel' => NULL);
|
214 |
$parametres = array_merge($parametresDefaut, $parametres);
|
214 |
$parametres = array_merge($parametresDefaut, $parametres);
|
Line 215... |
Line 215... |
215 |
|
215 |
|
216 |
$this->traiterEspece($parametres);
|
216 |
$this->traiterEspece($parametres);
|
Line 217... |
Line 217... |
217 |
self::formaterParametresObservation($parametres);
|
217 |
$this->formaterParametresObservation($parametres);
|
218 |
|
218 |
|
Line 219... |
Line 219... |
219 |
$champ_maj = self::traiterParametresObservationEtConstruireSousRequeteMaj($parametres);
|
219 |
$champ_maj = self::traiterParametresObservationEtConstruireSousRequeteMaj($parametres);
|
Line 460... |
Line 460... |
460 |
* Formate les paramètres fournis en ajoutant des infos complementaires
|
460 |
* Formate les paramètres fournis en ajoutant des infos complementaires
|
461 |
*
|
461 |
*
|
462 |
* @param array $parametres tableau indexé avec les mêmes noms de champs que la bdd
|
462 |
* @param array $parametres tableau indexé avec les mêmes noms de champs que la bdd
|
463 |
* @return $parametres le tableau modifié selon ce qu'il contenait
|
463 |
* @return $parametres le tableau modifié selon ce qu'il contenait
|
464 |
*/
|
464 |
*/
|
465 |
static function formaterParametresObservation(&$parametres) {
|
465 |
public function formaterParametresObservation(&$parametres) {
|
466 |
// Pour empecher que des numéros de département de 1 à 9 soient saisis sans 0
|
466 |
// Pour empecher que des numéros de département de 1 à 9 soient saisis sans 0
|
467 |
// TODO: décider quoi faire pour les zones géo plus générales
|
467 |
// TODO: décider quoi faire pour les zones géo plus générales
|
468 |
if (isset($parametres['ce_zone_geo'])) {
|
468 |
if (isset($parametres['ce_zone_geo'])) {
|
469 |
if ($parametres['ce_zone_geo'] == 'null' || trim($parametres['ce_zone_geo']) == "") {
|
469 |
if ($parametres['ce_zone_geo'] == 'null' || trim($parametres['ce_zone_geo']) == "" || !is_numeric($parametres['ce_zone_geo'])) {
|
470 |
$parametres['ce_zone_geo'] = "";
|
470 |
$parametres['ce_zone_geo'] = "";
|
- |
|
471 |
$parametres['pays'] = '';
|
471 |
} else {
|
472 |
} else {
|
472 |
if (strlen($parametres['ce_zone_geo']) == 4) {
|
473 |
if (strlen($parametres['ce_zone_geo']) == 4) {
|
473 |
$parametres['ce_zone_geo'] = '0'.$parametres['ce_zone_geo'];
|
474 |
$parametres['ce_zone_geo'] = '0'.$parametres['ce_zone_geo'];
|
474 |
}
|
475 |
}
|
Line 475... |
Line 476... |
475 |
|
476 |
|
476 |
if (strlen($parametres['ce_zone_geo']) > 0 && strlen($parametres['ce_zone_geo']) <= 2) {
|
477 |
if (strlen($parametres['ce_zone_geo']) > 0 && strlen($parametres['ce_zone_geo']) <= 2) {
|
477 |
$parametres['ce_zone_geo'] = Cel::obtenirCodeInseeCommunePourNomEtDepartement($parametres['zone_geo'], $parametres['ce_zone_geo']);
|
478 |
$parametres['ce_zone_geo'] = Cel::obtenirCodeInseeCommunePourNomEtDepartement($parametres['zone_geo'], $parametres['ce_zone_geo']);
|
478 |
} else {
|
479 |
} else {
|
479 |
$parametres['ce_zone_geo'] = 'INSEE-C:'. $parametres['ce_zone_geo'];
|
480 |
$parametres['ce_zone_geo'] = 'INSEE-C:'. $parametres['ce_zone_geo'];
|
- |
|
481 |
}
|
- |
|
482 |
$parametres['pays'] = 'FR';
|
- |
|
483 |
}
|
- |
|
484 |
} else {
|
- |
|
485 |
$parametres['pays'] = '';
|
- |
|
486 |
}
|
- |
|
487 |
|
- |
|
488 |
// TODO: Fusionner cette partie et la partie du dessus en une fonction qui complete toutes les infos
|
- |
|
489 |
// géo, quand on sera riche et qu'on aura du temps
|
- |
|
490 |
if(empty($parametres['pays']) && !empty($parametres['latitude']) && !empty($parametres['longitude'])) {
|
- |
|
491 |
$recherche_pays = new RechercheInfosZoneGeo($this->config);
|
- |
|
492 |
$infos_pays = $recherche_pays->obtenirInfosPourCoordonnees($parametres);
|
- |
|
493 |
if($infos_pays['type'] == 'france') {
|
- |
|
494 |
$parametres['pays'] = 'FR';
|
- |
|
495 |
// Ajout d'infos supplémentaires si jamais on a pas de ce zone geo ou de zone geo
|
- |
|
496 |
if(empty($parametres['ce_zone_geo'])) {
|
- |
|
497 |
$parametres['ce_zone_geo'] = 'INSEE-C:'.$infos_pays['code_insee'];
|
- |
|
498 |
}
|
- |
|
499 |
|
- |
|
500 |
if(empty($parametres['zone_geo'])) {
|
- |
|
501 |
$parametres['zone_geo'] = $infos_pays['nom'];
|
- |
|
502 |
}
|
- |
|
503 |
} else {
|
480 |
}
|
504 |
$parametres['pays'] = $infos_pays['code_pays'];
|
481 |
}
|
505 |
}
|
Line 482... |
Line 506... |
482 |
}
|
506 |
}
|
483 |
|
507 |
|