No Branch/Tag Specified
issue_3432
issue_5690
4.2
master
new_cache
4.1
new_path
cut_boostrap
admin_plugin_affiche_milieu
issue_4845_next
debug_ecrire_fichier
refactor_idiomes
issue_5095
issue_5667
move-images-to-plugin-images
dev/issue_5560_dispositions_prive
4.0
3.2
dev/issue_4626_menu_squelettes
fix_issue_5454
issue_5427_bis
coquille_doc
issue_5344
dev/hasard_fixe
issue_4836
fix_modifier_login
dev/instituer_ergo
dev_infos_image
fix/valider_url_distante
issue_4946
3.1
boutons-danger
issue_4717
dev-sortable
issue_4705
dev/autoloader
issue_4678
issue_4101
3.0
2.1
2.0
1.9.2
1.9.1
1.8
v4.2.5
v4.1.12
v4.1.11
v4.2.4
v4.2.3
v4.2.2
v4.1.9
v4.0.11
v3.2.19
v4.2.1
v4.1.8
v4.0.10
v3.2.18
v4.2.0
v4.2.0-alpha2
v4.2.0-alpha
v4.1.7
v4.1.6
v4.0.9
v3.2.17
v4.1.5
v4.1.4
v3.2.16
v4.0.8
v4.1.3
v3.2.15
v4.0.7
v4.1.2
v4.0.6
v4.1.1
v4.1.0
v4.1.0-rc
v4.0.5
v3.2.14
v4.1.0-beta
v4.1.0-alpha
v3.2.13
v4.0.4
v4.0.3
v4.0.2
v3.2.12
v4.0.1
v4.0.0
v4.0.0-beta
v4.0.0-alpha
v3.2.11
v3.2.10
v3.1.15
v3.2.9
v3.1.14
v3.1.13
v3.2.8
v4.1.10
v3.2.7
v3.2.6
v3.2.5
v3.2.4
v3.2.3
v3.2.2
v3.2.1
v3.2.0-beta.3
v3.2.0-beta.2
v3.2.0-beta
v3.2.0-alpha.1
v3.2.0
v3.2-alpha.1
v3.1.9
v3.1.8
v3.1.7
v3.1.6
v3.1.5
v3.1.4
v3.1.3
v3.1.2
v3.1.12
v3.1.11
v3.1.10
v3.1.1
v3.1.0-rc.3
v3.1.0-rc.2
v3.1.0-rc
v3.1.0-beta
v3.1.0-alpha
v3.1.0
v3.0.9
v3.0.8
v3.0.7
v3.0.6
v3.0.5
v3.0.4
v3.0.3
v3.0.28
v3.0.27
v3.0.26
v3.0.25
v3.0.24
v3.0.23
v3.0.22
v3.0.21
v3.0.20
v3.0.2
v3.0.19
v3.0.18
v3.0.17
v3.0.16
v3.0.15
v3.0.14
v3.0.13
v3.0.12
v3.0.11
v3.0.10
v3.0.1
v3.0.0-rc
v3.0.0-beta.2
v3.0.0-beta
v3.0.0-alpha.1
v3.0.0
v2.1.9
v2.1.8
v2.1.7
v2.1.6
v2.1.5
v2.1.4
v2.1.30
v2.1.3
v2.1.29
v2.1.28
v2.1.27
v2.1.26
v2.1.25
v2.1.24
v2.1.23
v2.1.22
v2.1.21
v2.1.20
v2.1.2
v2.1.19
v2.1.18
v2.1.17
v2.1.16
v2.1.15
v2.1.14
v2.1.13
v2.1.12
v2.1.11
v2.1.10
v2.1.1
v2.1.0
v2.0.9
v2.0.8
v2.0.7
v2.0.6
v2.0.5
v2.0.3
v2.0.26
v2.0.25
v2.0.24
v2.0.23
v2.0.22
v2.0.21
v2.0.20
v2.0.2
v2.0.19
v2.0.18
v2.0.17
v2.0.16
v2.0.15
v2.0.14
v2.0.13
v2.0.12
v2.0.11
v2.0.10
v2.0.1
v2.0.0
v1.9.2+p
v1.9.2+o
v1.9.2+n
v1.9.2+m
v1.9.2+k
v1.9.2+j
v1.9.2+i
v1.9.2+h
v1.9.2+g
v1.9.2+f
v1.9.1+i
v1.8.3+b
Labels
Clear labels
Amélioration, nouvelle fonctionnalité
Ca ne fonctionne pas
Ce ticket est un doublon
En cours de traitement par le bureau
Ticket invalide
Ignoré, c'est comme Ca...
Apply labels
accessibilité
amélioration
Amélioration, nouvelle fonctionnalité
APIs
authentification
base de données
bug
Ca ne fonctionne pas
code généré
compilo
css
divers
documentation
doublon
Ce ticket est un doublon
En cours
En cours de traitement par le bureau
ergonomie
espace privé
filtres et balises
formulaires
Inscription
installation
invalide
Ticket invalide
javascript
langues
LDAP
plugin
PostgreSQL
refusé
Ignoré, c'est comme Ca...
sécurité
traduction
à confirmer
No Label
accessibilité
amélioration
APIs
authentification
base de données
bug
code généré
compilo
css
divers
documentation
doublon
En cours
ergonomie
espace privé
filtres et balises
formulaires
Inscription
installation
invalide
javascript
langues
LDAP
plugin
PostgreSQL
refusé
sécurité
traduction
à confirmer
Milestone
Set milestone
Clear milestone
No items
No Milestone
Projects
Set Project
Clear projects
No project
Assignees
Assign users
Clear assignees
No Assignees
1 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.
No due date set.
Dependencies
No dependencies set.
Reference: spip/spip#5723
Reference in New Issue
There is no content yet.
Delete Branch '%!s(<nil>)'
Deleting a branch is permanent. It CANNOT be undone. Continue?
No
Yes
Suite du ticket #5699 toujours sur la même fonction.
Dans ce dernier ticket, il apparaissait que la fonction était cassée pour les infos d'images depuis environ 2 ans.
Mais 8 mois avant, il me semble qu'il y a eu une autre cassure ici :
d391613169
En effet, cette modif utilise la fonction
_image_trouver_extension_depuis_mime()
qui uniformise tous les MIME reconnus pour les JPG, avec l'extension ".jpeg" ! (avec un E) et ça l'utilise pour comparer avecformats_image_acceptables()
.Sauf que ça ne fait pas juste ça, ensuite ça utilise cette extension dans les infos officielles de l'image avec
$a['extension'] = $extension;
.Alors que partout dans SPIP, pour les spip_documents, SPIP fait en sorte d'uniformiser tous les JPG avec l'extension… ".jpg" ! Ce qui est l'extension associée dans spip_types_documents.
À cause de ça, dans certains cas, on se retrouve alors avec un spip_documents de type "jpeg", càd d'un type qui n'est PAS reconnu par spip_types_documents. Et donc ensuite plusieurs endroits où c'est pas affiché, où ça bugue etc.
Depuis les modifs 8 mois après qui ajoutent
distant_trouver_extension_selon_headers()
, on ne devrait pas/plus appeler_image_trouver_extension_depuis_mime()
. En effet, à cet endroit du code, si on entre dansstrpos($mime_type, 'image/') === 0
c'est alors obligatoirement qu'on a$mime_type
rempli, et donc qu'on est rentré dans leif ($headers) {
, et donc qu'on a déjà un$extension = distant_trouver_extension_selon_headers($source, $headers)
rempli et non false. Donc il faut l'utiliser tel quel.Et/ou autre solution :
_image_trouver_extension_depuis_mime()
est censée absolument renvoyer "jpg" et non "jpeg" pour l'ensemble des MIME JPG, car c'est cette extension là qui est la référence dans SPIP. "jpg" passera aussi le test de `formats_image_acceptables()" donc il n'y a aucun problème à ce changement.Test : ne faire QUE remplacer
$terminaison = 'jpeg';
par$terminaison = 'jpg';
dans la fonction_image_trouver_extension_depuis_mime
corrige bien le problème des images mal renseignées, qui finissent à cause de ça avec extension=jpeg dans spip_documents. Avec ce changement ça remarche tout bien pour ça.MAIS
En contrepartie, ça pète totalement plein de choses dans les fonctions de transformation d'image, et même les simples tests GD2, Convert etc sur la page "Fonctions avancées" ne marchent plus !
Ce qui est en théorie n'importe quoi, puisque l'extension ".jpg" est parfaitement correcte aussi pour travailler sur ces images… Mais le fait est que ce changement pète plein de chose. Donc on peut pas se contenter de ça…