From a66ec6759d6b3ab3d88334243a3bcafe6efb3cce Mon Sep 17 00:00:00 2001 From: Fil <fil@rezo.net> Date: Mon, 15 Apr 2002 21:21:21 +0000 Subject: [PATCH] une gestion assainie de $les_notes --- ecrire/inc_texte.php3 | 37 ++++++++++++++++++++++++------------- 1 file changed, 24 insertions(+), 13 deletions(-) diff --git a/ecrire/inc_texte.php3 b/ecrire/inc_texte.php3 index 0c8807aa14..1c9ebd9c1a 100644 --- a/ecrire/inc_texte.php3 +++ b/ecrire/inc_texte.php3 @@ -401,7 +401,7 @@ function typo($letexte) { } // Nettoie un texte, traite les raccourcis spip, la typo, etc. -function traiter_raccourcis($letexte, $les_echap = false) { +function traiter_raccourcis($letexte, $les_echap = false, $traiter_les_notes = 'oui') { global $puce; global $debut_intertitre, $fin_intertitre; global $compt_note; @@ -432,27 +432,33 @@ function traiter_raccourcis($letexte, $les_echap = false) { while (ereg($regexp, $letexte, $regs)){ $note_texte = $regs[1]; $num_note = false; - if (ereg("^ *<([^>]*)>",$note_texte,$regs)){ // note pas auto ? + + // note auto ou pas ? + if (ereg("^ *<([^>]*)>",$note_texte,$regs)){ $num_note=$regs[1]; $note_texte = ereg_replace ("^ *<([^>]*)>","",$note_texte); - } else { // note auto + } else { $compt_note++; $num_note=$compt_note; } + + // preparer la note if ($num_note) { $insert = "$ouvre_ref<a href='#nb$num_note' name='nh$num_note' class='spip_note'>$num_note</a>$ferme_ref"; - if ($note_texte) { - if ($les_notes) - $les_notes .= "\n<p class='spip_note'>"; - $les_notes .= traiter_raccourcis("<HTML>$ouvre_note<a href='#nh$num_note' name='nb$num_note' class='spip_note'>$num_note</a>$ferme_note</HTML> $note_texte"); - } + $appel = "<html>$ouvre_note<a href='#nh$num_note' name='nb$num_note' class='spip_note'>$num_note</a>$ferme_note</html>"; } else { $insert = ''; - if ($les_notes) - $les_notes .= "\n<p class='spip_note'>"; - if ($note_texte) - $les_notes .= traiter_raccourcis(trim($note_texte), $les_echap)."<p class='spip_note'>\n"; + $appel = ''; } + + // l'ajouter "brut" dans les notes + if ($note_texte) { + if ($les_notes || $mes_notes) + $mes_notes .= "<p>"; + $mes_notes .= $appel . $note_texte; + } + + // dans le texte, mettre l'appel de note a la place de la note $letexte = implode($insert, split($regexp, $letexte, 2)); } @@ -650,7 +656,12 @@ function traiter_raccourcis($letexte, $les_echap = false) { // Reinserer les echappements $letexte = echappe_retour($letexte, $les_echap, "SOURCEPROPRE"); - $les_notes = echappe_retour($les_notes, $les_echap, "SOURCEPROPRE"); + + if ($mes_notes) { + $mes_notes = ereg_replace("<p class=\"spip\">", "<p class=\"spip_note\">", + traiter_raccourcis($mes_notes, $les_echap, 'non')); + $les_notes .= echappe_retour($mes_notes, $les_echap, "SOURCEPROPRE"); + } return $letexte; } -- GitLab