[spip-dev] [Bug 2.0.3] Prévisualisation des forums n'affiche pas les notes de bas de page

Bonjour,

Je viens de constater un bug d'affichage dans un forum côté public.
La prévisualisation n'affiche que le texte et n'est manifestement pas prévue pour afficher les notes de bas de page éventuellement saisies dans la contribution au forum.

* RealET tapuscrivait, le 08/02/2009 21:11:

Bonjour,

Je viens de constater un bug d'affichage dans un forum côté public.
La prévisualisation n'affiche que le texte et n'est manifestement pas prévue pour afficher les notes de bas de page éventuellement saisies dans la contribution au forum.

C'est au niveau de la ligne 272 de squelettes-dist/formaulaires/forum.php qu'il faudrait modifier :
      'texte' => safehtml(propre($texte)),
en je ne sais pas quoi (récupérer la globale des notes et la concatener après un <hr /> ?)

* RealET tapuscrivait, le 08/02/2009 21:15:

* RealET tapuscrivait, le 08/02/2009 21:11:

Bonjour,

Je viens de constater un bug d'affichage dans un forum côté public.
La prévisualisation n'affiche que le texte et n'est manifestement pas prévue pour afficher les notes de bas de page éventuellement saisies dans la contribution au forum.

C'est au niveau de la ligne 272 de squelettes-dist/formaulaires/forum.php qu'il faudrait modifier :
            'texte' => safehtml(propre($texte)),
en je ne sais pas quoi (récupérer la globale des notes et la concatener après un <hr /> ?)

Ou carrément passer $notes = $GLOBALS["les_notes"],
en paramètre supplémentaire à afficher dans le squelette de prévisu.

cf : http://trac.rezo.net/trac/spip/browser/spip/ecrire/public/composer.php#calculer_notes

Ou carrément passer $notes = $GLOBALS["les_notes"],
en paramètre supplémentaire à afficher dans le squelette de prévisu.

oui, et même plutôt plutôt $notes = safehtml(calculer_notes())

avec aussi un petit patch dans le squelette de prévisu

-- Fil

* Fil tapuscrivait, le 08/02/2009 21:29:

Ou carrément passer $notes = $GLOBALS["les_notes"],
en paramètre supplémentaire à afficher dans le squelette de prévisu.

oui, et même plutôt plutôt $notes = safehtml(calculer_notes())

avec aussi un petit patch dans le squelette de prévisu

Et voilà le patch (j'ai aussi patché l'affichage des forums pour avoir les notes affichées dans ceux-ci.).

Notes_dans_forums.patch (2.42 KB)

Et voilà le patch (j'ai aussi patché l'affichage des forums pour avoir les
notes affichées dans ceux-ci.).

Merci ; c'est intégré.Il manquait un petit safehtml, mis proprement
dans le trunk (et un peu salement dans la branche).

Pour le trunk (2.1) :

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

Pour la branche 2.0 :
http://trac.rezo.net/trac/spip/changeset/13710

-- Fil

* Fil tapuscrivait, le 09/02/2009 09:17:

Et voilà le patch (j'ai aussi patché l'affichage des forums pour avoir les
notes affichées dans ceux-ci.).

Merci ; c'est intégré.Il manquait un petit safehtml, mis proprement
dans le trunk (et un peu salement dans la branche).

Super, merci.
Mais je dois avouer que je ne comprends pas pourquoi tu as mis un

safehtml dans

http://trac.rezo.net/trac/spip/changeset/13710/branches/spip-2.0/squelettes-dist/inc-forum.html alors même que le #TEXTE juste au dessus n'en a pas.

Pour la prévisualisation qui n'a pas les sécurités des balises de SPIP, je comprends, mais pas dans un squelette avec balises.

Mais je dois avouer que je ne comprends pas pourquoi tu as mis un |safehtml
dans
http://trac.rezo.net/trac/spip/changeset/13710/branches/spip-2.0/squelettes-dist/inc-forum.html
alors même que le #TEXTE juste au dessus n'en a pas.

Parce que le #TEXTE est protégé en tant que champ issu de la table
spip_forum. ALors que #NOTES est une balise qui ne correspond pas à un
champ.

-- Fil

* Fil tapuscrivait, le 09/02/2009 09:37:

