From f5168fd1984624fe60f5583384c82b892b9196dc Mon Sep 17 00:00:00 2001 From: Fil <fil@rezo.net> Date: Mon, 2 Jan 2006 16:06:32 +0000 Subject: [PATCH] bug: safehtml ne doit pas passer en dernier sinon on ne peut plus faire [(#TAGS|tags2dcsubject)]" --- dist/sommaire.html | 2 +- inc-compilo-index.php3 | 32 +++++++++++++++----------------- 2 files changed, 16 insertions(+), 18 deletions(-) diff --git a/dist/sommaire.html b/dist/sommaire.html index 7c044e9578..9e06b88bab 100644 --- a/dist/sommaire.html +++ b/dist/sommaire.html @@ -130,7 +130,7 @@ <ul> <BOUCLE_syndic(SYNDIC_ARTICLES) {par date} {inverse} {0,8}> <li class="menu-item"> - <a href="#URL_ARTICLE">[(#TITRE*)]</a> + <a href="#URL_ARTICLE">#TITRE</a> </li> </BOUCLE_syndic> </ul> diff --git a/inc-compilo-index.php3 b/inc-compilo-index.php3 index 42987c1ead..c171e5efc7 100644 --- a/inc-compilo-index.php3 +++ b/inc-compilo-index.php3 @@ -279,7 +279,7 @@ function champs_traitements ($p) { if (!$ps) $ps = $table_des_traitements[$p->nom_champ][0]; } - + if (!$ps) return $p->code; // Si une boucle sous-jacente (?) traite les documents, on insere ici @@ -296,6 +296,18 @@ function champs_traitements ($p) { if ($p->boucles[$p->id_boucle]->sql_serveur) $p->code = 'supprime_img(' . $p->code . ')'; + + // Passer |safehtml sur les boucles "sensibles" + switch ($p->type_requete) { + case 'forums': + case 'signatures': + case 'syndic_articles': + $ps = str_replace('%s', 'safehtml(%s)', $ps); + break; + default: + break; + } + // Remplacer enfin le placeholder %s par le vrai code de la balise return str_replace('%s', $p->code, $ps); } @@ -321,22 +333,8 @@ function applique_filtres($p) { // Securite if ($p->interdire_scripts - AND $p->etoile != '**') { - - switch ($p->type_requete) { - // Passer |safehtml sur les boucles "sensibles" - case 'forums': - case 'signatures': - case 'syndic_articles': - $code = "safehtml($code)"; - break; - - // et |interdire_scripts sur les autres - default: - $code = "interdire_scripts($code)"; - break; - } - } + AND $p->etoile != '**') + $code = "interdire_scripts($code)"; return $code; } -- GitLab