From 298392d1db25ee58daf1542d6b9b058e95048e43 Mon Sep 17 00:00:00 2001
From: "Committo,Ergo:sum" <esj@rezo.net>
Date: Thu, 6 Jan 2005 16:47:10 +0000
Subject: [PATCH] transformation en filtre de la barre de raccourci

---
 ecrire/articles_edit.php3  |   8 +-
 ecrire/breves_edit.php3    |   4 +-
 ecrire/forum_envoi.php3    |   4 +-
 ecrire/inc_barre.php3      | 208 +++++++++++++++++--------------------
 ecrire/inc_layer.php3      |  12 ++-
 formulaire_forum-dist.html |   6 +-
 inc-formulaire_forum.php3  |  24 ++++-
 7 files changed, 136 insertions(+), 130 deletions(-)

diff --git a/ecrire/articles_edit.php3 b/ecrire/articles_edit.php3
index daf39b2efa..0b30b06ad1 100644
--- a/ecrire/articles_edit.php3
+++ b/ecrire/articles_edit.php3
@@ -502,9 +502,9 @@ echo "<P><HR><P>";
 			list($texte1,$texte) = coupe_trop_long($texte);
 
 			$textes_supplement .= "<BR>";
-			$textes_supplement .= afficher_barre('formulaire', 'texte'.$nombre_textes);
+			$textes_supplement .= afficher_barre('document.formulaire.texte'.$nombre_textes);
 			$textes_supplement .= "<TEXTAREA NAME='texte$nombre_textes'".
-				" CLASS='formo' ".afficher_claret()." ROWS='$rows' COLS='40' wrap=soft>" .
+				" CLASS='formo' ".$GLOBALS['browser_caret']." ROWS='$rows' COLS='40' wrap=soft>" .
 				$texte1 . "</TEXTAREA><P>\n";
 		}
 	}
@@ -516,8 +516,8 @@ echo "<P><HR><P>";
 	echo $textes_supplement;
 
 	//echo "<BR>";
-	echo afficher_barre('formulaire', 'texte');
-	echo "<TEXTAREA id='text_area' NAME='texte' ".afficher_claret()." CLASS='formo' ROWS='$rows' COLS='40' wrap=soft>";
+	echo afficher_barre('document.formulaire.texte');
+	echo "<TEXTAREA id='text_area' NAME='texte' ".$GLOBALS['browser_caret']." CLASS='formo' ROWS='$rows' COLS='40' wrap=soft>";
 	echo $texte;
 	echo "</TEXTAREA>\n";
 
