[spip-dev] [Spip-zone-commit] r124365 - in _plugins_/prix

Impossible de faire de ticket maintenant sur GIT

Vu que le round plantait sur inc/prix il faut faire array_replace et non pas array_merge

Ligne 123

// Compatibilité avec l’ancienne signature
$options = array(
‘arrondi’ => $options,
‘serveur’ => $serveur,
);

// Options par défaut
$options_defaut = array(
‘arrondi’ => $arrondi_devise,
‘serveur’ => ‘’,
);
// On fusionne avec les défauts
$options = array_replace($options, $options_defaut);

Si, c'est reparti

Après des tests, ce n’est toujours pas bon.

Il semble que ce soit à l’enregistrement de spip_commandes_details qu’il traine un arrondi, puisque 19,50 x 3 retourne 57 :confused:

j’arrête les investigations, tant pis pour aujourd’hui …

Je ne reproduis pas, site de test en 3.2 avec aucun plugin à part Prix et Commandes à jour (et Saisies). J'ai créé une commande que j'ai remplis avec un détail à 19,50 l'unité et 3 en quantité, et le prix de la commande est bien de 58,50 HT

ça pourrait dépendre de la config du serveur vu qu’ailleurs et en local je ne reproduis pas

(et évidemment avant ça marchait partout)

très étrange

Résolu

Suite des mésaventures du round() qui arrondissait les emplettes lors de
la conversion panier -> commande

c'était une histoire de version PHP

attention donc, le plugin prix ne fonctionne pas en PHP 7.2 mais en PHP 7.1

Je ne sais pas si c'est la "bonne" résolution car : le test que je décrivais dans mon message précédent où je disais que je ne reproduisais pas c'est : en PHP 7.2. Donc si si, ça marche parfaitement en 7.2.

Possible que ce soit plutôt une question de quels modules PHP sont installés ou pas (intl etc). tcharlss avait fait un fallback, mais cela dit, c'était pour les devises, je vois pas immédiatement le rapport avec les arrondis :slight_smile:

Merci pour l'info, mais tu peux détailler, expliquer ce qui causait ce comportement inattendu ?