Subversion Repositories eFlore/Applications.cel

Compare Revisions

No changes between revisions

Ignore whitespace Rev 3067 → Rev 3068

/branches/v2.27-secateur/jrest/services/CelWidgetSaisie.php
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;
/branches/v2.27-secateur/jrest/services
Property changes:
Modified: svn:mergeinfo
Merged /trunk/jrest/services:r3067
/branches/v2.27-secateur/jrest/bibliotheque/GestionUtilisateur.php
29,7 → 29,12
}
return $utilisateur;
}
 
/**
* Retourne l'utilisateur demandé, seulement s'il s'il est connecté au SSO
* (le nom de la méthode est trompeur @TODO renommer); retourne false si
* aucun jeton SSO n'est disponible
*/
public function obtenirUtilisateurSiExiste($login_utilisateur) {
$utilisateur = $this->getUtilisateurAnonyme();
if ($utilisateur_existe = $this->chargerInfosUtilisateur($login_utilisateur)) {
43,7 → 48,7
* Retourne les informations contenues dans la table cel_utilisateurs_infos,
* pour un login (adresse courriel) donné
*/
protected function lireCelUtilisateursInfos($login) {
public function lireCelUtilisateursInfos($login) {
$requete = 'SELECT * '.
'FROM cel_utilisateurs_infos AS cu '.
'WHERE courriel = '.Cel::db()->proteger($login).' '.
131,6 → 136,8
* et observations
*
* Si l'utilisateur n'est pas identifié, retourne false (pour le widget de saisie par ex.)
* @TODO changer ce flux qui est sous-optimal, et renommer les méthodes dont
* les noms ne collent pas
*
* @param string $login le login (adresse courriel) de l'utilisateur
*/
169,6 → 176,7
return $retour;
}
 
// @TODO a l'air inutilisée (2017-01-02) - vérifier
private function utilisateurEstAutorise($id_utilisateur) {
$autorise = false;
$token = $this->getToken();
/branches/v2.27-secateur/jrest
Property changes:
Modified: svn:mergeinfo
Merged /trunk/jrest:r3067
/branches/v2.27-secateur/.
Property changes:
Modified: svn:mergeinfo
Merged /trunk:r3067