Subversion Repositories eFlore/Applications.cel

Compare Revisions

No changes between revisions

Ignore whitespace Rev 2704 → Rev 2705

/branches/v2.20-pistolet-arroseur/jrest/bibliotheque/ImageRecreation.php
174,6 → 174,8
public function stockerFichierOriginal($fichier, $id, $conserverFichiersTemporaires=false) {
$chemin_fichier_origine = is_array($fichier) ? $fichier['tmp_name'] : $fichier;
 
$tailleFichierOrigine = filesize($chemin_fichier_origine);
 
$chemin_base_fichier = $this->creerSiNecessaireEtRenvoyerCheminStockageFichierPourIdEtFormat($id, 'O');
$nom_fichier = $this->convertirIdBddVersNomFichier($id, 'O');
 
180,19 → 182,30
$chemin_fichier = $chemin_base_fichier.'/'.$nom_fichier;
 
$deplacement_fichier = $this->stockerImageExterne($chemin_fichier_origine, $chemin_fichier, $conserverFichiersTemporaires);
if ($tailleFichierOrigine == 0) {
$erreur = 'ERREUR : fichier image original [' . $chemin_fichier . '] de taille nulle (0) \n' ;
$this->logger('CEL_bugs',$erreur);
return false;
}
 
if ($deplacement_fichier) {
$infos_image_originale = $this->obtenirImageEtInfosPourChemin($chemin_fichier);
$taux_compression = $this->renvoyerTauxCompressionPourPoids($infos_image_originale['poids_octets']);
 
$ecritureOK = true;
if ($taux_compression < 100 && $this->mode == self::MODE_IMAGEMAGICK) {
$this->ecrireImageSurDisqueAvecMeta($chemin_fichier, $taux_compression);
$ecritureOK = $this->ecrireImageSurDisqueAvecMeta($chemin_fichier, $taux_compression);
}
 
return $infos_image_originale;
 
if ($ecritureOK) {
return $infos_image_originale;
} else {
$erreur = 'ERREUR : probleme durant la recompression du fichier image original \n' ;
$this->logger('CEL_bugs',$erreur);
return false ;
}
} else {
$erreur = 'ERROR : probleme durant le déplacement du fichier temporaire \n' ;
$erreur = 'ERREUR : probleme durant le déplacement du fichier temporaire \n' ;
$this->logger('CEL_bugs',$erreur);
return false ;
}
510,16 → 523,21
}
 
public function ecrireImageSurDisqueAvecMeta($chemin_image_a_stocker, $compression = 100) {
$img = new Imagick($chemin_image_a_stocker);
try {
$img = new Imagick($chemin_image_a_stocker);
 
// l'utilisation d'image magick préserve les métadonnées lors d'une recompression
$img->setformat('jpeg');
$img->setImageCompression(imagick::COMPRESSION_JPEG);
$img->setCompressionQuality($compression);
$img->writeImage($chemin_image_a_stocker);
$img->destroy();
 
chmod($chemin_image_a_stocker, $this->droits);
// l'utilisation d'image magick préserve les métadonnées lors d'une recompression
$img->setformat('jpeg');
$img->setImageCompression(imagick::COMPRESSION_JPEG);
$img->setCompressionQuality($compression);
$img->writeImage($chemin_image_a_stocker);
$img->destroy();
chmod($chemin_image_a_stocker, $this->droits);
return true;
} catch (ImagickException $e) {
return false;
}
}
 
public function renvoyerEtCreerImageCarreeBlancheSelonFormat($cote) {
/branches/v2.20-pistolet-arroseur/jrest
Property changes:
Modified: svn:mergeinfo
Merged /trunk/jrest:r2704
/branches/v2.20-pistolet-arroseur/.
Property changes:
Modified: svn:mergeinfo
Merged /trunk:r2704