Bonjour,
Je rencontre un bug assez gênant avec le plugin formidable sur plusieurs sites SPIP hébergés sur le même serveur.
Le bug se manifeste pendant l’édition d’un formulaire Formidable dans le backoffice. Lors de l’enregistrement d’une action d’édition (par exemple le renommage d’un champ, l’ajout d’un champ), de manière aléatoire, mais assez fréquemment, la dernière ou l’avant dernière action est annulée. Par exemple, si je crée un premier champ, puis je crée un second champ, puis je souhaite renommer le premier champ, au moment de cliquer sur l’icone pour éditer le premier champ, le second champ va disparaitre du formulaire. Si je recharge la page avec le paramètre &var_mode=recalcul, cette dernière action (le second champ dans l’exemple) réapparait.
J’ai pu reproduire ce bug sur plusieurs sites SPIP hébergés sur un même serveur avec le cache du navigateur désactivé (via la console de debug ouverte sur Google Chrome) et le cache de SPIP désactivé. La version de SPIP est la 3.1.6, le plugin Formidable 3.5.0 et le plugin Saisies 2.18.18
J’ai activé l’affichage des notices PHP, et pour 3 occurences différentes du bug, voilà le résultat que j’obtiens:
Bug Formidable 1: Création d’un nouveau formulaire, ajout de deux champs texte, puis édition du premier champ, le deuxième champ disaparait :
Warning: array_pop() expects parameter 1 to be array, null given in /var/www/vhosts/ambafrance.org/testch.ambafrance.org/plugins-dist/saisies/inc/saisies_manipuler.php on line 193
Warning: Invalid argument supplied for foreach() in /var/www/vhosts/ambafrance.org/testch.ambafrance.org/plugins-dist/saisies/inc/saisies_manipuler.php on line 195
Bug Formidable 2 (cache navigateur + cache spip désactivés): Sur un formulaire vierge, lors d’un clic pour ajouter un champ (case à cocher"), rien ne s’est ajouté, et le warning PHP suivant s’affiche :
Warning: array_splice() expects parameter 1 to be array, null given in /var/www/vhosts/ambafrance.org/testch.ambafrance.org/plugins-dist/saisies/inc/saisies_manipuler.php on line 86
Bug Formidable 3 (cache navigateur + cache spip désactivés) : Sur un formulaire existant avec 5 champs, suppression de 4 champs OK, puis création d’un nouveau champ KO, au lieu d’afficher l’ancien champ restant et le nouveau champ, il me réaffiche les 5 anciens champs et génère 2 warnings et 2 notices PHP suivantes:
Warning: array_pop() expects parameter 1 to be array, null given in /var/www/vhosts/ambafrance.org/testch.ambafrance.org/plugins-dist/saisies/inc/saisies_manipuler.php on line 195
Warning: Invalid argument supplied for foreach() in /var/www/vhosts/ambafrance.org/testch.ambafrance.org/plugins-dist/saisies/inc/saisies_manipuler.php on line 197
Notice: Undefined index: in /var/www/vhosts/ambafrance.org/testch.ambafrance.org/plugins-dist/saisies/inc/saisies_manipuler.php on line 202
Notice: Undefined index: in /var/www/vhosts/ambafrance.org/testch.ambafrance.org/plugins-dist/saisies/inc/saisies_manipuler.php on line 205
Toute suggestion est la bienvenue !
-Frédéric