Subversion Repositories eFlore/Applications.cel

Rev

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

Rev 3067 Rev 3082
Line 45... Line 45...
45
	}
45
	}
Line 46... Line 46...
46
 
46
 
47
	/**
47
	/**
48
	 * Retourne les informations contenues dans la table cel_utilisateurs_infos,
48
	 * Retourne les informations contenues dans la table cel_utilisateurs_infos,
-
 
49
	 * pour un login (adresse courriel) donné
49
	 * pour un login (adresse courriel) donné
50
	 * @TODO un jour, se baser sur l'ID pour éviter les difficultés de migration de courriel
50
	 */
51
	 */
51
	public function lireCelUtilisateursInfos($login) {
52
	public function lireCelUtilisateursInfos($login) {
52
		$requete = 'SELECT * '.
53
		$requete = 'SELECT * '.
53
				'FROM cel_utilisateurs_infos AS cu '.
54
				'FROM cel_utilisateurs_infos AS cu '.
Line 146... Line 147...
146
		// si l'utilisateur n'est pas connecté (pas porteur d'un jeton), au revoir
147
		// si l'utilisateur n'est pas connecté (pas porteur d'un jeton), au revoir
147
		if ($this->token_decode == null) {
148
		if ($this->token_decode == null) {
148
			return false;
149
			return false;
149
		}
150
		}
Line 150... Line 151...
150
 
151
 
-
 
152
		// sinon, si on a affaire à quelqu'un de connecté : on récupère son profil local
-
 
153
		// Attention, si l'utilisateur a changé d'email depuis la dernière connection,
151
		// sinon, si on a affaire à quelqu'un de connecté :
154
		// son profil local ne sera pas retrouvé; le cas est traité plus bas
Line 152... Line 155...
152
		$infosCUI = $this->lireCelUtilisateursInfos($login);
155
		$infosCUI = $this->lireCelUtilisateursInfos($login);
153
 
156
 
154
		$retour = false;
157
		$retour = false;
Line 163... Line 166...
163
				$retour = $this->lireCelUtilisateursInfos($login);
166
				$retour = $this->lireCelUtilisateursInfos($login);
164
			} else {
167
			} else {
165
				$retour = $infosCUI;
168
				$retour = $infosCUI;
166
			}
169
			}
167
		} else {
170
		} else {
168
			// première connexion au CeL !
171
			// première connexion au CeL ou changement d'email ! Crée le compte ou met à jour l'email
169
			$this->initialiserInfosUtilisateur();
172
			$this->initialiserInfosUtilisateur();
-
 
173
			// re-lecture du nouveau profil local (si l'email a changé)
-
 
174
			$retour = $this->lireCelUtilisateursInfos($login);
170
			$this->affecterDonneesWidgetSaisie($login, $retour);
175
			$this->affecterDonneesWidgetSaisie($login, $retour);
171
		}
176
		}
172
		// booleanisation des valeurs
177
		// booleanisation des valeurs
173
		$retour['admin'] = ($retour['admin'] == 1);
178
		$retour['admin'] = ($retour['admin'] == 1);
174
		$retour['licence_acceptee'] = (isset($retour['licence_acceptee']) && ($retour['licence_acceptee'] == 1));
179
		$retour['licence_acceptee'] = (isset($retour['licence_acceptee']) && ($retour['licence_acceptee'] == 1));
Line 324... Line 329...
324
			. Cel::db()->proteger($this->token_decode['intitule']) . ', '
329
			. Cel::db()->proteger($this->token_decode['intitule']) . ', '
325
			. Cel::db()->proteger($this->token_decode['prenom']) . ', '
330
			. Cel::db()->proteger($this->token_decode['prenom']) . ', '
326
			. Cel::db()->proteger($this->token_decode['nom']) . ', '
331
			. Cel::db()->proteger($this->token_decode['nom']) . ', '
327
			. Cel::db()->proteger($this->token_decode['sub']) . ', '
332
			. Cel::db()->proteger($this->token_decode['sub']) . ', '
328
			. "'0', '0', NULL, NOW()"
333
			. "'0', '0', NULL, NOW()"
-
 
334
			. ' ) ON DUPLICATE KEY UPDATE'
329
			. ' ) ON DUPLICATE KEY UPDATE date_premiere_utilisation = NOW()'
335
			. ' date_premiere_utilisation = NOW(),'
-
 
336
			. ' intitule = ' . Cel::db()->proteger($this->token_decode['intitule']) . ','
-
 
337
			. ' prenom = ' . Cel::db()->proteger($this->token_decode['prenom']) . ','
-
 
338
			. ' nom = ' . Cel::db()->proteger($this->token_decode['nom']) . ','
-
 
339
			. ' courriel = ' . Cel::db()->proteger($this->token_decode['sub']) 
330
			. ' -- '.__FILE__.':'.__LINE__
340
			. ' -- '.__FILE__.':'.__LINE__
331
		;
341
		;
332
		Cel::db()->executer($requete);
342
		Cel::db()->executer($requete);
333
	}
343
	}