Re: Edition des liens - bizarrerie

Cerdic <[email protected]>
Newsgroups gmane.comp.web.spip.devel
Message-ID <354d1b86-28d9-4565-9646-98da160f0559@Spark>
Hello,

La raison pour laquelle on utilise la clé et pas la valeur est un problème de compatibilité avec toute une série d’IE (je ne sais plus jusqu’à quelle version) ou la valeur des button est le html compris entre les balises <button> au lieu de l’argument value

Il y a dans le formulaire une fonction pour decouper la clé il me semble.

Tout ça est donc parfaitement voulu et normal et testé, même si ça parait en effet assez obscur :)

--
Cédric
Le 14 juil. 2019 à 13:10 +0200, Eric Lupinacci <[email protected]>, a écrit :
> Hello,
>
> En reproduisant la gestion des liens pour l'affectation des types de plugin aux plugins je suis tombé sur un truc que je trouve bizarre.
> Dans le formulaire editer_liens on affiche la liste des objets liés (par exemple les mots) avec le bouton "retirer ...". Ce bouton est une balise <button> dont :
> - le name vaut : "supprimer_lien[mot-#ID_MOT-#OBJET-#ID_OBJET]", où supprimer_lien indique l'action à exécuter et le contenu entre crochets la liste des arguments de l'action.
> - la value vaut étrangement "X".
>
> Dans le PHP, pour le "traiter", on trouve le code d'exécution du bouton qui :
> - soit appelle une action dont le nom est bien compliquée,
> - soit déroule un code générique sans faire appel à une action. J'avoue ne pas trop comprendre pourquoi d'ailleurs on ne passe pas par une action pour sécuriser tout ça et pourquoi une telle différence de traitement.
>
> Si l'action existe, on lui passe le _request(bouton) du fameux bouton qui par magie contient un tableau associatif dont l'index correspond aux arguments entre crochet et la valeur "X" soit par exemple "mot-#ID_MOT-#OBJET-#ID_OBJET" = "X".
> L'action qui s'exécute récupère donc un argument $arg qui contient exactement le tableau associatif précédent.
> De fait, si on fait bêtement un explode() pour récupérer les arguments on récupère null pour tous car on fait l'explode sur "X" et pas sur l'index. On a donc un comportement totalement différent de celui de la plupart des actions.
>
> Je ne sais pas si c'est voulu ou si c'est un cas qui n'a jamais vraiment été testé mais je trouve ce fonctionnement pas très heureux. Ne faudrait-il pas :
> - soit passer la clé du tableau à l'action (en utilisant un key() par exemple)
> - soit changer le name et la value du button si c'est possible (j'avoue que je ne comprends pas bien pourquoi le bouton a un tel name et une telle value.
>
> Si quelqu'un peut m'expliquer.
> Merci d'avance
>
> ++
> Eric
> _______________________________________________
> liste: https://listes.rezo.net/mailman/listinfo/spip-dev
> doc: http://www.spip.net/
> dev: http://trac.rezo.net/trac/spip/
> irc://irc.freenode.net/spip
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.