From 58e1bc2fe74e5358085c475505aec89be1c8cf3c Mon Sep 17 00:00:00 2001 From: Fil <fil@rezo.net> Date: Mon, 19 Aug 2002 19:19:51 +0000 Subject: [PATCH] =?UTF-8?q?Correction=20bug=20</li>=20mal=20ferm=C3=A9=20s?= =?UTF-8?q?ur=20certaines=20listes?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ecrire/inc_texte.php3 | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/ecrire/inc_texte.php3 b/ecrire/inc_texte.php3 index 546d583ae1..a463e419af 100644 --- a/ecrire/inc_texte.php3 +++ b/ecrire/inc_texte.php3 @@ -552,7 +552,7 @@ function typo($letexte) { // -// Traitement des listes +// Traitement des listes (merci a Michael Parienti) // function traiter_listes ($texte) { $parags = split ("\n[[:space:]]*\n", $texte); @@ -582,21 +582,27 @@ function traiter_listes ($texte) { $change_type = ($type AND ($type <> $nouv_type)) ? 1 : 0; $type = $nouv_type; - if ($niveau == $profond && !$change_type) { - $ajout = "</li>"; - } + // d'abord traiter les descentes while ($niveau > $profond - $change_type) { $ajout .= $pile_li[$niveau]; $ajout .= $pile_type[$niveau]; - $niveau --; if (!$change_type) unset ($pile_li[$niveau]); + $niveau --; } + + /// puis les identites (y compris en fin de descente) + if ($niveau == $profond && !$change_type) { + $ajout .= "</li>"; + } + + // puis les montees (y compris apres une descente un cran trop bas) while ($niveau < $profond) { $niveau ++; $ajout .= "<$type class=\"spip\">"; $pile_type[$niveau] = "</$type>"; } + $ajout .= "<li class=\"spip\">"; $pile_li[$profond] = "</li>"; } -- GitLab