spip-zone-commit@rezo.net a écrit le 08/10/2017 à 16:29 :
Author: real3t@gmail.com
Date: 2017-10-08 16:29:39 +0200 (Sun, 08 Oct 2017)
New Revision: 106552Modified:
_core_/branches/spip-3.2/plugins/medias/medias_fonctions.php
_core_/branches/spip-3.2/plugins/medias/paquet.xml
Log:
r85603 s'inspirait de Is there an easy way in PHP to convert from strings like '256M', '180K', '4G' to their integer equivalents? - Stack Overflow
Mais ce code contenait une erreur : même valeur pour G M et K
La version plus courte en dessous corrige d'ailleurs en utilisant des puissances.Répare par exemple l'upload de document via les crayons.
Details: Connexion · GitLab
En fait, c'est les break introduits par Connexion · GitLab qui étaient responsables.
La doc de switch/case indique en effet : PHP: switch - Manual
Il est important de comprendre que l'instruction switch exécute chacune des clauses dans l'ordre. L'instruction switch est exécutée ligne par ligne. Au début, aucun code n'est exécuté. Seulement lorsqu'un case est vérifié, PHP exécute alors les instructions correspondantes. PHP continue d'exécuter les instructions jusqu'à la fin du bloc d'instructions du switch, ou bien dès qu'il trouve l'instruction break. Si vous ne pouvez pas utiliser l'instruction break à la fin de l'instruction case, PHP continuera à exécuter toutes les instructions qui suivent.
Donc, le commit initial étaient bon, stackoverflow aussi.
Merci Marcimat sur IRC de ta vigilance et pédagogie.
--
RealET