diff --git a/htdocs/core/class/html.formfile.class.php b/htdocs/core/class/html.formfile.class.php
index 1226d3b35ba8296689be2267bc92488d200d35d5..8c704aba52d7838901b94128437693b7684c7546 100644
--- a/htdocs/core/class/html.formfile.class.php
+++ b/htdocs/core/class/html.formfile.class.php
@@ -859,11 +859,15 @@ class FormFile
{
$fileinfo = pathinfo($file['name']);
print '<td align="center">';
- $minifile=$fileinfo['filename'].'_mini.'.strtolower($fileinfo['extension']); // Thumbs are created with filename in lower case
if (image_format_supported($file['name']) > 0)
{
- print '<a href="'.DOL_URL_ROOT.'/viewimage.php?modulepart='.$modulepart.'&file='.urlencode($relativepath.$fileinfo['filename'].'.'.strtolower($fileinfo['extension'])).'" class="aphoto" target="_blank">';
- print '<img border="0" height="'.$maxheightmini.'" src="'.DOL_URL_ROOT.'/viewimage.php?modulepart='.$modulepart.'&file='.urlencode($relativepath.'thumbs/'.$minifile).'" title="">';
+ $minifile=getImageFileNameForSize($file['name'], '_mini', '.png'); // Thumbs are created with filename in lower case and with .png extension
+ //print $relativepath.'<br>';
+ //print $file['path'].'/'.$minifile.'<br>';
+ if (! dol_is_file($file['path'].'/'.$minifile)) $minifile=getImageFileNameForSize($file['name'], '_mini', '.'.$fileinfo['extension']); // For old thumbs
+ //print $file['path'].'/'.$minifile.'<br>';
+ print '<a href="'.DOL_URL_ROOT.'/viewimage.php?modulepart='.$modulepart.'&file='.urlencode($relativepath.$fileinfo['filename'].'.'.strtolower($fileinfo['extension'])).'" class="aphoto" target="_blank">';
+ print '<img border="0" height="'.$maxheightmini.'" src="'.DOL_URL_ROOT.'/viewimage.php?modulepart='.$modulepart.'&file='.urlencode($relativepath.$minifile).'" title="">';
print '</a>';
}
else print ' ';
diff --git a/htdocs/core/lib/files.lib.php b/htdocs/core/lib/files.lib.php
index a1bdf274995ee8837a81133501c42529db69da21..4b1d3f3e4915625d31928829deb290a561b8b7ad 100644
--- a/htdocs/core/lib/files.lib.php
+++ b/htdocs/core/lib/files.lib.php
@@ -1451,6 +1451,12 @@ function dol_add_file_process($upload_dir, $allowoverwrite=0, $donotupdatesessio
$destfile=preg_replace('/__file__/',$_FILES[$varfiles]['name'],$savingdocmask);
}
+ // lowercase extension
+ $info = pathinfo($destpath);
+ $destpath = $info['dirname'].'/'.$info['filename'].'.'.strtolower($info['extension']);
+ $info = pathinfo($destfile);
+ $destfile = $info['filename'].'.'.strtolower($info['extension']);
+
$resupload = dol_move_uploaded_file($_FILES[$varfiles]['tmp_name'], $destpath, $allowoverwrite, 0, $_FILES[$varfiles]['error'], 0, $varfiles);
if (is_numeric($resupload) && $resupload > 0)
{
diff --git a/htdocs/core/lib/images.lib.php b/htdocs/core/lib/images.lib.php
index 2fe9065b21c08bf1cd27a426d20f8dc02b3b8a5b..669da7b751bec355c55b7f38a99f296c3fcefc9c 100644
--- a/htdocs/core/lib/images.lib.php
+++ b/htdocs/core/lib/images.lib.php
@@ -473,6 +473,7 @@ function vignette($file, $maxWidth = 160, $maxHeight = 120, $extName='_small', $
}
// Initialisation des variables selon l'extension de l'image
+ // $targetformat is 0 by default, in such case, we keep original extension
switch($targetformat)
{
case IMAGETYPE_GIF: // 1