Subversion Repositories eFlore/Applications.cel

Rev

Rev 2460 | Rev 2486 | Go to most recent revision | Only display areas with differences | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 2460 Rev 2461
1
<?php
1
<?php
2
// declare(encoding='UTF-8');
2
// declare(encoding='UTF-8');
3
/**
3
/**
4
 * Classe métier de gestion de l'ajout, modification et suppression des images.
4
 * Classe métier de gestion de l'ajout, modification et suppression des images.
5
 *
5
 *
6
 * @internal   Mininum PHP version : 5.2
6
 * @internal   Mininum PHP version : 5.2
7
 * @category   CEL
7
 * @category   CEL
8
 * @package    Services
8
 * @package    Services
9
 * @subpackage Bibliothèques
9
 * @subpackage Bibliothèques
10
 * @version    0.1
10
 * @version    0.1
11
 * @author     Mathias CHOUET <mathias@tela-botanica.org>
11
 * @author     Mathias CHOUET <mathias@tela-botanica.org>
12
 * @author     Jean-Pascal MILCENT <jpm@tela-botanica.org>
12
 * @author     Jean-Pascal MILCENT <jpm@tela-botanica.org>
13
 * @author     Aurelien PERONNET <aurelien@tela-botanica.org>
13
 * @author     Aurelien PERONNET <aurelien@tela-botanica.org>
14
 * @license    GPL v3 <http://www.gnu.org/licenses/gpl.txt>
14
 * @license    GPL v3 <http://www.gnu.org/licenses/gpl.txt>
15
 * @license    CECILL v2 <http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt>
15
 * @license    CECILL v2 <http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt>
16
 * @copyright  1999-2014 Tela Botanica <accueil@tela-botanica.org>
16
 * @copyright  1999-2014 Tela Botanica <accueil@tela-botanica.org>
17
 */
17
 */
