Subversion Repositories eFlore/Applications.cel

Rev

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

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