diff --git a/.gitattributes b/.gitattributes index 3028201cdcbde5fa9d10cd47ff4bbd2e590ceb9f..edc05b2fdb456b1974c55f366b6ac119e114e889 100644 --- a/.gitattributes +++ b/.gitattributes @@ -61,11 +61,24 @@ ecrire/img_pack/aide_rtl.gif -text ecrire/img_pack/article-24.gif -text ecrire/img_pack/asuivre-24.gif -text ecrire/img_pack/asuivre-48.gif -text +ecrire/img_pack/barre-a-grave.png -text ecrire/img_pack/barre-blanc.gif -text +ecrire/img_pack/barre-bold.png -text ecrire/img_pack/barre-couleurs.gif -text ecrire/img_pack/barre-d.gif -text +ecrire/img_pack/barre-e-aigu.png -text +ecrire/img_pack/barre-euro.png -text ecrire/img_pack/barre-g.gif -text +ecrire/img_pack/barre-guillemets.png -text +ecrire/img_pack/barre-intertitre.png -text +ecrire/img_pack/barre-italic.png -text +ecrire/img_pack/barre-lien.png -text ecrire/img_pack/barre-noir.gif -text +ecrire/img_pack/barre-note.png -text +ecrire/img_pack/barre-oe-maj.png -text +ecrire/img_pack/barre-oe.png -text +ecrire/img_pack/barre-quote.png -text +ecrire/img_pack/barre-wikipedia.png -text ecrire/img_pack/base-24.gif -text ecrire/img_pack/breve-24.gif -text ecrire/img_pack/cache-24.gif -text diff --git a/ecrire/articles_edit.php3 b/ecrire/articles_edit.php3 index 8c4ed754805f8061662b77ba1df84db2e651bbc5..8c5ad5e86c7ac9069f5d4ae476890c22074a8ed9 100644 --- a/ecrire/articles_edit.php3 +++ b/ecrire/articles_edit.php3 @@ -2,6 +2,7 @@ include ("inc.php3"); include_ecrire ("inc_documents.php3"); +include_ecrire ("inc_barre.php3"); $articles_surtitre = lire_meta("articles_surtitre"); $articles_soustitre = lire_meta("articles_soustitre"); @@ -284,7 +285,7 @@ echo "<P><HR><P>"; $lien = 'articles.php3'; if ($id_article) $lien .= "?id_article=$id_article"; - echo "<FORM ACTION='$lien' METHOD='post'>\n"; + echo "<FORM ACTION='$lien' METHOD='post' name='formulaire'>\n"; if ($id_article) echo "<INPUT TYPE='Hidden' NAME='id_article' VALUE='$id_article'>"; @@ -407,8 +408,10 @@ echo "<P><HR><P>"; $nombre_textes ++; list($texte1,$texte) = coupe_trop_long($texte); - $textes_supplement .= "<BR><TEXTAREA NAME='texte$nombre_textes'". - " CLASS='formo' ROWS='$rows' COLS='40' wrap=soft>" . + $textes_supplement .= "<BR>"; + $textes_supplement .= afficher_barre('formulaire', 'texte'.$nombre_textes); + $textes_supplement .= "<TEXTAREA NAME='texte$nombre_textes'". + " CLASS='formo' ".afficher_claret()." ROWS='$rows' COLS='40' wrap=soft>" . $texte1 . "</TEXTAREA><P>\n"; } } @@ -419,7 +422,9 @@ echo "<P><HR><P>"; echo $textes_supplement; - echo "<BR><TEXTAREA NAME='texte' CLASS='formo' ROWS='$rows' COLS='40' wrap=soft>"; + echo "<BR>"; + echo afficher_barre('formulaire', 'texte'); + echo "<TEXTAREA NAME='texte' ".afficher_claret()." CLASS='formo' ROWS='$rows' COLS='40' wrap=soft>"; echo $texte; echo "</TEXTAREA><P>\n"; diff --git a/ecrire/breves_edit.php3 b/ecrire/breves_edit.php3 index 9d0879a6d210465621b4a002802edcb78a8d98ad..09198a7efbbbdefc5f05a70c8bbd052d56677b63 100644 --- a/ecrire/breves_edit.php3 +++ b/ecrire/breves_edit.php3 @@ -2,6 +2,7 @@ include ("inc.php3"); include_ecrire ("inc_documents.php3"); +include_ecrire ("inc_barre.php3"); function mySel($varaut,$variable){ $retour= " VALUE=\"$varaut\""; @@ -113,7 +114,7 @@ if ($new != "oui") { if ($connect_statut=="0minirezo" OR $statut=="prop" OR $new == "oui") { - echo "<FORM ACTION='breves_voir.php3' METHOD='post'>"; + echo "<FORM ACTION='breves_voir.php3' METHOD='post' name='formulaire'>"; echo "<INPUT TYPE='Hidden' NAME='modifier_breve' VALUE=\"oui\">"; echo "<INPUT TYPE='Hidden' NAME='id_breve' VALUE=\"$id_breve\">"; @@ -156,7 +157,8 @@ if ($connect_statut=="0minirezo" OR $statut=="prop" OR $new == "oui") { else $rows = 15; echo "<B>"._T('entree_texte_breve')."</B><BR>"; - echo "<TEXTAREA NAME='texte' ROWS='$rows' CLASS='formo' COLS='40' wrap=soft>"; + echo afficher_barre('formulaire', 'texte'); + echo "<TEXTAREA NAME='texte' ".afficher_claret()." 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 c73b769d11c6d63fbc4b2747f15f0b6e7046bb53..f316b1c4a90d446e2321688651dbdcb9249a84ee 100644 --- a/ecrire/forum_envoi.php3 +++ b/ecrire/forum_envoi.php3 @@ -1,6 +1,7 @@ <?php include ("inc.php3"); +include_ecrire ("inc_barre.php3"); if ($modif_forum != "oui") $titre_message = ereg_replace("^([^>])", "> \\1", $titre_message); @@ -50,7 +51,7 @@ if ($id_parent) { } -echo "<FORM ACTION='forum_envoi.php3' METHOD='post'>"; +echo "<FORM ACTION='forum_envoi.php3' name='formulaire' METHOD='post'>"; if ($titre_parent) { debut_cadre_relief("forum-interne-24.gif"); @@ -134,7 +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 "<TEXTAREA NAME='texte' ROWS='15' CLASS='formo' COLS='40' wrap=soft>"; +echo afficher_barre('formulaire', 'texte', true); +echo "<TEXTAREA NAME='texte' ".afficher_claret()." ROWS='15' CLASS='formo' COLS='40' wrap=soft>"; echo entites_html($texte); echo "</TEXTAREA><P>\n"; diff --git a/ecrire/img_pack/barre-a-grave.png b/ecrire/img_pack/barre-a-grave.png new file mode 100644 index 0000000000000000000000000000000000000000..50c47394d6d4787e333765d4a072b79a8060fc4f Binary files /dev/null and b/ecrire/img_pack/barre-a-grave.png differ diff --git a/ecrire/img_pack/barre-bold.png b/ecrire/img_pack/barre-bold.png new file mode 100644 index 0000000000000000000000000000000000000000..67b3c88e5af4060854bba3e90e037bd8e7c6b9ab Binary files /dev/null and b/ecrire/img_pack/barre-bold.png differ diff --git a/ecrire/img_pack/barre-e-aigu.png b/ecrire/img_pack/barre-e-aigu.png new file mode 100644 index 0000000000000000000000000000000000000000..0915f86016681b55845f32bdd8cb33c3d714586a Binary files /dev/null and b/ecrire/img_pack/barre-e-aigu.png differ diff --git a/ecrire/img_pack/barre-euro.png b/ecrire/img_pack/barre-euro.png new file mode 100644 index 0000000000000000000000000000000000000000..d1f1467dcbd76a0bd2ef32ef6c214b1ecc15c00d Binary files /dev/null and b/ecrire/img_pack/barre-euro.png differ diff --git a/ecrire/img_pack/barre-guillemets.png b/ecrire/img_pack/barre-guillemets.png new file mode 100644 index 0000000000000000000000000000000000000000..b929bc2881aecae2a34710d73fa0c4c5d35098c0 Binary files /dev/null and b/ecrire/img_pack/barre-guillemets.png differ diff --git a/ecrire/img_pack/barre-intertitre.png b/ecrire/img_pack/barre-intertitre.png new file mode 100644 index 0000000000000000000000000000000000000000..7a044b58f1ea454d785b0aca2f1e827b73db3fe1 Binary files /dev/null and b/ecrire/img_pack/barre-intertitre.png differ diff --git a/ecrire/img_pack/barre-italic.png b/ecrire/img_pack/barre-italic.png new file mode 100644 index 0000000000000000000000000000000000000000..c4ebf4b03c2ecd05ddfba7e361c5b1f693df98c9 Binary files /dev/null and b/ecrire/img_pack/barre-italic.png differ diff --git a/ecrire/img_pack/barre-lien.png b/ecrire/img_pack/barre-lien.png new file mode 100644 index 0000000000000000000000000000000000000000..d40ee067839393570619cfba9ee15281588c0959 Binary files /dev/null and b/ecrire/img_pack/barre-lien.png differ diff --git a/ecrire/img_pack/barre-note.png b/ecrire/img_pack/barre-note.png new file mode 100644 index 0000000000000000000000000000000000000000..40516c86e7932a00af16d39ae087327627de6ffa Binary files /dev/null and b/ecrire/img_pack/barre-note.png differ diff --git a/ecrire/img_pack/barre-oe-maj.png b/ecrire/img_pack/barre-oe-maj.png new file mode 100644 index 0000000000000000000000000000000000000000..eb681d2c1c23d0366318433596bab9af57a4994b Binary files /dev/null and b/ecrire/img_pack/barre-oe-maj.png differ diff --git a/ecrire/img_pack/barre-oe.png b/ecrire/img_pack/barre-oe.png new file mode 100644 index 0000000000000000000000000000000000000000..f7061a255e0bb84ebd0f095582bd233c991f03fc Binary files /dev/null and b/ecrire/img_pack/barre-oe.png differ diff --git a/ecrire/img_pack/barre-quote.png b/ecrire/img_pack/barre-quote.png new file mode 100644 index 0000000000000000000000000000000000000000..2a1be699bdcfda5faedcd089e79546318853c5fb Binary files /dev/null and b/ecrire/img_pack/barre-quote.png differ diff --git a/ecrire/img_pack/barre-wikipedia.png b/ecrire/img_pack/barre-wikipedia.png new file mode 100644 index 0000000000000000000000000000000000000000..a8a5714ab15f6ac27ccd1e21530af7c52bbc9e7a Binary files /dev/null and b/ecrire/img_pack/barre-wikipedia.png differ diff --git a/ecrire/inc_barre.php3 b/ecrire/inc_barre.php3 new file mode 100644 index 0000000000000000000000000000000000000000..089fb53ae56b19d909ca000e85ae68fbf2a2c327 --- /dev/null +++ b/ecrire/inc_barre.php3 @@ -0,0 +1,90 @@ +<?php +// +// Ce fichier ne sera execute qu'une fois +if (defined("_INC_BARRE")) return; +define("_INC_BARRE", "1"); + +//include_ecrire ("inc_layers.php3"); // (pour memoire) + +function test_barre() { + global $HTTP_UA_OS, $browser_name, $browser_version, $browser_description, $browser_rev; + + if ($browser_name == '') verif_butineur(); + + if ( + (eregi("msie", $browser_name) AND $browser_version >= 5 AND $HTTP_UA_OS != 'MacOS') + || (eregi("mozilla", $browser_name) AND $browser_version >= 5 AND $browser_rev >= 1.3) + ) + return true; +} + + +function test_claret() { + global $HTTP_UA_OS, $browser_name, $browser_version, $browser_description, $browser_rev; + + if ( test_barre() && (eregi("msie", $browser_name)) ) return true; +} + + +function afficher_script_barre(){ + global $flag_ecrire, $flag_script_deja_affiche; + + if ($flag_script_deja_affiche != 1) { + $flag_script_deja_affiche = 1; + $ret = '<script type="text/javascript" src="'.($flag_ecrire ? "" : "ecrire/").'spip_barre.js">'; + $ret .= "</script>\n"; + return $ret; + } +} + +function afficher_barre($formulaire='',$texte='', $forum=false) { + global $spip_lang, $flag_ecrire; + + if (test_barre()) { + $ret = afficher_script_barre(); + $champ = "document.$formulaire.$texte"; + $ret .= "<div align='left'>"; + $ret .= "<a href=\"javascript:barre_raccourci('{{','}}',$champ)\"><img src='".($flag_ecrire ? "" : "ecrire/")."img_pack/barre-bold.png' border='0' width='24' height='24' title='Mettre en gras'></a>"; + $ret .= " "; + $ret .= "<a href=\"javascript:barre_raccourci('{','}',$champ)\"><img src='".($flag_ecrire ? "" : "ecrire/")."img_pack/barre-italic.png' border='0' width='24' height='24' title='Mettre en italique'></a>"; + $ret .= " "; + $ret .= "<a href=\"javascript:barre_raccourci('\n\n{{{','}}}\n\n',$champ)\"><img src='".($flag_ecrire ? "" : "ecrire/")."img_pack/barre-intertitre.png' border='0' width='24' height='24' title='Créer un intertitre'></a>"; + $ret .= " "; + $ret .= "<a href=\"javascript:barre_raccourci('[[',']]',$champ)\"><img src='".($flag_ecrire ? "" : "ecrire/")."img_pack/barre-note.png' border='0' width='24' height='24' title='Créer une note de bas de page'></a>"; + $ret .= " "; + $ret .= "<a href=\"javascript:barre_demande('[','->',']','Veuillez indiquer l\'adresse de votre lien (vous pouvez indiquer une adresse Web sous la forme http://www.monsite/com ou simplement indiquer le numéro d\'un article de ce site.',$champ)\"><img src='".($flag_ecrire ? "" : "ecrire/")."img_pack/barre-lien.png' border='0' width='24' height='24' title='Créer un lien hypertexte'></a>"; + + if ($forum) { + $ret .= " "; + $ret .= "<a href=\"javascript:barre_raccourci('\n\n<quote>','</quote>\n\n',$champ)\"><img src='".($flag_ecrire ? "" : "ecrire/")."img_pack/barre-quote.png' border='0' width='24' height='24' title='Citer un extrait'></a>"; + } + + if ($spip_lang == "fr") { + $ret .= " "; + $ret .= "<a href=\"javascript:barre_raccourci('«','»',$champ)\"><img src='".($flag_ecrire ? "" : "ecrire/")."img_pack/barre-guillemets.png' border='0' width='24' height='24' title='Placer entre guillemets'></a>"; + if (test_claret()) { + $ret .= " "; + $ret .= "<a href=\"javascript:barre_inserer('Œ',$champ)\"><img src='".($flag_ecrire ? "" : "ecrire/")."img_pack/barre-oe-maj.png' border='0' width='24' height='24' title='Insérer un E-dans-l-O majuscule'></a>"; + $ret .= " "; + $ret .= "<a href=\"javascript:barre_inserer('œ',$champ)\"><img src='".($flag_ecrire ? "" : "ecrire/")."img_pack/barre-oe.png' border='0' width='24' height='24' title='Insérer un E-dans-l-O'></a>"; + $ret .= " "; + $ret .= "<a href=\"javascript:barre_inserer('À',$champ)\"><img src='".($flag_ecrire ? "" : "ecrire/")."img_pack/barre-a-grave.png' border='0' width='24' height='24' title='Insérer un A accent grave'></a>"; + $ret .= " "; + $ret .= "<a href=\"javascript:barre_inserer('É',$champ)\"><img src='".($flag_ecrire ? "" : "ecrire/")."img_pack/barre-e-aigu.png' border='0' width='24' height='24' title='Insérer un E accent aigu'></a>"; + } + } + if (test_claret()) { + $ret .= " "; + $ret .= "<a href=\"javascript:barre_inserer('€',$champ)\"><img src='".($flag_ecrire ? "" : "ecrire/")."img_pack/barre-euro.png' border='0' width='24' height='24' title='Insérer le symbole euro'></a>"; + } + $ret .= "<div>"; + } + return $ret; +} + +function afficher_claret() { + if (test_claret()) { + return "onselect='storeCaret(this);' onclick='storeCaret(this);' onkeyup='storeCaret(this);' ondbclick='storeCaret(this);'"; + } +} +?> \ No newline at end of file diff --git a/ecrire/inc_layer.php3 b/ecrire/inc_layer.php3 index d405dc6658556479eeddd6530bd2cc1e0013c66a..235f22124c90c60a0d7e3d34d53dcf523a70a953 100644 --- a/ecrire/inc_layer.php3 +++ b/ecrire/inc_layer.php3 @@ -9,25 +9,7 @@ define("_INC_LAYER", "1"); // Le contenu de cette fonction est a mettre dans inc_version // -function init_layer() { - global $HTTP_USER_AGENT, $browser_name, $browser_version, $browser_description; - ereg("^([A-Za-z]+)/([0-9]+\.[0-9]+) (.*)$", $HTTP_USER_AGENT, $match); - $browser_name = $match[1]; - $browser_version = $match[2]; - $browser_description = $match[3]; - - if (eregi("opera", $browser_description)) { - eregi("Opera ([^\ ]*)", $browser_description, $match); - $browser_name = "Opera"; - $browser_version = $match[1]; - } - else if (eregi("msie", $browser_description)) { - eregi("MSIE ([^;]*)", $browser_description, $match); - $browser_name = "MSIE"; - $browser_version = $match[1]; - } -} function test_layer(){ global $browser_name, $browser_version, $browser_description; @@ -136,6 +118,6 @@ function bouton_block_visible($nom_block){ } } -init_layer(); +verif_butineur(); ?> diff --git a/ecrire/inc_texte.php3 b/ecrire/inc_texte.php3 index d6dd9e47ce21f8d82764d8eeabd1e2f9603a214b..0283a38b661ae8e268f8fa3edd2456f5a4c0c29f 100644 --- a/ecrire/inc_texte.php3 +++ b/ecrire/inc_texte.php3 @@ -297,7 +297,7 @@ function typo_fr($letexte) { $letexte = ereg_replace(" *~+ *", "~", $letexte); $cherche2 = array( - '/(http|ftp|mailto)~:/', + '/(http|https|ftp|mailto)~:/', '/~/' ); $remplace2 = array( @@ -731,6 +731,8 @@ function traiter_raccourcis($letexte, $les_echap = false, $traiter_les_notes = ' $letexte = eregi_replace("(<br[[:space:]]*/?".">)+(<p>|<br[[:space:]]*/?".">)", "\n<p class=\"spip\">", $letexte); $letexte = str_replace("<p>", "<p class=\"spip\">", $letexte); $letexte = str_replace("\n", " ", $letexte); + $letexte = str_replace("<quote>", "<div class='spip_quote'>", $letexte); + $letexte = str_replace("<\/quote>", "</div'>", $letexte); } else { $cherche1 = array( @@ -748,7 +750,9 @@ function traiter_raccourcis($letexte, $les_echap = false, $traiter_les_notes = ' /* 11 */ "/(<br[[:space:]]*\/?".">){2,}/", /* 12 */ "/<p>([\n]*)(<br[[:space:]]*\/?".">)+/", /* 13 */ "/<p>/", - /* 14 */ "/\n/" + /* 14 */ "/\n/", + /* 16 */ "/<quote>/", + /* 16 */ "/<\/quote>/" ); $remplace1 = array( /* 0 */ "___SPIP_ligne_horizontale___", @@ -765,7 +769,9 @@ function traiter_raccourcis($letexte, $les_echap = false, $traiter_les_notes = ' /* 11 */ "\n<p class=\"spip\">", /* 12 */ "\n<p class=\"spip\">", /* 13 */ "<p class=\"spip\">", - /* 14 */ " " + /* 14 */ " ", + /* 15 */ "<div class=\"spip_quote\">", + /* 16 */ "</div>" ); $letexte = ereg_remplace($cherche1, $remplace1, $letexte); } diff --git a/ecrire/inc_version.php3 b/ecrire/inc_version.php3 index 2b8849e180670d9be8ad89480c29c9ea3c46e73b..74be702e8fd3dffecbdc21c51de723f3f09b11d8 100644 --- a/ecrire/inc_version.php3 +++ b/ecrire/inc_version.php3 @@ -805,6 +805,34 @@ function spip_log($message) { } } +// +// Tests sur le nom du butineur +// +function verif_butineur() { + global $HTTP_USER_AGENT, $browser_name, $browser_version, $browser_description, $browser_rev; + ereg("^([A-Za-z]+)/([0-9]+\.[0-9]+) (.*)$", $HTTP_USER_AGENT, $match); + $browser_name = $match[1]; + $browser_version = $match[2]; + $browser_description = $match[3]; + + + if (eregi("opera", $browser_description)) { + eregi("Opera ([^\ ]*)", $browser_description, $match); + $browser_name = "Opera"; + $browser_version = $match[1]; + } + else if (eregi("msie", $browser_description)) { + eregi("MSIE ([^;]*)", $browser_description, $match); + $browser_name = "MSIE"; + $browser_version = $match[1]; + } + else if (eregi("mozilla", $browser_name) AND $browser_version >= 5) { + ereg("rv:([0-9]+\.[0-9]+)", $browser_description, $match); + $browser_rev = doubleval($match[1]); + } +} + + function spip_debug($message) { if ($GLOBALS['debug']) diff --git a/ecrire/spip_barre.js b/ecrire/spip_barre.js new file mode 100644 index 0000000000000000000000000000000000000000..0e031fcd8c550025d8bc54e41a41993d8616b0d2 --- /dev/null +++ b/ecrire/spip_barre.js @@ -0,0 +1,96 @@ +// Barre de raccourcis +// derive du: +// bbCode control by subBlue design : www.subBlue.com + +// Startup variables +var theSelection = false; + +// Check for Browser & Platform for PC & IE specific bits +// More details from: http://www.mozilla.org/docs/web-developer/sniffer/browser_type.html +var clientPC = navigator.userAgent.toLowerCase(); // Get client info +var clientVer = parseInt(navigator.appVersion); // Get browser version + +var is_ie = ((clientPC.indexOf("msie") != -1) && (clientPC.indexOf("opera") == -1)); +var is_nav = ((clientPC.indexOf('mozilla')!=-1) && (clientPC.indexOf('spoofer')==-1) + && (clientPC.indexOf('compatible') == -1) && (clientPC.indexOf('opera')==-1) + && (clientPC.indexOf('webtv')==-1) && (clientPC.indexOf('hotjava')==-1)); +var is_moz = 0; + +var is_win = ((clientPC.indexOf("win")!=-1) || (clientPC.indexOf("16bit") != -1)); +var is_mac = (clientPC.indexOf("mac")!=-1); + + +function barre_raccourci(debut,fin,champ) { + var txtarea = champ; + + txtarea.focus(); + donotinsert = false; + theSelection = false; + bblast = 0; + + + if ((clientVer >= 4) && is_ie && is_win) + { + theSelection = document.selection.createRange().text; // Get text selection + if (theSelection) { + // Add tags around selection + document.selection.createRange().text = debut + theSelection + fin; + txtarea.focus(); + theSelection = ''; + return; + } + } + else if (txtarea.selectionEnd && (txtarea.selectionEnd - txtarea.selectionStart > 0)) + { + mozWrap(txtarea, debut, fin); + return; + } +} + +function barre_demande(debut,milieu,fin,affich,champ) { + var inserer = prompt(affich); + + if (inserer != null) { + if (inserer == "") {inserer = "xxx"; } + + barre_raccourci(debut, milieu+inserer+fin, champ); + } +} + +function barre_inserer(text,champ) { + var txtarea = champ; + + if (txtarea.createTextRange && txtarea.caretPos) { + var caretPos = txtarea.caretPos; + caretPos.text = caretPos.text.charAt(caretPos.text.length - 1) == ' ' ? caretPos.text + text + ' ' : caretPos.text + text; + txtarea.focus(); + } else { + txtarea.value += text; + txtarea.focus(); + } +} + + +// From http://www.massless.org/mozedit/ +function mozWrap(txtarea, open, close) +{ + var selLength = txtarea.textLength; + var selStart = txtarea.selectionStart; + var selEnd = txtarea.selectionEnd; + if (selEnd == 1 || selEnd == 2) + selEnd = selLength; + + var s1 = (txtarea.value).substring(0,selStart); + var s2 = (txtarea.value).substring(selStart, selEnd) + var s3 = (txtarea.value).substring(selEnd, selLength); + txtarea.value = s1 + open + s2 + close + s3; + return; +} + +// Insert at Claret position. Code from +// http://www.faqts.com/knowledge_base/view.phtml/aid/1052/fid/130 + function storeCaret (textEl) { + if (textEl.createTextRange) + textEl.caretPos = document.selection.createRange().duplicate(); + } + diff --git a/ecrire/spip_style.php3 b/ecrire/spip_style.php3 index 534b0b923c445f96239c2827494735126ab12223..117bf95c763cf86bceef3368c7f5b61dd000ae8d 100644 --- a/ecrire/spip_style.php3 +++ b/ecrire/spip_style.php3 @@ -239,6 +239,14 @@ a.spip_glossaire:hover {text-decoration: underline overline;} background-color: #FFFFFF; padding: 5px; } +.spip_quote { + margin-left : 40px; + margin-top : 10px; + margin-bottom : 10px; + border : solid 1px #aaaaaa; + background-color: #ffffff; + padding: 5px; +} .boutonlien { font-family: Verdana,Arial,Helvetica,sans-serif; diff --git a/inc-forum.php3 b/inc-forum.php3 index fd2bd7958e9a8e1730efc01c96cdcb0604bc7a1f..ef1fd7d52a023812f4575321804d565f88e06020 100644 --- a/inc-forum.php3 +++ b/inc-forum.php3 @@ -12,6 +12,8 @@ include_ecrire("inc_acces.php3"); include_ecrire("inc_texte.php3"); include_ecrire("inc_filtres.php3"); include_ecrire("inc_mail.php3"); +include_ecrire("inc_barre.php3"); + if (file_exists("inc-urls.php3")) { include_local ("inc-urls.php3"); } @@ -109,7 +111,7 @@ function retour_forum($id_rubrique, $id_parent, $id_article, $id_breve, $id_synd $ret .= '<'.'?php { ?'.'>'; $ret .= "\n<a name='formulaire_forum'></a>\n"; - $ret .= "\n<form action='$lien' method='post'>"; + $ret .= "\n<form action='$lien' name='formulaire' method='post'>"; if ($forums_publics == "pri") { $ret.= _T('forum_info_modere')."<p>"; @@ -230,7 +232,9 @@ function retour_forum($id_rubrique, $id_parent, $id_article, $id_breve, $id_synd if ($afficher_texte != "non"){ $ret .= "\n<br /><div class='spip_encadrer'><b>"._T('forum_texte')."</b><br />\n"; $ret .= _T('forum_creer_paragraphes'); - $ret .= "<br>\n<textarea name='texte' rows='12' class='forml' cols='40'>"; + $ret .= "<br />\n"; + $ret .= afficher_barre('formulaire', 'texte', true); + $ret .= "<textarea name='texte' ".afficher_claret()." rows='12' class='forml' cols='40'>"; $ret.= $texte; $ret .= "\n</textarea></div>\n"; } diff --git a/spip_style.css b/spip_style.css index 48bc0e1dad37bf8d270c94839fb33ea79ecdfaab..75ef2a8b35ca2236d27b9774eded1e01d80a5e55 100644 --- a/spip_style.css +++ b/spip_style.css @@ -72,6 +72,14 @@ i.spip { } padding: 5px; } +.spip_quote { + margin-left : 40px; + margin-top : 10px; + margin-bottom : 10px; + border : solid 1px #aaaaaa; + background-color: #ffffff; + padding: 5px; +} .spip_bouton { background-color: #FFCC00;}