Mais je dois avouer que je ne comprends pas pourquoi tu as mis un |safehtml
dans
http://trac.rezo.net/trac/spip/changeset/13710/branches/spip-2.0/squelettes-dist/inc-forum.html
alors même que le #TEXTE juste au dessus n'en a pas.

Parce que le #TEXTE est protégé en tant que champ issu de la table
spip_forum. ALors que #NOTES est une balise qui ne correspond pas à un
champ.

Mais du coup, le safehtml, c'est sur le calcul des notes qu'il faudrait le mettre systématiquement. sinon, on a un trou de sécurité sur tous les squelettes qui utilisent #NOTES seul (à commencer par article.html de la dist).

Mais du coup, le safehtml, c'est sur le calcul des notes qu'il faudrait le
mettre systématiquement. sinon, on a un trou de sécurité sur tous les
squelettes qui utilisent #NOTES seul (à commencer par article.html de la
dist).

J'ai pas compris. Les contenus à filtrer sont ceux qui émanent du
public : forums et signatures de pétition.

-- Fil

* Fil tapuscrivait, le 09/02/2009 11:31:

Mais du coup, le safehtml, c'est sur le calcul des notes qu'il faudrait le
mettre systématiquement. sinon, on a un trou de sécurité sur tous les
squelettes qui utilisent #NOTES seul (à commencer par article.html de la
dist).

J'ai pas compris. Les contenus à filtrer sont ceux qui émanent du
public : forums et signatures de pétition.

Si c'est à filtrer, pourquoi :
http://trac.rezo.net/trac/spip/browser/branches/spip-2.0/squelettes-dist/inc-forum.html#L23 n'a pas |safehtml
alors que http://trac.rezo.net/trac/spip/browser/branches/spip-2.0/squelettes-dist/inc-forum.html#L24 l'a.

Tu as partiellement répondu en indiquant que #NOTES étant calculé, il ne bénéficie pas de la sécurité des champs rentrés en base tels que #TEXTE.

Mais les #NOTES d'un article peuvent être rentrées par des rédacteurs inconnus.
S'il n'y a de sécurité que sur #TEXTE et pas sur #NOTES, j'en déduis que
http://trac.rezo.net/trac/spip/browser/branches/spip-2.0/squelettes-dist/article.html#L61 laisse un trou de sécurité si safehtml n'est pas appliqué là.
Et donc, je suggère d'appliquer la sécurité aussi sur les notes de manière systématique, et non de demander à un squelette de le faire (au risque de l'oublier).

J'ai pas compris. Les contenus à filtrer sont ceux qui émanent du
public : forums et signatures de pétition.

Si c'est à filtrer, pourquoi :
http://trac.rezo.net/trac/spip/browser/branches/spip-2.0/squelettes-dist/inc-forum.html#L23
n'a pas |safehtml
alors que
http://trac.rezo.net/trac/spip/browser/branches/spip-2.0/squelettes-dist/inc-forum.html#L24
l'a.

Tu as partiellement répondu en indiquant que #NOTES étant calculé, il ne
bénéficie pas de la sécurité des champs rentrés en base tels que #TEXTE.

Pourquoi "partiellement" ? La réponse est complète ; fais des essais
si tu veux t'en persuader.

Mais les #NOTES d'un article peuvent être rentrées par des rédacteurs
inconnus.

