spip-contrib-extensions/inscription
Par Maïeul Rouquette, le 27 juillet 2021 à 13h21min :
Le commit de saisies
avait cassé le formulaire de configuration.
Attention c’est un peu technique.
-
On faisait un appel à une saisie radio via #SAISIE
-
Le data de la saisie était passé sous forme textuelle (avec le pipe,
comme lorsqu’on configure via un constructeur) et pas sous forme de
tableau (#ARRAY) comme cela serait le plus logique. -
Or, le commit que je pointe avait déporté l’appel à
|saisies_chaine2tableaudans le code de #GENERER_SAISIES et plus dans
chaque saisie individuelle pour des raisons de perf, en supposant que
lorsqu’on faisait un appel direct à #SAISIE, on fournissait toujours des
data sous forme tabulaire et pas sous forme de chaine→ L’idée est je pense fondamentalement juste
→ Il vaut mieux adapter les quelques plugins qui fournissent les
data sous forme non tabulaire (en l’occurence ici inscription3)
Mais pour l’adaptation ici c’est complexe, car créer dynamiquement un
squelette un tableau dont les clés sont numériques est complexe. Cf la
remarque sur |array_merge ici :
#ARRAY - SPIP. Or on ne peut utiliser la
technique du array_flip dans le cas d’espèce, car rien n’empêche 2
auteurs d’avoir le même pseudo.
=> La solution consiste donc à continuer à préparer les data sous forme
de chaine, et à appliquer nous même |saisies_chaine2tableau au moment
du passage à #SAISIE.
Ps : il y aurait de toute facon beaucoup à redire sur ce formulaire, qui
utilise qu’à moitié les possibilités de saisies. Mais laisson tomber
pour l’heure.
Modifié
formulaires/configurer_inscription3.html
paquet.xml
Détails : Le commit de saisies · 32fc81ed16 - inscription - SPIP on GIT