Fix: déplacement de la vérification du type d'image

This commit is contained in:
Regis Houssin 2007-07-30 12:37:06 +00:00
parent 2811b8632f
commit 5c76af21b2
3 changed files with 18 additions and 10 deletions

View File

@ -2955,6 +2955,11 @@ function vignette($file, $maxWidth = 160, $maxHeight = 120){
// Si le fichier passé en paramètre n'existe pas // Si le fichier passé en paramètre n'existe pas
return 'Le fichier '.$file.' n\'a pas été trouvé sur le serveur.'; return 'Le fichier '.$file.' n\'a pas été trouvé sur le serveur.';
} }
elseif(!eregi('(\.jpg|\.png)$',$files['name']))
{
// Todo: Ajouter création vignette pour les autres formats d'images
return 'Le fichier '.$file.' n\'ai pas géré pour le moment.';
}
elseif(empty($file)){ elseif(empty($file)){
// Si le fichier n'a pas été indiqué // Si le fichier n'a pas été indiqué
return 'Nom du fichier non renseigné.'; return 'Nom du fichier non renseigné.';
@ -2983,6 +2988,7 @@ function vignette($file, $maxWidth = 160, $maxHeight = 120){
create_exdir($dirthumb); create_exdir($dirthumb);
} }
// Initialisation des variables selon l'extension de l'image // Initialisation des variables selon l'extension de l'image
switch($infoImg[2]){ switch($infoImg[2]){
case 2: case 2:

View File

@ -2123,11 +2123,11 @@ class Product
/** /**
* \brief Déplace fichier uploadé sous le nom $files dans le répertoire sdir * \brief Déplace fichier uploadé sous le nom $files dans le répertoire sdir
* \param sdir Répertoire destination finale * \param sdir Répertoire destination finale
* \param $files Nom du fichier uploadé * \param $file Nom du fichier uploadé
* \param maxWidth Largeur maximum que dois faire la miniature (160 par défaut) * \param maxWidth Largeur maximum que dois faire la miniature (160 par défaut)
* \param maxHeight Hauteur maximum que dois faire la miniature (120 par défaut) * \param maxHeight Hauteur maximum que dois faire la miniature (120 par défaut)
*/ */
function add_photo($sdir, $files, $maxWidth = 160, $maxHeight = 120) function add_photo($sdir, $file, $maxWidth = 160, $maxHeight = 120)
{ {
$dir = $sdir .'/'. get_exdir($this->id,2) . $this->id ."/"; $dir = $sdir .'/'. get_exdir($this->id,2) . $this->id ."/";
$dir .= "photos/"; $dir .= "photos/";
@ -2140,13 +2140,12 @@ class Product
if (file_exists($dir)) if (file_exists($dir))
{ {
$originImage = $dir . $files['name']; $originImage = $dir . $file['name'];
// Crée fichier en taille origine // Crée fichier en taille origine
doliMoveFileUpload($files['tmp_name'], $originImage); doliMoveFileUpload($file['tmp_name'], $originImage);
// Todo: Ajouter création vignette pour les autres formats d'images if (file_exists($originImage))
if (file_exists($originImage) && eregi('(\.jpg|\.png)$',$files['name']))
{ {
// Crée fichier en taille vignette // Crée fichier en taille vignette
$this->add_thumb($originImage,$maxWidth,$maxHeight); $this->add_thumb($originImage,$maxWidth,$maxHeight);
@ -2157,13 +2156,16 @@ class Product
/** /**
* \brief Génère la vignette * \brief Génère la vignette
* \param sdir Répertoire destination finale * \param sdir Répertoire destination finale
* \param file Nom du fichier d'origine * \param file Chemin du fichier d'origine
* \param maxWidth Largeur maximum que dois faire la miniature (160 par défaut) * \param maxWidth Largeur maximum que dois faire la miniature (160 par défaut)
* \param maxHeight Hauteur maximum que dois faire la miniature (120 par défaut) * \param maxHeight Hauteur maximum que dois faire la miniature (120 par défaut)
*/ */
function add_thumb($file, $maxWidth = 160, $maxHeight = 120) function add_thumb($file, $maxWidth = 160, $maxHeight = 120)
{ {
vignette($file,$maxWidth,$maxHeight); if (file_exists($file))
{
vignette($file,$maxWidth,$maxHeight);
}
} }
/** /**

View File

@ -203,7 +203,7 @@ if ($_GET["id"] || $_GET["ref"])
print '<br>'.$langs->trans("File").': '.dolibarr_trunc($viewfilename,16); print '<br>'.$langs->trans("File").': '.dolibarr_trunc($viewfilename,16);
print '<br>'; print '<br>';
// On propose la génération de la vignette si elle n'existe pas // On propose la génération de la vignette si elle n'existe pas
if (!$obj['photo_vignette']) if (!$obj['photo_vignette'] && eregi('(\.jpg|\.png)$',$obj['photo']))
{ {
print '<a href="'.$_SERVER["PHP_SELF"].'?id='.$_GET["id"].'&amp;action=addthumb&amp;file='.urlencode($pdir.$viewfilename).'">'.img_refresh($langs->trans('RegenerateThumb')).'&nbsp;&nbsp;</a>'; print '<a href="'.$_SERVER["PHP_SELF"].'?id='.$_GET["id"].'&amp;action=addthumb&amp;file='.urlencode($pdir.$viewfilename).'">'.img_refresh($langs->trans('RegenerateThumb')).'&nbsp;&nbsp;</a>';
} }