[spip-dev] Spip 1.8.2-pr2 et squelette contenant du php

J'utilise le système de calendrier proposé par le site gasteropod
(http://www.gasteroprod.com/2003/12/09/meme_agenda_que_gastero_prod_avec_spip_3
20.html).
Il fonctionne bien avec SPIP 1.7, 1.7.2, 1.8.1 mais plante avec la dernière
version 1.8.2-pr2.

Le message d'erreur est
Parse error: parse error in inc-public.php(20) : eval()'d code on line 33

Qui peut m'aider ?

Manu

Bonjour,

J'utilise le système de calendrier proposé par le site gasteropod (http://www.gasteroprod.com/2003/12/09/meme_agenda_que_gastero_prod_avec_spip_3
20.html).
Il fonctionne bien avec SPIP 1.7, 1.7.2, 1.8.1 mais plante avec la dernière version 1.8.2-pr2.
Le message d'erreur est Parse error: parse error in inc-public.php(20) : eval()'d code on line 33

N'ayant pas encore eu le temps de tester mon agenda sur la dernière version de SPIP, je ne vais pas t'aider directement.

Mais il me semble que les nouveautés de cette version 1.8.2 permettent justement de ce passer de mon bidouillage qui commence à dater.

Est-ce que quelqu'un a fait l'expérience ???

-Nicolas

Hello,
J’ai en projet une refonte courant aout du calendrier basé sur gasteropod (contrib 897 : http://www.spip-contrib.net/Squelette-d-Agenda-versions )
avec 2 objectifs : utiliser le nouveau critèe agenda et déporter le code de création dans des filtres (méthode similaire à celle des squeettes jour/mois… via des appels séquentiels de filtres et mmorisation des articles dans une variable statique du filtre.

Dans un premier temps le portage sera fait sur le mini agenda (plus simple) le suelette mois de la 182 etant relativement complet.

Je vais essayer de poser le tout sur spip-zone .

barf,
la prochaine fois je ferais le tour de la galaxie spip avant de “polluer” spip dev c’est déjà fait dans le squelette de spip clear 2 et en plus en implémentant toutes les nouvelles possibilités et avec du code similaire à ce qui est fait pour les modèles de la partie priivée …
Joli boulot.

Bonne nuit !
Arnaud

Manu <hooters <at> free.fr> writes:

J'utilise le système de calendrier proposé par le site gasteropod

(http://www.gasteroprod.com/2003/12/09/meme_agenda_que_gastero_prod_avec_spip_3

20.html).
Il fonctionne bien avec SPIP 1.7, 1.7.2, 1.8.1 mais plante avec la dernière
version 1.8.2-pr2.

Le message d'erreur est
Parse error: parse error in inc-public.php(20) : eval()'d code on line 33

Qui peut m'aider ?

Manu

Je me suis un peu entêté. En effet, si la 1.8.2 offre de nouvelles
possibilités sur l'agenda, il n'y avait pas de raison que la contribution de
gasteroprod ne fonctionne plus.

En fait, dans mon squelette, dans la partie PHP, j'avais la ligne suivante :
$ai_lib = '[(#TITRE|texte_script|debut_maj)]';

Et le filtre debut_maj, défini dans mes_fonctions.php :

// Renvoie la chaîne avec le premier caractère en majuscules
function debut_maj($str) {
return majuscules(substr($str,0,1)).substr($str,1);
}

Et bien cela ne fonctionne plus !
J'ai donc remplacé "majuscules" par "strtoupper".
Et hop, plus de proiblème de parsing.

Alors je ne sais pas si c'est un bug ou si c'est moi qui ait raté un truc dans
les dernières évolutions.

Manu

En fait, dans mon squelette, dans la partie PHP, j'avais la ligne suivante :
$ai_lib = '[(#TITRE|texte_script|debut_maj)]';

en fait il faudrait écrire
        $ai_lib = '[(#TITRE|debut_maj|texte_script)]';

(le filtre |texte_script doit être à la fin)

-- Fil

Fil <fil <at> rezo.net> writes:

> En fait, dans mon squelette, dans la partie PHP, j'avais la ligne

suivante :

> $ai_lib = '[(#TITRE|texte_script|debut_maj)]';

en fait il faudrait écrire
        $ai_lib = '[(#TITRE|debut_maj|texte_script)]';

(le filtre |texte_script doit être à la fin)

Et il y a eu du changement dans la 1.8.2 en ce sens ?
Car ça tournait bien jusqu'à présent....

> en fait il faudrait écrire
> $ai_lib = '[(#TITRE|debut_maj|texte_script)]';
>
> (le filtre |texte_script doit être à la fin)

Et il y a eu du changement dans la 1.8.2 en ce sens ?
Car ça tournait bien jusqu'à présent....

Oui: le filtre |majuscules ne fonctionne plus comme avant, et il introduit
des caractères "'" qui font exploser ta construction php (mais c'est bien
cette construction qui était bugguée).

-- Fil

Sur un autre squelette contenant du PHP j'ai découvert un bug causé par inserer_attribut à présent utiliser par LOGO_DOCUMENT. Je soupçonne que c'est de cela qu'il s'agit.