Subversion Repositories eFlore/Applications.cel

Rev

Rev 3061 | Rev 3076 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 3061 Rev 3068
Line 100... Line 100...
100
								$obsAAjouter['zone_geo'] = $obs['commune_nom'];
100
								$obsAAjouter['zone_geo'] = $obs['commune_nom'];
101
								$obsAAjouter['ce_zone_geo'] = 'INSEE-C:'. (isset($obs['commune_code_insee']) ? $obs['commune_code_insee'] : '');
101
								$obsAAjouter['ce_zone_geo'] = 'INSEE-C:'. (isset($obs['commune_code_insee']) ? $obs['commune_code_insee'] : '');
102
								$obsAAjouter['lieudit'] = isset($obs['lieudit']) ? $obs['lieudit'] : null;
102
								$obsAAjouter['lieudit'] = isset($obs['lieudit']) ? $obs['lieudit'] : null;
103
								$obsAAjouter['station'] = isset($obs['station']) ? $obs['station'] : null;
103
								$obsAAjouter['station'] = isset($obs['station']) ? $obs['station'] : null;
104
								$obsAAjouter['milieu'] = isset($obs['milieu']) ? $obs['milieu'] : null;
104
								$obsAAjouter['milieu'] = isset($obs['milieu']) ? $obs['milieu'] : null;
105
								$obsAAjouter['altitude'] = isset($obs['altitude']) ? $obs['altitude'] : null;
105
								$obsAAjouter['altitude'] = (! empty($obs['altitude'])) ? $obs['altitude'] : null;
106
								$obsAAjouter['latitude'] = $obs['latitude'];
106
								$obsAAjouter['latitude'] = $obs['latitude'];
107
								$obsAAjouter['longitude'] = $obs['longitude'];
107
								$obsAAjouter['longitude'] = $obs['longitude'];
108
								$obsAAjouter['geodatum'] = 'WGS84';
108
								$obsAAjouter['geodatum'] = 'WGS84';
Line 109... Line 109...
109
 
109
 
Line 370... Line 370...
370
			}
370
			}
371
		}
371
		}
372
		return $img_a_taguer_ids_noms;
372
		return $img_a_taguer_ids_noms;
373
	}
373
	}
Line -... Line 374...
-
 
374
 
-
 
375
	/**
-
 
376
	 * Regarde si les infos concernant l'utilisateur en cours sont satisfaisantes
-
 
377
	 * (un ID et des infos complètes venant d'un jeton); si non, regarde si un
-
 
378
	 * ID a été passé en POST (cas du Widget de Saisie); si non, regarde tout de
-
 
379
	 * même si l'email envoyé en POST correspond à un utilisateur connu dans la
-
 
380
	 * table cel_utilisateurs_infos (cas de la synchro Pl@ntNet > TB)
-
 
381
	 * 
-
 
382
	 * @TODO réviser l'intégralité du flux pour éviter cette situation
-
 
383
	 * sous-optimale et spaghettoïde
374
 
384
	 */
375
	private function affecterChampsManquantsUtilisateur($utilisateur) {
385
	private function affecterChampsManquantsUtilisateur($utilisateur) {
-
 
386
		$gestion_utilisateur = new GestionUtilisateur($this->config);
-
 
387
		// le nom de la méthode est trompeur : $infos_complementaires ne sera
376
		$gestion_utilisateur = new GestionUtilisateur($this->config);
388
		// chargé que si un jeton SSO est présent
-
 
389
		$infos_complementaires = $gestion_utilisateur->obtenirUtilisateurSiExiste($utilisateur['courriel']);
377
		$infos_complementaires = $gestion_utilisateur->obtenirUtilisateurSiExiste($utilisateur['courriel']);
390
		// si on n'a pas d'ID pour l'instant
-
 
391
		if(!isset($utilisateur['id_utilisateur']) || trim($utilisateur['id_utilisateur']) == '') {
-
 
392
			// si les infos complémentaires ont été trouvées, on charge ce
378
		if(!isset($utilisateur['id_utilisateur']) || trim($utilisateur['id_utilisateur']) == '') {
393
			// qu'elles contiennent
-
 
394
			if ($infos_complementaires['connecte'] && isset($infos_complementaires['id_utilisateur'])) {
-
 
395
				// on essaye de ne pas écraser avec du vide (on sait jamais)
379
			$utilisateur['id_utilisateur'] = ($infos_complementaires['connecte'] && isset($infos_complementaires['id_utilisateur'])) ? $infos_complementaires['id_utilisateur'] : $utilisateur['courriel'];
396
				$utilisateur['id_utilisateur'] = $infos_complementaires['id_utilisateur'];
-
 
397
				if (isset($infos_complementaires['prenom']) && trim($infos_complementaires['prenom']) != '') {
-
 
398
					$utilisateur['prenom'] = $infos_complementaires['prenom'];
380
			$utilisateur['prenom'] = isset($infos_complementaires['prenom']) && trim($infos_complementaires['prenom']) != '' ? $infos_complementaires['prenom'] : $utilisateur['prenom'];
399
				}
-
 
400
				if (isset($infos_complementaires['nom']) && trim($infos_complementaires['nom']) != '') {
-
 
401
					$utilisateur['nom'] = $infos_complementaires['nom'];
-
 
402
				}
-
 
403
			} else {
-
 
404
				// sinon on regarde dans cel_utilisateurs_infos pour voir si on
-
 
405
				// ne connait pas l'email quand-même
-
 
406
				$infosCUI = $gestion_utilisateur->lireCelUtilisateursInfos($utilisateur['courriel']);
-
 
407
				if ($infosCUI) {
-
 
408
					if (! empty($infosCUI['id_utilisateur'])) {
-
 
409
						$utilisateur['id_utilisateur'] = $infosCUI['id_utilisateur'];
-
 
410
					}
-
 
411
					if (! empty($infosCUI['prenom'])) {
-
 
412
						$utilisateur['prenom'] = $infosCUI['prenom'];
-
 
413
					}
-
 
414
					if (! empty($infosCUI['nom'])) {
-
 
415
						$utilisateur['nom'] = $infosCUI['nom'];
-
 
416
					}
-
 
417
				}
-
 
418
				// else: en dernier recours on garde ce qu'on a dans le POST; on
-
 
419
				// obtient alors un obs "anonyme" (utilisateur non-inscrit)
381
			$utilisateur['nom'] = isset($infos_complementaires['nom']) && trim($infos_complementaires['nom']) != '' ? $infos_complementaires['nom'] : $utilisateur['nom'];
420
			}
Line 382... Line 421...
382
		}
421
		}
383
 
422