Subversion Repositories eFlore/Applications.cel

Rev

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

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