18
class GestionImage extends Cel {
18
class GestionImage extends Cel {
19
 
19
 
20
	/**
20
	/**
21
	* Ajoute une image dans la base de données et stocke le fichier en fabriquant les miniatures,
21
	* Ajoute une image dans la base de données et stocke le fichier en fabriquant les miniatures,
22
	* renvoie le nouvel id d'image en cas de succès
22
	* renvoie le nouvel id d'image en cas de succès
23
	*
23
	*
24
	* @param int $id_utilisateur identifiant de l'utilisateur
24
	* @param int $id_utilisateur identifiant de l'utilisateur
25
	* @param array $infos_fichier les infos sur le fichier à traiter, de la même forme que les
25
	* @param array $infos_fichier les infos sur le fichier à traiter, de la même forme que les
26
	* élements du tableau $_FILES de php
26
	* élements du tableau $_FILES de php
27
	*/
27
	*/
28
	public function ajouterImage($id_utilisateur, $infos_fichier) {
28
	public function ajouterImage($id_utilisateur, $infos_fichier) {
29
		$nouvel_ordre = $this->obtenirNouvelOrdrePourUtilisateur($id_utilisateur);
29
		$nouvel_ordre = $this->obtenirNouvelOrdrePourUtilisateur($id_utilisateur);
30
 
30
 
31
		$extracteur_metadonnees = new ExtracteurMetadonnees();
31
		$extracteur_metadonnees = new ExtracteurMetadonnees();
32
		$informations_image = $extracteur_metadonnees->extraireMetadonnees($infos_fichier['tmp_name']) ;
32
		$informations_image = $extracteur_metadonnees->extraireMetadonnees($infos_fichier['tmp_name']) ;
33
		if (!$informations_image) {
33
		if (!$informations_image) {
34
			$message = "Erreur lors de l'extraction des metadonnées";
34
			$message = "Erreur lors de l'extraction des metadonnées";
35
			$this->logger($message);
35
			$this->logger($message);
36
		}
36
		}
37
 
37
 
38
		// ajout de quelques informations supplémentaire, en sus
38
		// ajout de quelques informations supplémentaire, en sus
39
		// des metadonnées dejà extraites
39
		// des metadonnées dejà extraites
40
		$informations_image['ordre'] = $nouvel_ordre ;
40
		$informations_image['ordre'] = $nouvel_ordre ;
41
		$informations_image['transmission'] = '0' ;
41
		$informations_image['transmission'] = '0' ;
42
		$informations_image['nom_original'] = $infos_fichier['name'] ;
42
		$informations_image['nom_original'] = $infos_fichier['name'] ;
43
 
43
 
44
		// le md5 du fichier sert à repérer les images en doublons
44
		// le md5 du fichier sert à repérer les images en doublons
45
		$informations_image['md5'] = md5_file($infos_fichier['tmp_name']) ;
45
		$informations_image['md5'] = md5_file($infos_fichier['tmp_name']) ;
46
 
46
 
47
		$informations_image['ce_utilisateur'] = $id_utilisateur ;
47
		$informations_image['ce_utilisateur'] = $id_utilisateur ;
48
 
48
 
49
		$infos_utilisateur = $this->getInfosComplementairesUtilisateur($id_utilisateur);
49
		$infos_utilisateur = $this->getInfosComplementairesUtilisateur($id_utilisateur);
50
 
50
 
51
		$informations_image['courriel_utilisateur'] = $infos_utilisateur['courriel'];
51
		$informations_image['courriel_utilisateur'] = $infos_utilisateur['courriel'];
52
		$informations_image['nom_utilisateur'] = $infos_utilisateur['nom'];
52
		$informations_image['nom_utilisateur'] = $infos_utilisateur['nom'];
53
		$informations_image['prenom_utilisateur'] = $infos_utilisateur['prenom'];
53
		$informations_image['prenom_utilisateur'] = $infos_utilisateur['prenom'];
54
 
54
 
55
		$requete = $this->construireRequeteInsertionImage($informations_image);
55
		$requete = $this->construireRequeteInsertionImage($informations_image);
56
		$resultat_insertion_infos_image = Cel::db()->executer($requete);
56
		$resultat_insertion_infos_image = Cel::db()->executer($requete);
57
		if (!$resultat_insertion_infos_image) {
57
		if (!$resultat_insertion_infos_image) {
58
			$message = "Echec de l'insertion dans la base de donnees : " ;
58
			$message = "Echec de l'insertion dans la base de donnees : " ;
59
			$this->logger($message);
59
			$this->logger($message);
60
		}
60
		}
61
 
61
 
62
		$id_nouvelle_image = $this->obtenirIdImagePourIdentifiantEtOrdre($id_utilisateur, $nouvel_ordre);
62
		$id_nouvelle_image = $this->obtenirIdImagePourIdentifiantEtOrdre($id_utilisateur, $nouvel_ordre);
63
		if (!$id_nouvelle_image) {
63
		if (!$id_nouvelle_image) {
64
			$message = "Impossible d'obtenir le nouvel identifiant de l'image";
64
			$message = "Impossible d'obtenir le nouvel identifiant de l'image";
65
			$this->logger($message);
65
			$this->logger($message);
66
		}
66
		}
67
 
67
 
68
		$manipulateur_image = new ImageRecreation($this->config);
68
		$manipulateur_image = new ImageRecreation($this->config);
69
		$fichier_stocke = $manipulateur_image->stockerFichierEtCreerMiniatures($infos_fichier, $id_nouvelle_image);
69
		$fichier_stocke = $manipulateur_image->stockerFichierEtCreerMiniatures($infos_fichier, $id_nouvelle_image);
70
		if (!$fichier_stocke) {
70
		if (!$fichier_stocke) {
71
			$message = "Erreur lors du stockage du fichier";
71
			$message = "Erreur lors du stockage du fichier";
72
			$this->logger($message);
72
			$this->logger($message);
73
		}
73
		}
74
 
74
 
75
		return $id_nouvelle_image;
75
		return $id_nouvelle_image;
76
	}
76
	}
77
 
77
 
78
	private function obtenirNouvelOrdrePourUtilisateur($id_utilisateur) {
78
	private function obtenirNouvelOrdrePourUtilisateur($id_utilisateur) {
79
		$idUtilisateurP = Cel::db()->proteger($id_utilisateur);
79
		$idUtilisateurP = Cel::db()->proteger($id_utilisateur);
80
		$requete = 'SELECT MAX(ordre) AS max_ordre '.
80
		$requete = 'SELECT MAX(ordre) AS max_ordre '.
81
			'FROM cel_images '.
81
			'FROM cel_images '.
82
			"WHERE ce_utilisateur = $idUtilisateurP ".
82
			"WHERE ce_utilisateur = $idUtilisateurP ".
83
			' -- '.__FILE__.' : '.__LINE__;
83
			' -- '.__FILE__.' : '.__LINE__;
84
		$resultat = Cel::db()->requeter($requete);
84
		$resultat = Cel::db()->requeter($requete);
85
 
85
 
86
		$nouvel_ordre = 0;
86
		$nouvel_ordre = 0;
87
		if ($resultat !== false) {
87
		if ($resultat !== false) {
88
			$nouvel_ordre = $resultat[0]['max_ordre'];
88
			$nouvel_ordre = $resultat[0]['max_ordre'];
89
			$nouvel_ordre++;
89
			$nouvel_ordre++;
90
		} else {
90
		} else {
91
			$message = "Erreur lors du calcul du nouvel ordre de l'image";
91
			$message = "Erreur lors du calcul du nouvel ordre de l'image";
92
			$this->logger($message);
92
			$this->logger($message);
93
		}
93
		}
94
		return $nouvel_ordre;
94
		return $nouvel_ordre;
95
	}
95
	}
96
 
96
 
97
	private function obtenirIdImagePourIdentifiantEtOrdre($id_utilisateur, $ordre) {
97
	private function obtenirIdImagePourIdentifiantEtOrdre($id_utilisateur, $ordre) {
98
		$id_image = false;
98
		$id_image = false;
99
		$idUtilisateurP = Cel::db()->proteger($id_utilisateur);
99
		$idUtilisateurP = Cel::db()->proteger($id_utilisateur);
100
		$ordreP = Cel::db()->proteger($ordre);
100
		$ordreP = Cel::db()->proteger($ordre);
101
		$requete ='SELECT id_image '.
101
		$requete ='SELECT id_image '.
102
			'FROM cel_images '.
102
			'FROM cel_images '.
103
			"WHERE ce_utilisateur = $idUtilisateurP ".
103
			"WHERE ce_utilisateur = $idUtilisateurP ".
104
			"	AND ordre = $ordreP ".
104
			"	AND ordre = $ordreP ".
105
			' -- '.__FILE__.' : '.__LINE__;
105
			' -- '.__FILE__.' : '.__LINE__;
106
		$resultat = Cel::db()->requeter($requete);
106
		$resultat = Cel::db()->requeter($requete);
107
 
107
 
108
		if (count($resultat) > 0) {
108
		if (count($resultat) > 0) {
109
			$id_image = $resultat[0]['id_image'];
109
			$id_image = $resultat[0]['id_image'];
110
		}
110
		}
111
		return $id_image;
111
		return $id_image;
112
	}
112
	}
113
 
113
 
114
	private function construireRequeteInsertionImage($informations_image) {
114
	private function construireRequeteInsertionImage($informations_image) {
115
		$infos = array(
115
		$infos = array(
116
			'date_creation' => 'NOW()',
116
			'date_creation' => 'NOW()',
117
			'date_modification' => 'NULL');
117
			'date_modification' => 'NULL');
118
		foreach ($informations_image as $champ => $valeur) {
118
		foreach ($informations_image as $champ => $valeur) {
119
			$infos[$champ] = is_null($valeur) ? 'NULL' : Cel::db()->proteger($valeur);
119
			$infos[$champ] = is_null($valeur) ? 'NULL' : Cel::db()->proteger($valeur);
120
		}
120
		}
121
		$champs = implode(', ', array_keys($infos));
121
		$champs = implode(', ', array_keys($infos));
122
		$valeurs = implode(', ', array_values($infos));
122
		$valeurs = implode(', ', array_values($infos));
123
 
123
 
124
		$requete = "INSERT INTO cel_images ($champs) ".
124
		$requete = "INSERT INTO cel_images ($champs) ".
125
			"VALUES ($valeurs) ".
125
			"VALUES ($valeurs) ".
126
			' -- '.__FILE__.' : '.__LINE__;
126
			' -- '.__FILE__.' : '.__LINE__;
127
		return $requete;
127
		return $requete;
128
	}
128
	}
129
 
129
 
130
	/**
130
	/**
131
	 * Modifie les champs de metadonnées d'une image
131
	 * Modifie les champs de metadonnées d'une image
132
	 *
132
	 *
133
	 * @param array $id_utilisateur identifiant utilisateur
133
	 * @param array $id_utilisateur identifiant utilisateur
134
	 * @param array $id id de l'image
134
	 * @param array $id id de l'image
135
	 * @param array $parametres un taleau contenant des valeurs indexées par les noms de champs de la bdd
135
	 * @param array $parametres un taleau contenant des valeurs indexées par les noms de champs de la bdd
136
	 * @return boolean true ou false suivant le succès de l'opération
136
	 * @return boolean true ou false suivant le succès de l'opération
137
	*/
137
	*/
138
	public function modifierImage($id_utilisateur, $id_image, $parametres) {
138
	public function modifierImage($id_utilisateur, $id_image, $parametres) {
139
		$champs_a_mettre_a_jour = $this->construireRequeteMajMetaDonnees($parametres);
139
		$champs_a_mettre_a_jour = $this->construireRequeteMajMetaDonnees($parametres);
140
 
140
 
141
		$requete = "UPDATE cel_images SET $champs_a_mettre_a_jour ".
141
		$requete = "UPDATE cel_images SET $champs_a_mettre_a_jour ".
142
			' WHERE id_image = '.Cel::db()->proteger($id_image).
142
			' WHERE id_image = '.Cel::db()->proteger($id_image).
143
			' AND ce_utilisateur = '.Cel::db()->proteger($id_utilisateur).
143
			' AND ce_utilisateur = '.Cel::db()->proteger($id_utilisateur).
144
			' -- '.__FILE__.' : '.__LINE__;
144
			' -- '.__FILE__.' : '.__LINE__;
145
		$resultat = Cel::db()->executer($requete);
145
		$resultat = Cel::db()->executer($requete);
146
		return ($resultat !== false);
146
		return ($resultat !== false);
147
	}
147
	}
-
 
148
 
-
 
149
	public function modifierTransmissionParObs($idsObs, $publier) {
-
 
150
		$ids_obs_proteges = Cel::db()->proteger($idsObs);
-
 
151
		$idsObsConcat = is_array($ids_obs_proteges) ? implode(', ', $ids_obs_proteges) : $ids_obs_proteges;
-
 
152
		$etatTransmission = $publier ? 1 : 0;
-
 
153
		$dateTransmission = $publier ? 'NOW()' : 'NULL';
-
 
154
 
-
 
155
		$requete = "UPDATE cel_images ".
-
 
156
			"SET transmission = $etatTransmission, date_transmission = $dateTransmission ".
-
 
157
			"WHERE ce_observation IN ($idsObsConcat) ".
-
 
158
			' -- ' . __FILE__ . ':' . __LINE__;
-
 
159
		$resultat = Cel::db()->executer($requete);
-
 
160
		return $resultat;
-
 
161
	}
148
 
162
 
149
	/**
163
	/**
150
	 * Assemble la requete de mise à jour des champs de metadonnées
164
	 * Assemble la requete de mise à jour des champs de metadonnées
151
	 *
165
	 *
152
	 * @param array $valeurs_metadonnees un taleau contenant des valeurs indexées par les noms de champs de la bdd
166
	 * @param array $valeurs_metadonnees un taleau contenant des valeurs indexées par les noms de champs de la bdd
153
	 * @return string une sous chaine sql utilisable dans une requete de type UPPDATE table SET valeur1=champ1 ...
167
	 * @return string une sous chaine sql utilisable dans une requete de type UPPDATE table SET valeur1=champ1 ...
154
	*/
168
	*/
155
	private function construireRequeteMajMetaDonnees($valeurs_metadonnees) {
169
	private function construireRequeteMajMetaDonnees($valeurs_metadonnees) {
156
		$requete_maj_champs = '';
170
		$requete_maj_champs = '';
157
		$champs_a_ignorer = array('id_image');
171
		$champs_a_ignorer = array('id_image');
158
		foreach ($valeurs_metadonnees as $champ  => $valeur) {
172
		foreach ($valeurs_metadonnees as $champ  => $valeur) {
159
			if (!in_array($champ,$champs_a_ignorer)) {
173
			if (!in_array($champ,$champs_a_ignorer)) {
160
				if ($champ == 'date_prise_de_vue' && trim($valeur != '')) {
174
				if ($champ == 'date_prise_de_vue' && trim($valeur != '')) {
161
					$date_tab = explode('/', $valeur) ;
175
					$date_tab = explode('/', $valeur) ;
162
					$date = $date_tab[2].'-'.$date_tab[1].'-'.$date_tab[0] ;
176
					$date = $date_tab[2].'-'.$date_tab[1].'-'.$date_tab[0] ;
163
					$requete_maj_champs .= $champ.' = '.Cel::db()->proteger($date).' , ' ;
177
					$requete_maj_champs .= $champ.' = '.Cel::db()->proteger($date).' , ' ;
164
				} else {
178
				} else {
165
					$requete_maj_champs .= $champ.' = '.Cel::db()->proteger($valeur).' , ' ;
179
					$requete_maj_champs .= $champ.' = '.Cel::db()->proteger($valeur).' , ' ;
166
				}
180
				}
167
			}
181
			}
168
		}
182
		}
169
		$requete_maj_champs = rtrim($requete_maj_champs, ' , ') ;
183
		$requete_maj_champs = rtrim($requete_maj_champs, ' , ') ;
170
		return $requete_maj_champs;
184
		return $requete_maj_champs;
171
	}
185
	}
172
 
186
 
173
	public function supprimerImageParOrdre($id_utilisateur, $ordre_images) {
187
	public function supprimerImageParOrdre($id_utilisateur, $ordre_images) {
174
		if (is_array($ordre_images)) {
188
		if (is_array($ordre_images)) {
175
			$ordre_images = Cel::db()->proteger($ordre_images);
189
			$ordre_images = Cel::db()->proteger($ordre_images);
176
			$idsImagesP = implode(',', $ordre_images);
190
			$idsImagesP = implode(',', $ordre_images);
177
		} else {
191
		} else {
178
			$idsImagesP = Cel::db()->proteger($ordre_images);
192
			$idsImagesP = Cel::db()->proteger($ordre_images);
179
		}
193
		}
180
		$idUtilisateurP = Cel::db()->proteger($id_utilisateur);
194
		$idUtilisateurP = Cel::db()->proteger($id_utilisateur);
181
 
195
 
182
		$requete = 'SELECT id_image '.
196
		$requete = 'SELECT id_image '.
183
			'FROM cel_images '.
197
			'FROM cel_images '.
184
			"WHERE ce_utilisateur = $idUtilisateurP ".
198
			"WHERE ce_utilisateur = $idUtilisateurP ".
185
			"AND ordre IN ($idsImagesP) ".
199
			"AND ordre IN ($idsImagesP) ".
186
			' -- '.__FILE__.' : '.__LINE__;
200
			' -- '.__FILE__.' : '.__LINE__;
187
		$resultats = Cel::db()->requeter($requete);
201
		$resultats = Cel::db()->requeter($requete);
188
 
202
 
189
		$idsImages = array();
203
		$idsImages = array();
190
		foreach ($resultats as $id_image) {
204
		foreach ($resultats as $id_image) {
191
			$idsImages[] = $id_image['id_image'];
205
			$idsImages[] = $id_image['id_image'];
192
		}
206
		}
193
		return $this->supprimerImage($idsImages);
207
		return $this->supprimerImage($idsImages);
194
	}
208
	}
195
 
209
 
196
	public function supprimerImage($id_image_ou_tableau) {
210
	public function supprimerImage($id_image_ou_tableau) {
197
		$ids_images_non_protegees = array();
211
		$ids_images_non_protegees = array();
198
		if (is_array($id_image_ou_tableau)) {
212
		if (is_array($id_image_ou_tableau)) {
199
			$ids_images_non_protegees = $id_image_ou_tableau;
213
			$ids_images_non_protegees = $id_image_ou_tableau;
200
			$id_image_ou_tableau = Cel::db()->proteger($id_image_ou_tableau);
214
			$id_image_ou_tableau = Cel::db()->proteger($id_image_ou_tableau);
201
			$chaine_ids_images = implode(',', $id_image_ou_tableau);
215
			$chaine_ids_images = implode(',', $id_image_ou_tableau);
202
		} else {
216
		} else {
203
			$ids_images_non_protegees[] = $id_image_ou_tableau;
217
			$ids_images_non_protegees[] = $id_image_ou_tableau;
204
			$chaine_ids_images = Cel::db()->proteger($id_image_ou_tableau);
218
			$chaine_ids_images = Cel::db()->proteger($id_image_ou_tableau);
205
		}
219
		}
206
 
220
 
207
		$requete = 'DELETE FROM cel_images '.
221
		$requete = 'DELETE FROM cel_images '.
208
			"WHERE id_image in ($chaine_ids_images) ".
222
			"WHERE id_image in ($chaine_ids_images) ".
209
			' -- '.__FILE__.' : '.__LINE__;
223
			' -- '.__FILE__.' : '.__LINE__;
210
		$resultat_suppression_image = Cel::db()->executer($requete);
224
		$resultat_suppression_image = Cel::db()->executer($requete);
211
		if ($resultat_suppression_image === false) {
225
		if ($resultat_suppression_image === false) {
212
			$message = "Erreur lors de la suppression de l'image" ;
226
			$message = "Erreur lors de la suppression de l'image" ;
213
			$this->logger($message);
227
			$this->logger($message);
214
		}
228
		}
215
 
229
 
216
		$gestion_mots_cles = new GestionMotsClesChemin($this->config, 'images');
230
		$gestion_mots_cles = new GestionMotsClesChemin($this->config, 'images');
217
		$resultat_suppression_lien_images_mots_cles = $gestion_mots_cles->supprimerToutesLiaisonsPourIdsElementsLies($ids_images_non_protegees);
231
		$resultat_suppression_lien_images_mots_cles = $gestion_mots_cles->supprimerToutesLiaisonsPourIdsElementsLies($ids_images_non_protegees);
218
		if (!$resultat_suppression_lien_images_mots_cles === false) {
232
		if (!$resultat_suppression_lien_images_mots_cles === false) {
219
			$message =  "Erreur lors de la suppression des mots cles associés à l'image" ;
233
			$message =  "Erreur lors de la suppression des mots cles associés à l'image" ;
220
			$this->logger($message);
234
			$this->logger($message);
221
		}
235
		}
222
 
236
 
223
		$manipulateur_image = new ImageRecreation($this->config);
237
		$manipulateur_image = new ImageRecreation($this->config);
224
		$tableau_ids_image = explode(',', $chaine_ids_images);
238
		$tableau_ids_image = explode(',', $chaine_ids_images);
225
		foreach ($tableau_ids_image as $id_image_a_detruire) {
239
		foreach ($tableau_ids_image as $id_image_a_detruire) {
226
			$destruction_fichier_image = $manipulateur_image->detruireImageSurDisque($id_image_a_detruire);
240
			$destruction_fichier_image = $manipulateur_image->detruireImageSurDisque($id_image_a_detruire);
227
		}
241
		}
228
		return $destruction_fichier_image;
242
		return $destruction_fichier_image;
229
	}
243
	}
230
 
244
 
231
	/**
245
	/**
232
	* Fonction utilisée pour importer les anciennes images saisies dans les widget dans un compte identifié
246
	* Fonction utilisée pour importer les anciennes images saisies dans les widget dans un compte identifié
233
	* Dans ce cas là, le widget remplit la case id_utilisateur par le mail indiqué lors de la saisie
247
	* Dans ce cas là, le widget remplit la case id_utilisateur par le mail indiqué lors de la saisie
234
	* @param string $mail_utilisateur
248
	* @param string $mail_utilisateur
235
	* @param string $id_utilisateur
249
	* @param string $id_utilisateur
236
	*/
250
	*/
237
	public function migrerImagesMailVersId($mail_utilisateur, $infos_utilisateur) {
251
	public function migrerImagesMailVersId($mail_utilisateur, $infos_utilisateur) {
238
		// ATTENTION : cette fonction suppose que l'utilisateur n'ai pas déjà d'images dans le CEL
252
		// ATTENTION : cette fonction suppose que l'utilisateur n'ai pas déjà d'images dans le CEL
239
		// avec l'identifiant $id_utilisateur ce qui est normalement le cas
253
		// avec l'identifiant $id_utilisateur ce qui est normalement le cas
240
		$requete = 'UPDATE cel_images SET '.
254
		$requete = 'UPDATE cel_images SET '.
241
			'ce_utilisateur = '.Cel::db()->proteger($infos_utilisateur['id_utilisateur']).', '.
255
			'ce_utilisateur = '.Cel::db()->proteger($infos_utilisateur['id_utilisateur']).', '.
242
			'prenom_utilisateur = '.Cel::db()->proteger($infos_utilisateur['prenom']).', '.
256
			'prenom_utilisateur = '.Cel::db()->proteger($infos_utilisateur['prenom']).', '.
243
			'nom_utilisateur = '.Cel::db()->proteger($infos_utilisateur['nom']).', '.
257
			'nom_utilisateur = '.Cel::db()->proteger($infos_utilisateur['nom']).', '.
244
			'courriel_utilisateur = '.Cel::db()->proteger($infos_utilisateur['courriel']).' '.
258
			'courriel_utilisateur = '.Cel::db()->proteger($infos_utilisateur['courriel']).' '.
245
			'WHERE ce_utilisateur = '.Cel::db()->proteger($mail_utilisateur).' '.
259
			'WHERE ce_utilisateur = '.Cel::db()->proteger($mail_utilisateur).' '.
246
			' -- '.__FILE__.' : '.__LINE__;
260
			' -- '.__FILE__.' : '.__LINE__;
247
 
261
 
248
		$migration_releve = Cel::db()->executer($requete);
262
		$migration_releve = Cel::db()->executer($requete);
249
		return $migration_releve;
263
		return $migration_releve;
250
	}
264
	}
251
}
265
}