Suivre la configuration du reducteur
Testé en 3.0 (moi) et 2.1 (denisb), il est probable que ce soit le cas en 2.0 également et en 3.1 rien à bouger donc ça devrait être le cas également.
Lorsque l'on a l'option "Ne pas générer de miniatures des images" activée, la balise #LOGO_DOCUMENT persiste à renvoyer une miniature pour un document image qui n'a pas de vignettes (avec une vignette renseignée, elle s'affiche bien en plein format). La taille de la miniature se base sur la meta taille_preview qui est de 150px par défaut. Si l'on vide cette meta, on aura toujours une miniature réduite à 120px cette fois (hum). Je serai pas contre ce comportement si la documentation ne disait pas le contraire : http://www.spip.net/fr_article4340.html "Soit, seulement pour les documents-image et seulement si la « génération automatique des miniatures des images. » a été sélectionnée en configuration sur la page ecrire/?exec=config_fonctions, une réduction du document image ;"
Mais je crois que si l'on a cette option activée, il ne faut pas générer de miniature, ou alors si explicitement demandé ? (pour #LOGO_DOCUMENT{apercu})
On passe systématiquement par image_reduire() et je pense qu'il faudrait ajouter un test sur la meta creer_preview. Pour un document image sans vignette on se retrouve ici : http://zone.spip.org/trac/spip-zone/browser/core/plugins/medias/inc/documents.php#L105
J'ai essayé d'ajouter un test pour retourner directement l'image depuis IMG à cette endroit mais je ne suis pas du tout sûr que ce soit là qu'il faille patcher (#LOGO_DOCUMENT renvoit bien l'image en taille réelle, mais #LOGO_DOCUMENT{apercu} également, je ne crois pas que c'est ce que l'on veut ? Quelqu'un sait ce que l'on veut ? L'autre solution est de ne rien toucher pour ne rien casser, mais ce n'est quand même pas très clair et il faudrait modifier la doc et les explications du formulaire configurer_reducteur.
if ($img = image_du_document($doc)) { if ($GLOBALS['meta']['creer_preview']=='oui') { if (!$x AND !$y) // eviter une double reduction $img = image_reduire($img); } else { $size = `getimagesize($img); $img = ""; } }