diff --git a/ecrire/inc/distant.php b/ecrire/inc/distant.php index 2862dcecb2986d41aac79db9eeb1886a48fcbab3..d78bd4a4470996eb30c9e8961061454715de7065 100644 --- a/ecrire/inc/distant.php +++ b/ecrire/inc/distant.php @@ -1180,16 +1180,19 @@ function recuperer_infos_distantes($source, $max = 0, $charger_si_petite_image = // S'il s'agit d'une image pas trop grosse ou d'un fichier html, on va aller // recharger le document en GET et recuperer des donnees supplementaires... - if (preg_match(',^image/(jpeg|gif|png|swf|svg),', $mime_type)) { + include_spip('inc/filtres_images_lib_mini'); + if (strpos($mime_type, "image/") === 0 + and $extension = _image_trouver_extension_depuis_mime($mime_type)) { if ($max == 0 and (empty($a['taille']) or $a['taille'] < _INC_DISTANT_MAX_SIZE) - and in_array($a['extension'], formats_image_acceptables()) + and in_array($extension, formats_image_acceptables()) and $charger_si_petite_image ) { $a = recuperer_infos_distantes($source, _INC_DISTANT_MAX_SIZE); } else { if ($a['body']) { - $a['fichier'] = _DIR_RACINE . nom_fichier_copie_locale($source, $a['extension']); + $a['extension'] = $extension; + $a['fichier'] = _DIR_RACINE . nom_fichier_copie_locale($source, $extension); ecrire_fichier($a['fichier'], $a['body']); $size_image = @spip_getimagesize($a['fichier']); $a['largeur'] = intval($size_image[0]); @@ -1201,6 +1204,7 @@ function recuperer_infos_distantes($source, $max = 0, $charger_si_petite_image = // Fichier swf, si on n'a pas la taille, on va mettre 425x350 par defaut // ce sera mieux que 0x0 + // Flash is dead! if ($a and isset($a['extension']) and $a['extension'] == 'swf' and empty($a['largeur']) ) {