[SPIP Zone] crayons, toutes tables, multiindex et vues/article_texte.html

Bonjour,
Je travaille couramment sur crayons afin:
* de pouvoir traiter toute table déclarée dans $tables_principales et $tables_auxilliaires
* de gérer les tables avec une clé primaire multiple genre spip_documents_articles

Ça marche pas trop mal, j'ai toute la partie formulaire jusqu'à la mise à jour pour laquelle je doit compléter la fonction d'update générique.

J'ai malheureusement perdu ma journée hier à essayer de comprendre pourquoi dans l'existant tout fonctionne très bien ... sauf les mises à jour du texte article lorsqu'on a la vue crayons/vues/article_texte.html distribuée activée.

L'update se fait bien mais lorsque crayons veut redonner la vue, on obtient:
... POST /~bertrand/kit/test/spip.php?action=crayons_store&w=528&h=24&wh=626&em=15.3333px&class=crayon%20article-texte-12%20texte%20crayon-autorise
... - SHOW CREATE TABLE
... 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 1
... Erreur squelette: Unknown SQL table "" | (.html)
... COMPIL (0.03s) [plugins/crayons/vues/article_texte] html_a763f0b17699cea18a61fb9d069d7bac.php
... Erreur squelette: Compilation error | plugins/crayons/vues/article_texte.html (.html)

Je désespérais de trouver ce qui pouvait provoquer ça dans mes modifs quand ce matin, voulant vérifier que ça n'était pas lié au trunk 1.9.3, j'ai fais un essai sur une 1.9.2a et là, avec la version courante de crayons sans ces modifications ... j'obtiens la même erreur.

Ce qui est très génant, c'est que selon l'installation, ça marche des fois et des fois pas.

Afin de ne pas casser crayons, vu que je soupçonnais mes changements, j'ai "garé" ces modifications dans un essai de crayonnage du formulaire d'inscription de spip-listes que je réalise couramment:
http://trac.rezo.net/trac/spip-zone/changeset/12283

Si vous voulez essayer ces modifications il vous suffit de récupérer là les 2 scripts modifiés:
http://trac.rezo.net/trac/spip-zone/browser/plugins/dev/crayons_listes/action/crayons_html.php
et
http://trac.rezo.net/trac/spip-zone/browser/plugins/dev/crayons_listes/inc/crayons.php
et de les copier au même endroit dans crayons.

Merci de me dire si vous obtenez la même erreur sans / avec ces modifications ou si vous avez une piste.
Ça pourrait éventuellement être lié à la version http://trac.rezo.net/trac/spip-zone/changeset/12271 , c'est ce que laisse penser ce SHOW TABLE qui peut venir de trouver_def_table() ... mais on n'a pas de balise #EDIT là ... j'y perd mon latin.

Je dois avouer que cette vue vues/article_texte.html est un peu tordue ... je me demande aussi si il est bon que nous la distribuions par défaut...

Le désespoir me fait écrire des tartines, désolé.
--
toggg

bertrand Gugger wrote:

Ça pourrait éventuellement être lié à la version http://trac.rezo.net/trac/spip-zone/changeset/12271 , c'est ce que laisse penser ce SHOW TABLE qui peut venir de trouver_def_table() ... mais on n'a pas de balise #EDIT là ... j'y perd mon latin.

Ça se confirme, mon test 1.9.2a sans ce tetecrayons.php modifié par ce trouver_def_table($boucle->type_requete, $boucle) fonctionne.

C'est sans doute ça qui plante, effectivement, à cet endroit $boucle->type_requete est vide ainsi que ->primary (tracé par spip_log())... mais je me demande bien pourquoi cette vue utilise balise_EDIT() et si c'est normal que tout soit vide.

Les experts du compilo auront peut-être une idée.

De toute façon, mon plan de travail prévoyait de remplacer ce trouver_def_table() du core par le "home cooked" &crayons_get_table() ... mais je voudrais bien comprendre tout de même et savoir si je dois placer un garde-fou à cet endroit.
--
toggg