[spip-dev] Debusqueur et undefined function decompiler_php

Bonjour,

J’ai un spip 2.1.0 dev [14678] qui me fait des misères sur certains squelettes qu’il ne veut pas débusquer, je me retrouve avec un
Fatal error: Call to undefined function decompiler_php() in /var/www/html/SPIP-v1-7/ecrire/public/decompiler.php on line 148
sur des squelettes de ma composition, alors que article et rubrique eux fonctionnent correctement. Je n’y fais rien de très transcendant dans ce squelette qui coince pourtant. Comment mettre le doigt sur là où ça fait mal s’il vous plaît?
Merci, cordialement, Christian Mercat

L'erreur se produit dans la décompilation d'un critere, dont un composant a pour type "php" ce qui est anormal (il devrait y avoir "texte", "champ", "idiome" ou "polyglotte"). Je vais anticiper l'erreur fatale pour que ce soit moins affreux, mais le pb est en amont. Utilises-tu des criteres hors noyau ?

Committo,Ergo:Sum

Sur le même thème, lors de mes tests hier, j'ai fait une install neuve
sur une base vierge, et sur la page sommaire (bien vide je te
l'accorde ...) j'ai voulu voir le debusqueur avec un ?var_mode=debug,
et il m'a gratifié d'une page blanche.
J'imagine que c'est un cas particulier, mais c'est un peu
déstabilisant quand on tombe dessus.

Cédric

Cher Committo, oui, j'avoue, j'utilise des critères qui me sont propres, qui font appel à des éléments dans une base non spip et des joyeusetés du genre... Ca signifie que c'est rapé pour débusquer ce genre de pages? Je comprends qu'il ne peut pas être aussi fin que sur des boucles du noyau, mais rien n'est possible (je veux dire ignorer ce qu'il ne sait pas faire et rendre compte du standard)?
Merci, Ch.M.

"Committo,Ergo:sum" <esj@rezo.net> a écrit :

Pas forcément. Si tes fonctions ajoutant des critères produisent un arbre de syntaxe abstraite composé uniquement des objets définis dans public/interfaces.php tout se passera bien. Si tu ajoutes des objets nouveaux (ce qui semble le cas, puisqu'il apparait que le champ "type" a pour valeur "php"), évidemment ça coince. Mais tu peux décoincer la situation en definissant la fonction decompiler_php,
ce qui semble tout à fait logique.

Par ailleurs, le dépot http://trac.rezo.net/trac/spip/changeset/15035 devrait normalement ne plus faire d'erreur, et afficher les critères construits selon l'arbre standard, ce qui est déjà qqch.

Committo,Ergo:Sum

http://trac.rezo.net/trac/spip/changeset/15038