Subversion Repositories eFlore/Applications.cel

Rev

Rev 2355 | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 2355 Rev 2386
Line 145... Line 145...
145
			}
145
			}
146
		}
146
		}
Line 147... Line 147...
147
 
147
 
148
		return $image_redimensionnee;
148
		return $image_redimensionnee;
149
	}
149
	}
-
 
150
 
-
 
151
	/**
-
 
152
	 * Déplace une image temporaire uploadée vers le répertoire de stockage d'images,
-
 
153
	 * en enregistrant les métadonnées et tout le tintouin.
-
 
154
	 * Si $conserverFichiersTemporaires vaut true, l'image est copiée et non déplacée.
-
 
155
	 * 
-
 
156
	 * @param unknown $fichier
-
 
157
	 * @param unknown $id
-
 
158
	 * @param unknown $conserverFichiersTemporaires
-
 
159
	 * @return Ambigous <multitype:, boolean>|boolean
150
	
160
	 */
151
	public function stockerFichierOriginal($fichier, $id) {
161
	public function stockerFichierOriginal($fichier, $id, $conserverFichiersTemporaires=false) {
Line 152... Line 162...
152
		$chemin_fichier_origine = is_array($fichier) ? $fichier['tmp_name'] : $fichier;
162
		$chemin_fichier_origine = is_array($fichier) ? $fichier['tmp_name'] : $fichier;
153
		
163
		
Line 154... Line 164...
154
		$chemin_base_fichier = $this->creerSiNecessaireEtRenvoyerCheminStockageFichierPourIdEtFormat($id, 'O');
164
		$chemin_base_fichier = $this->creerSiNecessaireEtRenvoyerCheminStockageFichierPourIdEtFormat($id, 'O');
Line 155... Line 165...
155
		$nom_fichier = $this->convertirIdBddVersNomFichier($id, 'O');
165
		$nom_fichier = $this->convertirIdBddVersNomFichier($id, 'O');
Line 156... Line 166...
156
		
166
		
157
		$chemin_fichier = $chemin_base_fichier.'/'.$nom_fichier;
167
		$chemin_fichier = $chemin_base_fichier.'/'.$nom_fichier;
158
		
168
		
Line 308... Line 318...
308
		);
318
		);
Line 309... Line 319...
309
 
319
 
310
		return $image_redimensionnee;
320
		return $image_redimensionnee;
Line -... Line 321...
-
 
321
	}
-
 
322
 
-
 
323
	/**
-
 
324
	 * Déplace un fichier temporaire vers une destination donnée. Si
-
 
325
	 * $conserverFichiersTemporaires vaut true, le fichier est copié et non déplacé.
-
 
326
	 * 
-
 
327
	 * @param unknown $chemin_fichier_temp
-
 
328
	 * @param unknown $chemin_destination
-
 
329
	 * @param string $conserverFichiersTemporaires
311
	}
330
	 * @return boolean
312
 
331
	 */
-
 
332
	public function stockerImageExterne($chemin_fichier_temp, $chemin_destination, $conserverFichiersTemporaires=false) {
313
	public function stockerImageExterne($chemin_fichier_temp, $chemin_destination) {
333
		if ($conserverFichiersTemporaires === true) {
314
		if (is_uploaded_file($chemin_fichier_temp)) {
334
			// copie du fichier
-
 
335
			$deplacement = copy($chemin_fichier_temp, $chemin_destination);
-
 
336
		} else {
-
 
337
			if (is_uploaded_file($chemin_fichier_temp)) {
315
			$deplacement = move_uploaded_file($chemin_fichier_temp, $chemin_destination);
338
				$deplacement = move_uploaded_file($chemin_fichier_temp, $chemin_destination);
-
 
339
			} else {
316
		} else {
340
				$deplacement = rename($chemin_fichier_temp, $chemin_destination);
Line 317... Line 341...
317
			$deplacement = rename($chemin_fichier_temp, $chemin_destination);
341
			}
318
		}
342
		}
Line 498... Line 522...
498
 
522
 
499
	public function detruireImageEnMemoire($image) {
523
	public function detruireImageEnMemoire($image) {
500
		imagedestroy($image);
524
		imagedestroy($image);
Line -... Line 525...
-
 
525
	}
-
 
526
 
-
 
527
	/**
-
 
528
	 * Supprime une image du disque, ainsi que tous les formats générés
-
 
529
	 * 
-
 
530
	 * @param Integer $id
501
	}
531
	 * @return boolean true si tous les formats y compris l'original ont été détruits, false s'il en reste au moins un
502
 
532
	 */
503
	public function detruireImageSurDisque($id) {
-
 
504
		$formats = $this->getFormats();
533
	public function detruireImageSurDisque($id) {
505
 
534
		$formats = $this->getFormats();
Line 506... Line 535...
506
		// on detruit aussi l'image originale
535
		// on detruit aussi l'image originale
507
		$formats[] = 'O';
-
 
508
 
536
		$formats[] = 'O';
509
		$destruction_formats_fichier = false;
537
 
510
 
-
 
511
		// destructions de chacuns des formats définis
538
		$destruction_formats_fichier = true;
512
		foreach($formats as $format) {
539
		// destructions de chacun des formats définis
Line 513... Line 540...
513
 
540
		foreach($formats as $format) {
514
			$dossier_format = $this->obtenirDossierPourFormat($id, $format);
541
			$dossier_format = $this->obtenirDossierPourFormat($id, $format);
515
			$nom_fichier = $this->convertirIdBddVersNomFichier($id, $format);
-
 
516
 
542
			$nom_fichier = $this->convertirIdBddVersNomFichier($id, $format);
517
			if (file_exists($dossier_format.'/'.$nom_fichier)) {
543
 
518
				$destruction_formats_fichier = unlink($dossier_format.'/'.$nom_fichier);
544
			if (file_exists($dossier_format.'/'.$nom_fichier)) {
Line 519... Line 545...
519
			} else {
545
				$detruit = unlink($dossier_format.'/'.$nom_fichier);
520
				$destruction_formats_fichier = true;
546
				$destruction_formats_fichier = ($destruction_formats_fichier && $detruit);