102,7 → 102,7 |
$obsAAjouter['lieudit'] = isset($obs['lieudit']) ? $obs['lieudit'] : null; |
$obsAAjouter['station'] = isset($obs['station']) ? $obs['station'] : null; |
$obsAAjouter['milieu'] = isset($obs['milieu']) ? $obs['milieu'] : null; |
$obsAAjouter['altitude'] = isset($obs['altitude']) ? $obs['altitude'] : null; |
$obsAAjouter['altitude'] = (! empty($obs['altitude'])) ? $obs['altitude'] : null; |
$obsAAjouter['latitude'] = $obs['latitude']; |
$obsAAjouter['longitude'] = $obs['longitude']; |
$obsAAjouter['geodatum'] = 'WGS84'; |
372,13 → 372,52 |
return $img_a_taguer_ids_noms; |
} |
|
/** |
* Regarde si les infos concernant l'utilisateur en cours sont satisfaisantes |
* (un ID et des infos complètes venant d'un jeton); si non, regarde si un |
* ID a été passé en POST (cas du Widget de Saisie); si non, regarde tout de |
* même si l'email envoyé en POST correspond à un utilisateur connu dans la |
* table cel_utilisateurs_infos (cas de la synchro Pl@ntNet > TB) |
* |
* @TODO réviser l'intégralité du flux pour éviter cette situation |
* sous-optimale et spaghettoïde |
*/ |
private function affecterChampsManquantsUtilisateur($utilisateur) { |
$gestion_utilisateur = new GestionUtilisateur($this->config); |
// le nom de la méthode est trompeur : $infos_complementaires ne sera |
// chargé que si un jeton SSO est présent |
$infos_complementaires = $gestion_utilisateur->obtenirUtilisateurSiExiste($utilisateur['courriel']); |
// si on n'a pas d'ID pour l'instant |
if(!isset($utilisateur['id_utilisateur']) || trim($utilisateur['id_utilisateur']) == '') { |
$utilisateur['id_utilisateur'] = ($infos_complementaires['connecte'] && isset($infos_complementaires['id_utilisateur'])) ? $infos_complementaires['id_utilisateur'] : $utilisateur['courriel']; |
$utilisateur['prenom'] = isset($infos_complementaires['prenom']) && trim($infos_complementaires['prenom']) != '' ? $infos_complementaires['prenom'] : $utilisateur['prenom']; |
$utilisateur['nom'] = isset($infos_complementaires['nom']) && trim($infos_complementaires['nom']) != '' ? $infos_complementaires['nom'] : $utilisateur['nom']; |
// si les infos complémentaires ont été trouvées, on charge ce |
// qu'elles contiennent |
if ($infos_complementaires['connecte'] && isset($infos_complementaires['id_utilisateur'])) { |
// on essaye de ne pas écraser avec du vide (on sait jamais) |
$utilisateur['id_utilisateur'] = $infos_complementaires['id_utilisateur']; |
if (isset($infos_complementaires['prenom']) && trim($infos_complementaires['prenom']) != '') { |
$utilisateur['prenom'] = $infos_complementaires['prenom']; |
} |
if (isset($infos_complementaires['nom']) && trim($infos_complementaires['nom']) != '') { |
$utilisateur['nom'] = $infos_complementaires['nom']; |
} |
} else { |
// sinon on regarde dans cel_utilisateurs_infos pour voir si on |
// ne connait pas l'email quand-même |
$infosCUI = $gestion_utilisateur->lireCelUtilisateursInfos($utilisateur['courriel']); |
if ($infosCUI) { |
if (! empty($infosCUI['id_utilisateur'])) { |
$utilisateur['id_utilisateur'] = $infosCUI['id_utilisateur']; |
} |
if (! empty($infosCUI['prenom'])) { |
$utilisateur['prenom'] = $infosCUI['prenom']; |
} |
if (! empty($infosCUI['nom'])) { |
$utilisateur['nom'] = $infosCUI['nom']; |
} |
} |
// else: en dernier recours on garde ce qu'on a dans le POST; on |
// obtient alors un obs "anonyme" (utilisateur non-inscrit) |
} |
} |
|
return $utilisateur; |