Renvoyer une erreur lorsque 'image_reduire_net()' échoue
Bonjour,
Lorsque la fonction image_reduire_net()
échoue, la fonction appelante retour_image_responsive()
ne détecte pas l'erreur :
- dans la suite de la fonction, les appels à
filesize()
(ligne 301),filemtime()
(ligne 303) etreadfile()
(ligne 304) vont alors échouer et produire des avertissements PHP, - et une image vide sera renvoyée, avec le statut HTTP « 204 No Content ».
Cela peut arriver si la meta formats_graphiques
est vide, par exemple, auquel cas il n'y a même pas de trace de l'erreur dans les logs de SPIP (voir ligne 61 : l'erreur est silencieuse).
Cette PR propose de détecter dans retour_image_responsive()
le cas où l'appel à image_reduire_net()
échoue, et de renvoyer alors une erreur HTTP « 500 Internal Server Error » (de manière à garder un comportement similaire à celui des premières vérifications faites par retour_image_responsive()
, ligne 224).
Cette PR rajoute aussi un message dans les logs de SPIP lorsque le document passé à image_reduire_net()
n'est pas une image, afin de simplifier le débogage.
Merci !
++ Glop