Re: crayons distraits
JLuc <[email protected]>
| Newsgroups | gmane.comp.web.spip.devel |
|---|---|
| Message-ID | <[email protected]> |
Le 12/03/2020 à 17:26, Cerdic a écrit : > Si je lis le code, je pense que le bug vient de la modif de la ligne 480 > if (is_scalar($id) and count($where)>1) > qui devrait être > if (is_scalar($id) and count($where)>=1) Oui ça restaure les crayons 0-code sur (certains) objets non déclarés. Merci pour ta réactivité ! Je vais commit le fix. JLuc > > J’ai ajouté la condition sur count($where) par sécurité, mais du coup j’ai ajouté un bug à cet endroit > > Je te laisse vérifier que ça corrige bien ton bug et commit le cas échéant ! > > > -- > Cédric > Le 12 mars 2020 à 17:18 +0100, JLuc <[email protected]>, a écrit : >> Le 11/03/2020 à 17:45, JLuc a écrit : >>> SPIP permet d'utiliser les tables non déclarées pour BOUCLEr, >>> et les crayons marchaient jusqu'à peu pour leur édition en ligne. >>> Il semble que ça ait régressé puisque désormais, >>> les modifications faites avec les crayons ne sont pas enregistrées lors de leur validation. >>> L'édition se fait bien, tout à l'air bien, mais l'enregistrement ne se fait pas. >> >> Le code des crayons documente bien cette possibilité : à partir de >> https://git.spip.net/spip-contrib-extensions/crayons/src/branch/master/action/crayons_store.php#L254 >> >> Pour les objets non déclarés on passe par là : >> « // si on a pas reussi on passe par crayons_update() qui fera un update sql brutal » >> >> Sauf que la fonction crayons_update été modifiée il y a 4 mois par >> https://git.spip.net/spip-contrib-extensions/crayons/commit/17bb15b9b95fd0b02efea266af6d299da4931a14 >> (de cerdic) qui impose désormais un appel à objet_modifier_champs ... >> et ça casse le traitement des tables non déclarées >> ou de certaines tables non déclarées en tout cas. >> >> Heureusement il y a une alternative: les fonctions revision_typobjet et typobjet_revision >> https://git.spip.net/spip-contrib-extensions/crayons/src/commit/6533c1af7b87c00f70e0f171787f05c53c64b70b/action/crayons_store.php#L257 >> et suivantes >> C'est étonnant qu'à la fois les fonctions revision_typobjet et typobjet_revision soient gérées (ya un motif ?) >> C'est facile à installer pour qui code en php, mais avant c'était 0-code-php pour tous. >> On peut en rester là ou vouloir restaurer un accès 0-code aux crayons sur les objets non déclarés... >> >> C'est l'état du truc selon ma compréhension. >> >> JL >> >> >> _______________________________________________ >> liste: https://listes.rezo.net/mailman/listinfo/spip-dev >> doc: https://www.spip.net/ >> dev: https://core.spip.net/ >> irc://irc.freenode.net/spip >