diff --git a/ecrire/breves_edit.php3 b/ecrire/breves_edit.php3
index 8b51872a47..0a2d0a4348 100644
--- a/ecrire/breves_edit.php3
+++ b/ecrire/breves_edit.php3
@@ -155,8 +155,8 @@ if ($connect_statut=="0minirezo" OR $statut=="prop" OR $new == "oui") {
 	else $rows = 15;
 	
 	echo "<p /><B>"._T('entree_texte_breve')."</B><BR>";
-	echo afficher_barre('formulaire', 'texte');
-	echo "<TEXTAREA NAME='texte' ".afficher_claret()." ROWS='$rows' CLASS='formo' COLS='40' wrap=soft>";
+	echo afficher_barre('document.formulaire.texte');
+	echo "<TEXTAREA NAME='texte' ".$GLOBALS['browser_caret']." ROWS='$rows' CLASS='formo' COLS='40' wrap=soft>";
 	echo $texte;
 	echo "</TEXTAREA><P>\n";
 
diff --git a/ecrire/forum_envoi.php3 b/ecrire/forum_envoi.php3
index 25a1d3527c..090d8e5443 100644
--- a/ecrire/forum_envoi.php3
+++ b/ecrire/forum_envoi.php3
@@ -135,8 +135,8 @@ echo "<INPUT TYPE='Hidden' NAME='statut' VALUE=\"$statut\">\n";
 
 echo "<p><B>"._T('info_texte_message')."</B><BR>";
 echo _T('info_creation_paragraphe')."<BR>";
-echo afficher_barre('formulaire', 'texte', true);
-echo "<TEXTAREA NAME='texte' ".afficher_claret()." ROWS='15' CLASS='formo' COLS='40' wrap=soft>";
+echo afficher_barre('document.formulaire.texte', true);
+echo "<TEXTAREA NAME='texte' ".$GLOBALS['browser_caret']." ROWS='15' CLASS='formo' COLS='40' wrap=soft>";
 echo entites_html($texte);
 echo "</TEXTAREA><P>\n";
 
diff --git a/ecrire/inc_barre.php3 b/ecrire/inc_barre.php3
index 3467c72225..f19d4bb38a 100644
--- a/ecrire/inc_barre.php3
+++ b/ecrire/inc_barre.php3
@@ -4,138 +4,120 @@
 if (defined("_INC_BARRE")) return;
 define("_INC_BARRE", "1");
 
-function test_barre() {
-	global $browser_name, $browser_version, $browser_rev;
-
-	include_ecrire ("inc_layer.php3");	# verif butineur
-
-	if (
-	(eregi("msie", $browser_name) AND $browser_version >= 5.5)
-	|| (eregi("mozilla", $browser_name) AND $browser_version >= 5 AND $browser_rev >= 1.3)
-	)
-		return true;
+// construit un bouton (ancre) de raccourci avec icone et aide
+
+function bouton_barre_racc($action, $img, $help, $champhelp) {
+
+	return "<a\nhref=\"javascript:"
+		.$action
+		."\" class='spip_barre' tabindex='1000'\ntitle=\""
+		.attribut_html($help)
+		."\"" 
+		.(!_DIR_RESTREINT ? '' :  "\nonMouseOver=\"helpline('"
+		  .addslashes(attribut_html($help))
+		  ."',$champhelp)\"\nonMouseOut=\"helpline('"
+		  .attribut_html(_T('barre_aide'))
+		  ."', $champhelp)\"")
+		."><img\nsrc='"
+		._DIR_IMG_ICONES_BARRE
+		.$img
+		."' border='0' height='16' width='16' align='middle' /></a>";
 }
 
+// construit un tableau de raccourcis pour un noeud de DOM 
 
-function test_claret() {
-	global $browser_name;
-	if ( test_barre() && (eregi("msie", $browser_name)) ) return true;
-}
+function afficher_barre($champ, $forum=false) {
+	static $num_barre = 0;
+	include_ecrire ("inc_layer.php3");
+	if (!$GLOBALS['browser_barre']) return '';
 
+	global $spip_lang, $spip_lang_right, $spip_lang_left;
 
-function afficher_script_barre(){
-	global $flag_script_deja_affiche;
-
-	if ($flag_script_deja_affiche != 1) {
-		$flag_script_deja_affiche = 1;
-		$ret = '<script type="text/javascript" src="' . _DIR_PREFIX1. 'spip_barre.js">';
-		$ret .= "</script>\n";
-		return $ret;
-	}
-}
-
-function bouton_barre_racc($action, $img, $help, $formulaire, $texte) {
-
-	$champ = "document.$formulaire.$texte";
-	$champhelp = "document.$formulaire.helpbox$texte";
-	$retour = "<a href=\"".$action."\" class='spip_barre' tabindex='1000' title=\"".attribut_html($help)."\"";
-	if (_DIR_RESTREINT) $retour .= " onMouseOver=\"helpline('".addslashes(attribut_html($help))."',$champhelp)\" onMouseOut=\"helpline('".attribut_html(_T('barre_aide'))."', $champhelp)\"";
-	$retour .= "><img src='".
-	  _DIR_IMG_ICONES_BARRE .
-	  $img."' border='0' height='16' width='16' align='middle' /></a>";
-	return $retour;
-}
+	$ret = ($num_barre > 0)  ? '' :
+	  '<script type="text/javascript" src="' . _DIR_PREFIX1. 'spip_barre.js"></script>';
+	$num_barre++;
+	$champhelp = "document.getElementById('barre_$num_barre')";
 
-function afficher_barre($formulaire='',$texte='', $forum=false) {
-	global $spip_lang, $options, $spip_lang_right, $spip_lang_left;
+	$ret .= "<table class='spip_barre' width='100%' cellpadding='0' cellspacing='0' border='0'>";
+	$ret .= "\n<tr width='100%' class='spip_barre'>";
+	$ret .= "\n<td style='text-align: $spip_lang_left;' valign='middle'>";
+	$col = 1;
 
-	if (test_barre()) {
-		$ret = afficher_script_barre();
-		$champ = "document.$formulaire.$texte";
-		$ret .= "<table class='spip_barre' width='100%' cellpadding='0' cellspacing='0' border='0'>";
-		$ret .= "<tr width='100%' class='spip_barre'>";
-		$ret .= "<td style='text-align: $spip_lang_left;' valign='middle'>";
-		$col++;
-
-		// Italique, gras, intertitres
-		$ret .= bouton_barre_racc ("javascript:barre_raccourci('{','}',$champ)", "italique.png", _T('barre_italic'), $formulaire, $texte);
-		$ret .= bouton_barre_racc ("javascript:barre_raccourci('{{','}}',$champ)", "gras.png", _T('barre_gras'), $formulaire, $texte);
-		if (!$forum) {
-			$ret .= bouton_barre_racc ("javascript:barre_raccourci('\n\n{{{','}}}\n\n',$champ)", "intertitre.png", _T('barre_intertitre'), $formulaire, $texte);
-		}
-		$ret .= "&nbsp;&nbsp;&nbsp;</td><td>";
+	// Italique, gras, intertitres
+	$ret .= bouton_barre_racc ("barre_raccourci('{','}',$champ)", "italique.png", _T('barre_italic'), $champhelp);
+	$ret .= bouton_barre_racc ("barre_raccourci('{{','}}',$champ)", "gras.png", _T('barre_gras'), $champhelp);
+	if (!$forum) {
+		$ret .= bouton_barre_racc ("barre_raccourci('\n\n{{{','}}}\n\n',$champ)", "intertitre.png", _T('barre_intertitre'), $champhelp);
+	}
+	$ret .= "&nbsp;&nbsp;&nbsp;</td>\n<td>";
+	$col ++;
+
+	// Lien hypertexte, notes de bas de page, citations
+	$ret .= bouton_barre_racc ("barre_demande('[','->',']', '".addslashes(_T('barre_lien_input'))."', $champ)",
+		"lien.png", _T('barre_lien'), $champhelp);
+	if (!$forum) {
+		$ret .= bouton_barre_racc ("barre_raccourci('[[',']]',$champ)", "notes.png", _T('barre_note'), $champhelp);
+	}
+	if ($forum) {
+		$ret .= "&nbsp;&nbsp;&nbsp;&nbsp;</td>\n<td>";
 		$col ++;
+		$ret .= bouton_barre_racc ("barre_raccourci('\n\n&lt;quote&gt;','&lt;/quote&gt;\n\n',$champ)", "quote.png", _T('barre_quote'), $champhelp);
+	}
 
-		// Lien hypertexte, notes de bas de page, citations
-		$ret .= bouton_barre_racc ("javascript:barre_demande('[','->',']', '".addslashes(_T('barre_lien_input'))."', $champ)",
-			"lien.png", _T('barre_lien'), $formulaire, $texte);
-		if (!$forum) {
-			$ret .= bouton_barre_racc ("javascript:barre_raccourci('[[',']]',$champ)", "notes.png", _T('barre_note'), $formulaire, $texte);
-		}
-		if ($forum) {
-			$ret .= "&nbsp;&nbsp;&nbsp;&nbsp;</td><td>";
-			$col ++;
-			$ret .= bouton_barre_racc ("javascript:barre_raccourci('\n\n&lt;quote&gt;','&lt;/quote&gt;\n\n',$champ)", "quote.png", _T('barre_quote'), $formulaire, $texte);
-		}
+	$ret .= "&nbsp;&nbsp;&nbsp;&nbsp;</td>";
+	$col++;
 
-		if ($options == "avancees") {
-			/*$ret .= "&nbsp;&nbsp;&nbsp;";
-			$ret .= bouton_barre_racc ("javascript:barre_raccourci('[?',']',$champ)", "barre-wiki.png", "Entr&eacute;e du [?glossaire] (Wikipedia)", $formulaire, $texte);
-			$ret .= "&nbsp;&nbsp;&nbsp;";
-			$ret .= bouton_barre_racc ("javascript:barre_tableau($champ)", "barre-tableau.png", "Ins&eacute;rer un tableau", $formulaire, $texte);*/
+	// Insertion de caracteres difficiles a taper au clavier (guillemets, majuscules accentuees...)
+	$ret .= "\n<td style='text-align:$spip_lang_left;' valign='middle'>";
+	$col++;
+	if ($spip_lang == "fr" OR $spip_lang == "eo" OR $spip_lang == "cpf" OR $spip_lang == "ar" OR $spip_lang == "es") {
+		$ret .= bouton_barre_racc ("barre_raccourci('&laquo;','&raquo;',$champ)", "guillemets.png", _T('barre_guillemets'), $champhelp);
+		$ret .= bouton_barre_racc ("barre_raccourci('&ldquo;','&rdquo;',$champ)", "guillemets-simples.png", _T('barre_guillemets_simples'), $champhelp);
+	}
+	else if ($spip_lang == "bg" OR $spip_lang == "de" OR $spip_lang == "pl" OR $spip_lang == "hr" OR $spip_lang == "src") {
+		$ret .= bouton_barre_racc ("barre_raccourci('&bdquo;','&ldquo;',$champ)", "guillemets-de.png", _T('barre_guillemets'), $champhelp);
+		$ret .= bouton_barre_racc ("barre_raccourci('&sbquo;','&lsquo;',$champ)", "guillemets-uniques-de.png", _T('barre_guillemets_simples'), $champhelp);
+	}
+	else {
+		$ret .= bouton_barre_racc ("barre_raccourci('&ldquo;','&rdquo;',$champ)", "guillemets-simples.png", _T('barre_guillemets'), $champhelp);
+		$ret .= bouton_barre_racc ("barre_raccourci('&lsquo;','&rsquo;',$champ)", "guillemets-uniques.png", _T('barre_guillemets_simples'), $champhelp);
+	}
+	if ($spip_lang == "fr" OR $spip_lang == "eo" OR $spip_lang == "cpf") {
+		$ret .= bouton_barre_racc ("barre_inserer('&Agrave;',$champ)", "agrave-maj.png", _T('barre_a_accent_grave'), $champhelp);
+		$ret .= bouton_barre_racc ("barre_inserer('&Eacute;',$champ)", "eacute-maj.png", _T('barre_e_accent_aigu'), $champhelp);
+		if ($spip_lang == "fr") {
+			$ret .= bouton_barre_racc ("barre_inserer('&oelig;',$champ)", "oelig.png", _T('barre_eo'), $champhelp);
+			$ret .= bouton_barre_racc ("barre_inserer('&OElig;',$champ)", "oelig-maj.png", _T('barre_eo_maj'), $champhelp);
 		}
-		
-		$ret .= "&nbsp;&nbsp;&nbsp;&nbsp;</td>";
-		$col++;
+	}
+	$ret .= bouton_barre_racc ("barre_inserer('&euro;',$champ)", "euro.png", _T('barre_euro'), $champhelp);
 
-		// Insertion de caracteres difficiles a taper au clavier (guillemets, majuscules accentuees...)
-		$ret .= "<td style='text-align:$spip_lang_left;' valign='middle'>";
-		$col++;
-		if ($spip_lang == "fr" OR $spip_lang == "eo" OR $spip_lang == "cpf" OR $spip_lang == "ar" OR $spip_lang == "es") {
-			$ret .= bouton_barre_racc ("javascript:barre_raccourci('&laquo;','&raquo;',$champ)", "guillemets.png", _T('barre_guillemets'), $formulaire, $texte);
-			$ret .= bouton_barre_racc ("javascript:barre_raccourci('&ldquo;','&rdquo;',$champ)", "guillemets-simples.png", _T('barre_guillemets_simples'), $formulaire, $texte);
-		}
-		else if ($spip_lang == "bg" OR $spip_lang == "de" OR $spip_lang == "pl" OR $spip_lang == "hr" OR $spip_lang == "src") {
-			$ret .= bouton_barre_racc ("javascript:barre_raccourci('&bdquo;','&ldquo;',$champ)", "guillemets-de.png", _T('barre_guillemets'), $formulaire, $texte);
-			$ret .= bouton_barre_racc ("javascript:barre_raccourci('&sbquo;','&lsquo;',$champ)", "guillemets-uniques-de.png", _T('barre_guillemets_simples'), $formulaire, $texte);
-		}
-		else {
-			$ret .= bouton_barre_racc ("javascript:barre_raccourci('&ldquo;','&rdquo;',$champ)", "guillemets-simples.png", _T('barre_guillemets'), $formulaire, $texte);
-			$ret .= bouton_barre_racc ("javascript:barre_raccourci('&lsquo;','&rsquo;',$champ)", "guillemets-uniques.png", _T('barre_guillemets_simples'), $formulaire, $texte);
-		}
-		if ($spip_lang == "fr" OR $spip_lang == "eo" OR $spip_lang == "cpf") {
-			$ret .= bouton_barre_racc ("javascript:barre_inserer('&Agrave;',$champ)", "agrave-maj.png", _T('barre_a_accent_grave'), $formulaire, $texte);
-			$ret .= bouton_barre_racc ("javascript:barre_inserer('&Eacute;',$champ)", "eacute-maj.png", _T('barre_e_accent_aigu'), $formulaire, $texte);
-			if ($spip_lang == "fr") {
-				$ret .= bouton_barre_racc ("javascript:barre_inserer('&oelig;',$champ)", "oelig.png", _T('barre_eo'), $formulaire, $texte);
-				$ret .= bouton_barre_racc ("javascript:barre_inserer('&OElig;',$champ)", "oelig-maj.png", _T('barre_eo_maj'), $formulaire, $texte);
-			}
-		}
-		$ret .= bouton_barre_racc ("javascript:barre_inserer('&euro;',$champ)", "euro.png", _T('barre_euro'), $formulaire, $texte);
+	$ret .= "&nbsp;&nbsp;&nbsp;&nbsp;</td>";
+	$col++;
 
-		$ret .= "&nbsp;&nbsp;&nbsp;&nbsp;</td>";
+	if (!_DIR_RESTREINT) {
+		$ret .= "\n<td style='text-align:$spip_lang_right;' valign='middle'>";
 		$col++;
+	//	$ret .= "&nbsp;&nbsp;&nbsp;";
+		$ret .= aide("raccourcis");
+		$ret .= "&nbsp;";
+		$ret .= "</td>";
+	}
+	$ret .= "</tr>";
 
-		if (!_DIR_RESTREINT) {
-			$ret .= "<td style='text-align:$spip_lang_right;' valign='middle'>";
-			$col++;
-		//	$ret .= "&nbsp;&nbsp;&nbsp;";
-			$ret .= aide("raccourcis");
-			$ret .= "&nbsp;";
-			$ret .= "</td>";
-		}
-		$ret .= "</tr>";
-
-		// Sur les forums publics, petite barre d'aide en survol des icones
-		if (_DIR_RESTREINT)
-			$ret .= "<tr><td colspan='$col'><input disabled='disabled' type='text' name='helpbox".$texte."' size='45' maxlength='100' style='width:100%; font-size:11px; color: black; background-color: #e4e4e4; border: 0px solid #dedede;' value=\"".attribut_html(_T('barre_aide'))."\" /></td></tr>";
+	// Sur les forums publics, petite barre d'aide en survol des icones
+	if (_DIR_RESTREINT)
+		$ret .= "\n<tr>\n<td colspan='$col'><input disabled='disabled' type='text' id='barre_$num_barre' size='45' maxlength='100' style='width:100%; font-size:11px; color: black; background-color: #e4e4e4; border: 0px solid #dedede;'\nvalue=\"".attribut_html(_T('barre_aide'))."\" /></td></tr>";
 
-		$ret .= "</table>";
-	}
+	$ret .= "</table>";
 	return $ret;
 }
 
+// pour compatibilite arriere. utiliser directement le corps a present.
+
 function afficher_claret() {
-	if (test_barre()) return "onselect='storeCaret(this);' onclick='storeCaret(this);' onkeyup='storeCaret(this);' ondbclick='storeCaret(this);'";
+	include_ecrire ("inc_layer.php3");
+	return $GLOBALS['browser_caret'];
 }
+
 ?>
diff --git a/ecrire/inc_layer.php3 b/ecrire/inc_layer.php3
index f81cdc025d..3b5db56f92 100644
--- a/ecrire/inc_layer.php3
+++ b/ecrire/inc_layer.php3
@@ -88,12 +88,14 @@ document.write('<a class=\"triangle_block\" href=\"javascript:$javasc\"><img nam
 //
 function verif_butineur() {
 	global $HTTP_USER_AGENT, $browser_name, $browser_version;
-	global $browser_description, $browser_rev, $browser_layer;
+	global $browser_description, $browser_rev, $browser_layer, $browser_barre;
 	ereg("^([A-Za-z]+)/([0-9]+\.[0-9]+) (.*)$", $HTTP_USER_AGENT, $match);
 	$browser_name = $match[1];
 	$browser_version = $match[2];
 	$browser_description = $match[3];
 	$browser_layer = '';
+	$browser_layer = '';
+	$browser_barre = '';
 
 	if (eregi("opera", $browser_description)) {
 		eregi("Opera ([^\ ]*)", $browser_description, $match);
@@ -106,6 +108,7 @@ function verif_butineur() {
 		$browser_name = "MSIE";
 		$browser_version = $match[1];
 		$browser_layer = (($browser_version < 5) ? '' :  http_script('', _DIR_INCLUDE . 'layer.js',''));
+		$browser_barre = ($browser_version >= 5.5);
 	}
 	else if (eregi("KHTML", $browser_description) &&
 		eregi("Safari/([^;]*)", $browser_description, $match)) {
@@ -123,6 +126,7 @@ function verif_butineur() {
 			$browser_rev = 1.4;
 		// Machins quelconques => equivalents 1.0 par defaut (Konqueror, etc.)
 		else $browser_rev = 1.0;
+		$browser_barre = $browser_rev >= 1.3;
 	}
 
 	if (!$browser_name) $browser_name = "Mozilla";
@@ -130,4 +134,10 @@ function verif_butineur() {
 
 verif_butineur();
 
+$GLOBALS['browser_caret'] =  (!$GLOBALS['browser_barre'] ? '' : "
+onselect='storeCaret(this);'
+onclick='storeCaret(this);'
+onkeyup='storeCaret(this);'
+ondbclick='storeCaret(this);'");
+
 ?>
diff --git a/formulaire_forum-dist.html b/formulaire_forum-dist.html
index d869ff7567..67bba9eacf 100644
--- a/formulaire_forum-dist.html
+++ b/formulaire_forum-dist.html
@@ -1,4 +1,4 @@
-<form action='[(#HTTP_VARS{url})]' method='post' id='formulaire'>
+<form action='[(#HTTP_VARS{url})]' method='post' name='formulaire'>
       <input type='hidden' name='ajout_forum' value="oui" />
       <input type='hidden' name='id_message' value="[(#HTTP_VARS{id_message})]" />
       <input type='hidden' name='alea' value="[(#HTTP_VARS{alea})]" />
@@ -18,9 +18,7 @@
       <fieldset class='spip_encadrer'>
 	<legend><b><:forum_texte:></b></legend>
 	<p><:info_creation_paragraphe:></p>
-	[(#HTTP_VARS*{afficher_barre})]
-	<textarea name='texte' rows='12' class='forml' cols='40'
-	  [(#HTTP_VARS{afficher_claret})] >[(#HTTP_VARS{texte})]</textarea>
+[(#HTTP_VARS{texte}|barre_forum)]
       </fieldset>
       <br />
       [(#HTTP_VARS*{table})]
diff --git a/inc-formulaire_forum.php3 b/inc-formulaire_forum.php3
index db4e42d155..b27dbf22b8 100644
--- a/inc-formulaire_forum.php3
+++ b/inc-formulaire_forum.php3
@@ -7,7 +7,6 @@ include_ecrire('inc_texte.php3');
 include_ecrire('inc_filtres.php3');
 include_ecrire('inc_lang.php3');
 include_ecrire('inc_mail.php3');
-include_ecrire('inc_barre.php3');
 include_ecrire('inc_forum.php3');
 include_ecrire("inc_abstract_sql.php3");
 include_local(_FILE_CONNECT);
@@ -167,9 +166,6 @@ function balise_FORMULAIRE_FORUM_dyn($titre, $table, $forums_publics, $id_rubriq
 		     'formulaire_forum',
 		     0,
 		     array(
-		     'afficher_claret' => afficher_claret(),
-		     // ca devrait plutot etre un squelette
-		     'afficher_barre' => afficher_barre('formulaire', 'texte', true),
 		     'afficher_non' => 
 		     ($afficher_texte != 'non' ? '' :
 		      (boutonne('hidden', 'titre', htmlspecialchars($titre)) .
@@ -196,6 +192,26 @@ function balise_FORMULAIRE_FORUM_dyn($titre, $table, $forums_publics, $id_rubriq
 		     ));
 }
 
+
+function barre_forum($texte)
+{
+	include_ecrire('inc_layer.php3');
+
+	if (!$GLOBALS['browser_barre'])
+		return "<textarea rows='12' class='forml' cols='40'>$texte</textarea>";
+	static $num_formulaire = 0;
+	$num_formulaire++;
+	include_ecrire('inc_barre.php3');
+	return afficher_barre("document.getElementById('formulaire_$num_formulaire')", true) .
+	  "
+<textarea rows='12' class='forml' cols='40'
+id='formulaire_$num_formulaire'
+onselect='storeCaret(this);'
+onclick='storeCaret(this);'
+onkeyup='storeCaret(this);'
+ondbclick='storeCaret(this);'>$texte</textarea>";
+}
+
 // Mots-cles dans les forums :
 // Si la variable de personnalisation $afficher_groupe[] est definie
 // dans le fichier d'appel, et si la table de reference est OK, proposer
-- 
GitLab