Le modèle de sécurité de SPIP est fait comme ça : on laisse plus de
liberté dans les articles (ce qui permet d'y mettre du javascript),
qui sont validés à la main, que dans les contenus publiés
automatiquement (forums, signatures, rss).

-- Fil

* Fil tapuscrivait, le 09/02/2009 13:16:

J'ai pas compris. Les contenus à filtrer sont ceux qui émanent du
public : forums et signatures de pétition.

Si c'est à filtrer, pourquoi :
http://trac.rezo.net/trac/spip/browser/branches/spip-2.0/squelettes-dist/inc-forum.html#L23
n'a pas |safehtml
alors que
http://trac.rezo.net/trac/spip/browser/branches/spip-2.0/squelettes-dist/inc-forum.html#L24
l'a.

Tu as partiellement répondu en indiquant que #NOTES étant calculé, il ne
bénéficie pas de la sécurité des champs rentrés en base tels que #TEXTE.

Pourquoi "partiellement" ? La réponse est complète ; fais des essais
si tu veux t'en persuader.

Mais les #NOTES d'un article peuvent être rentrées par des rédacteurs
inconnus.

Le modèle de sécurité de SPIP est fait comme ça : on laisse plus de
liberté dans les articles (ce qui permet d'y mettre du javascript),
qui sont validés à la main, que dans les contenus publiés
automatiquement (forums, signatures, rss).

Donc, les notes des articles pourraient avoir des trucs bizarres, mais pas celles des forums.
OK.

Pas de risque qu'une note affichée par l'espace privé à la validation d'un forum ne casse tout ?

Pas de risque qu'une note affichée par l'espace privé à la validation d'un
forum ne casse tout ?

En fait les notes de forum ne s'affichent ni dans le trunk ni dans la branche.
J'aurais une fois de plus dû répondre "Essaie"...

L'avantage avec le trunk c'est qu'il est sur la zone

-- Fil

* Fil tapuscrivait, le 09/02/2009 13:24:

Pas de risque qu'une note affichée par l'espace privé à la validation d'un
forum ne casse tout ?

En fait les notes de forum ne s'affichent ni dans le trunk ni dans la branche.
J'aurais une fois de plus dû répondre "Essaie"...

Du coup, j'ai essayé et voici le patch sur la branche 2.0.3 pour que ça s'affiche dans le contrôle des forums publics.

Notes_dans_forums_2.patch (716 Bytes)

Du coup, j'ai essayé et voici le patch sur la branche 2.0.3 pour que ça
s'affiche dans le contrôle des forums publics.

OK, je te laisse le commiter dans _core_/forum/ (si tant est qu'il y a
soit nécessaire)

-- Fil

* Fil tapuscrivait, le 12/02/2009 16:01:

Du coup, j'ai essayé et voici le patch sur la branche 2.0.3 pour que ça
s'affiche dans le contrôle des forums publics.

OK, je te laisse le commiter dans _core_/forum/ (si tant est qu'il y a
soit nécessaire)

Bon, va falloir que je comprenne comment installer SPIP 2.1 plus les plugins du _core_
Je mets juste le dossier _core_ dans le dossier plugins/ ?

* RealET tapuscrivait, le 12/02/2009 17:37:

* Fil tapuscrivait, le 12/02/2009 16:01:

Du coup, j'ai essayé et voici le patch sur la branche 2.0.3 pour que ça
s'affiche dans le contrôle des forums publics.

OK, je te laisse le commiter dans _core_/forum/ (si tant est qu'il y a
soit nécessaire)

Bon, va falloir que je comprenne comment installer SPIP 2.1 plus les plugins du _core_
Je mets juste le dossier _core_ dans le dossier plugins/ ?

Bon, j'ai installé SPIP 2.1 SVN + tous les plugins de _core_
J'ai créé un article avec un forum.
Dans le site public, je peux cliquer sur Répondre à cet article.
J'arrive sur la page spip.php?page=forum&id_article=1 qui est identique à spip.php?article1
Et je n'ai donc pas de formulaire de forum à remplir.

* RealET tapuscrivait, le 12/02/2009 19:10:

* RealET tapuscrivait, le 12/02/2009 17:37:

* Fil tapuscrivait, le 12/02/2009 16:01:

Du coup, j'ai essayé et voici le patch sur la branche 2.0.3 pour que ça
s'affiche dans le contrôle des forums publics.

OK, je te laisse le commiter dans _core_/forum/ (si tant est qu'il y a
soit nécessaire)

Bon, va falloir que je comprenne comment installer SPIP 2.1 plus les plugins du _core_
Je mets juste le dossier _core_ dans le dossier plugins/ ?

Bon, j'ai installé SPIP 2.1 SVN + tous les plugins de _core_
J'ai créé un article avec un forum.
Dans le site public, je peux cliquer sur Répondre à cet article.
J'arrive sur la page spip.php?page=forum&id_article=1 qui est identique à spip.php?article1
Et je n'ai donc pas de formulaire de forum à remplir.

En SPIP 2.1.0 dev SVN [13718] ça marche
SPIP 2.1.0 dev SVN [13727], je n'ai que la page d'accueil, quelle que soit la page que je demande.