source: spip-zone/_plugins_/_stable_/barre_typo_enrichie/1_9_1/inc/barre.php @ 9946

Last change on this file since 9946 was 9946, checked in by real3t@…, 13 years ago

Intégration d'une partie de la barre typo extensible.

Attention spipcarto : ton éditeur détruit les caractères spéciaux, or, il y en a un dans une des regexp : §

File size: 21.9 KB
Line 
1<?php
2
3/***************************************************************************\
4 *  SPIP, Systeme de publication pour l'internet                           *
5 *                                                                         *
6 *  Copyright (c) 2001-2007                                                *
7 *  Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James  *
8 *                                                                         *
9 *  Ce programme est un logiciel libre distribue sous licence GNU/GPL.     *
10 *  Pour plus de details voir le fichier COPYING.txt ou l'aide en ligne.   *
11\***************************************************************************/
12
13if (!defined("_ECRIRE_INC_VERSION")) return;
14if (!defined('_DIR_PLUGIN_BARRETYPOENRICHIE')){
15$p=explode(basename(_DIR_PLUGINS)."/",str_replace('\\','/',realpath(dirname(dirname(__FILE__)))));
16        define('_DIR_PLUGIN_BARRETYPOENRICHIE',(_DIR_PLUGINS.end($p)));
17}
18
19include_spip('inc/vieilles_defs');
20// construit un bouton (ancre) de raccourci avec icone et aide
21if (!function_exists('afficher_claret')){
22        function afficher_claret() {
23                include_spip('inc/layer');
24                return $GLOBALS['browser_caret'];
25        }
26}
27
28// http://doc.spip.org/@bouton_barre_racc
29function bouton_barre_racc($action, $img, $help, $champhelp) {
30        include_spip('inc/charsets');
31
32        $a = attribut_html($help);
33        $action = str_replace ("&lt;", '%3C',  $action);
34        $action = str_replace ("&gt;", '%3E',  $action);
35        $action = str_replace ("\n", '%5Cn',  $action);
36        $action = unicode_to_javascript(html2unicode($action));
37        return "<a href=\"javascript:"
38                .$action
39                ."\"\n class='spip_barre' tabindex='1000' title=\""
40                . $a
41                ."\"" 
42                .(!_DIR_RESTREINT ? '' :  " onmouseover=\"helpline('"
43                  .addslashes($a)
44                  ."',$champhelp)\" onmouseout=\"helpline('"
45                  .attribut_html(_T('barre_aide'))
46                  ."', $champhelp)\"")
47                ."><img src='"
48                .$img
49                ."' height='16' width='16' alt=\"".$a."\" /></a>";
50}
51
52// sert a construire les sousbarre
53function produceWharf($id, $title = '', $sb = '') {
54  $visible = ($changer_virtuel || $virtuel);
55  $res .= $title;
56  $GLOBALS['numero_block'][$id] = ($GLOBALS['compteur_block']+1);
57  if ($visible) {
58    $res .= debut_block_visible("arb_".$GLOBALS['numero_block'][$id]);
59  } else {
60    $res .= debut_block_invisible("arb_".$GLOBALS['numero_block'][$id]);
61  }
62  $res .= $sb;
63  $res .= fin_block();
64  return $res;
65}
66
67//gestion des lignes optionnelles
68
69//creation de tableau
70function afficher_gestion_tableau($champ) {
71
72$tableau_formulaire = '<table class="spip_barre" style="width: auto; padding: 1px!important; border-top: 0px;" summary="">
73<tr><td>
74'._T('bartypenr:barre_gestion_colonne').': <input type="text" name="barre_nbcolones" style="width: 30px;" value="2" size="2" maxlength="2"   /></td><td>
75'._T('bartypenr:barre_gestion_ligne').': <input type="text" name="barre_nbrangs" style="width: 30px;" value="2" size="2" maxlength="2" /></td><td>
76<input type="checkbox" name="barre_doentete" value="-1" checked="checked" /> '._T('bartypenr:barre_gestion_entete')
77.'</td><td>
78<input type="checkbox" name="barre_docaption" value="-1" checked="checked" /> '._T('bartypenr:barre_gestion_caption')
79.'</td><td>
80  <input type="button" value="OK" class="fondo" onclick="javascript:
81    barre_nbcolones.value = Math.abs(barre_nbcolones.value); barre_nbrangs.value
82    = Math.abs(barre_nbrangs.value);
83    if (!(barre_nbcolones.value == 0 || barre_nbrangs.value == 0)) {
84    barre_tableau('.$champ.', barre_nbcolones.value, barre_nbrangs.value,
85    barre_doentete.checked, barre_docaption.checked); } " />
86</td></tr></table>
87'; 
88  return produceWharf('tableau_gestion','',$tableau_formulaire); 
89}
90
91// construction des liens
92function afficher_gestion_lien($champ) {
93
94$tableau_formulaire = '
95 <table class="spip_barre" style="width: auto; padding: 1px!important; border-top: 0px;" summary="">
96<tr><td> 
97'._T('bartypenr:barre_adresse').'&nbsp;: <input type="text" name="lien_nom" value="http://" size="21" maxlength="255" /><br />
98'._T('bartypenr:barre_bulle').'&nbsp;: <input type="text" name="lien_bulle" value="" size="21" maxlength="255" />
99</td><td>
100'._T('bartypenr:barre_langue').'&nbsp;: <input type="text" name="lien_langue" value="" size="10" maxlength="10" />
101</td><td>
102  <input type="button" value="OK" class="fondo" onclick="javascript:barre_demande_lien(\'[\', \'->\', \']\', lien_nom.value, lien_bulle.value, lien_langue.value,'.$champ.');lien_nom.value=\'\';lien_bulle.value=\'\';lien_langue.value=\'\';" />
103</td></tr></table>
104';
105  return produceWharf('tableau_lien','',$tableau_formulaire);   
106}
107
108// Changer la casse
109function RaccourcisMajusculesMinuscules($champ, $champhelp) {
110        return bouton_barre_racc ("barre_2Majuscules($champ)",  _DIR_PLUGIN_BARRETYPOENRICHIE.'/img_pack/icones_barre/text_uppercase.png', _T('bartypenr:barre_gestion_cr_changercassemajuscules'), $champhelp) .'&nbsp;'
111. bouton_barre_racc ("barre_2Minuscules($champ)",  _DIR_PLUGIN_BARRETYPOENRICHIE.'/img_pack/icones_barre/text_lowercase.png', _T('bartypenr:barre_gestion_cr_changercasseminuscules'), $champhelp);
112}
113
114// gestion de la recherche
115
116function afficher_gestion_remplacer($champ, $champhelp) {
117
118$tableau_formulaire = '
119<table class="spip_barre" style="width: auto; padding: 1px!important; border-top: 0px;" summary="">
120<tr><td><label for="barre_chercher">'.
121_T('bartypenr:barre_gestion_cr_chercher')
122.'</label> <input type="text" id="barre_chercher" name="barre_chercher" value="" size="12" maxlength="255" /><br />
123<input type="checkbox" name="rec_case" id="rec_case" value="yes" />
124<label for="rec_case">'._T('bartypenr:barre_gestion_cr_casse').'</label><br />
125   <input type="button" value="'._T('bartypenr:barre_gestion_cr_chercher').'" class="fondo"
126  onclick="javascript:barre_search(document.formulaire.barre_chercher.value, document.formulaire.rec_entier.checked, document.formulaire.rec_case.checked,'.$champ.');" />
127</td><td><label for="barre_remplacer">'
128._T('bartypenr:barre_gestion_cr_remplacer')
129.'</label> <input type="text" name="barre_remplacer" id="barre_remplacer" value="" size="12" maxlength="255" /><br />
130<input type="checkbox" name="rec_tout" id="rec_tout" value="yes" />
131<label for="rec_tout">'._T('bartypenr:barre_gestion_cr_tout').'</label><br />
132<input type="checkbox" name="rec_entier" id="rec_entier" value="yes" />
133<label for="rec_entier">'._T('bartypenr:barre_gestion_cr_entier').'</label><br />
134   <input type="button" value="'._T('bartypenr:barre_gestion_cr_remplacer').'" class="fondo"
135  onclick="javascript:barre_searchreplace(document.formulaire.barre_chercher.value, document.formulaire.barre_remplacer.value, document.formulaire.rec_tout.checked, document.formulaire.rec_case.checked, document.formulaire.rec_entier.checked,'.$champ.');" />
136</td>
137<td>'._T('bartypenr:barre_gestion_cr_changercasse').' :'. RaccourcisMajusculesMinuscules($champ, $champhelp).'
138</td>
139</tr></table>';
140
141  return produceWharf('tableau_remplacer','',$tableau_formulaire); 
142}
143
144// pour les ancres
145function afficher_gestion_ancre($champ) {
146
147$tableau_formulaire = '
148<table class="spip_barre" style="width: auto; padding: 1px!important; border-top: 0px;" summary="">
149  <tr>
150    <td style="width:auto; text-align:center;"><strong>'.
151_T('bartypenr:barre_gestion_anc_caption')
152.'</strong></td>
153    <td style="width:auto;"><strong>'.
154_T('bartypenr:barre_gestion_anc_inserer')
155.'</strong><br />
156    <label for="ancre_nom"><i>'.
157_T('bartypenr:barre_gestion_anc_nom')
158.'</i></label> <br />
159      <input type="text" name="ancre_nom" id="ancre_nom" />
160         
161        <input type="button" value="OK" class="fondo" onclick="javascript:barre_ancre(\'[\', \'<-\', \']\', ancre_nom.value, '.$champ.');" />
162    </td>
163        <td style="width:auto;"><strong>'.
164_T('bartypenr:barre_gestion_anc_pointer')
165.'</strong><br />
166    <label for="ancre_cible"><i>'.
167_T('bartypenr:barre_gestion_anc_cible')
168.'</i></label> <input type="text" name="ancre_cible" id="ancre_cible" /><br />
169        <label for="ancre_bulle"><i>'.
170_T('bartypenr:barre_gestion_anc_bulle')
171.'</i></label> <input type="text" name="ancre_bulle" id="ancre_bulle" />
172        <input type="button" value="OK" class="fondo" onclick="javascript:barre_demande(\'[\', \'->#\', \']\', ancre_cible.value, ancre_bulle.value, '.$champ.');" />
173</td>
174  </tr>
175</table>';
176
177  return produceWharf('tableau_ancre','',$tableau_formulaire); 
178}
179
180// pour les caracteres
181function afficher_caracteres($champ, $spip_lang, $champhelp) {
182
183        // guillemets
184        if ($spip_lang == "fr" OR $spip_lang == "eo" OR $spip_lang == "cpf" OR $spip_lang == "ar" OR $spip_lang == "es") {
185$reta .= bouton_barre_racc ("barre_raccourci('&laquo;~','~&raquo;',$champ)", _DIR_IMG_ICONES_BARRE."guillemets.png", _T('barre_guillemets'), $champhelp);
186$reta .= bouton_barre_racc ("barre_raccourci('&ldquo;','&rdquo;',$champ)", _DIR_IMG_ICONES_BARRE."guillemets-simples.png", _T('barre_guillemets_simples'), $champhelp);
187}
188else if ($spip_lang == "bg" OR $spip_lang == "de" OR $spip_lang == "pl" OR $spip_lang == "hr" OR $spip_lang == "src") {
189$reta .= bouton_barre_racc ("barre_raccourci('&bdquo;','&ldquo;',$champ)", _DIR_IMG_ICONES_BARRE."guillemets-de.png", _T('barre_guillemets'), $champhelp);
190$reta .= bouton_barre_racc ("barre_raccourci('&sbquo;','&lsquo;',$champ)", _DIR_IMG_ICONES_BARRE."guillemets-uniques-de.png", _T('barre_guillemets_simples'), $champhelp);
191}
192else {
193$reta .= bouton_barre_racc ("barre_raccourci('&ldquo;','&rdquo;',$champ)", _DIR_IMG_ICONES_BARRE."guillemets-simples.png", _T('barre_guillemets'), $champhelp);
194$reta .= bouton_barre_racc ("barre_raccourci('&lsquo;','&rsquo;',$champ)", _DIR_IMG_ICONES_BARRE."guillemets-uniques.png", _T('barre_guillemets_simples'), $champhelp);
195}
196        // caracteres
197if ($spip_lang == "fr" OR $spip_lang == "eo" OR $spip_lang == "cpf") {
198
199$reta .= bouton_barre_racc ("barre_inserer('&Agrave;',$champ)", _DIR_IMG_ICONES_BARRE."agrave-maj.png", _T('barre_a_accent_grave'), $champhelp);
200$reta .= bouton_barre_racc ("barre_inserer('&Eacute;',$champ)", _DIR_IMG_ICONES_BARRE."eacute-maj.png", _T('barre_e_accent_aigu'), $champhelp);
201$reta .= bouton_barre_racc ("barre_inserer('&Egrave;',$champ)", _DIR_PLUGIN_BARRETYPOENRICHIE.'/img_pack/icones_barre/eagrave-maj.png', _T('bartypenr:barre_e_accent_grave'), $champhelp);
202$reta .= bouton_barre_racc ("barre_inserer('&aelig;',$champ)", _DIR_PLUGIN_BARRETYPOENRICHIE.'/img_pack/icones_barre/aelig.png', _T('bartypenr:barre_ea'), $champhelp);
203$reta .= bouton_barre_racc ("barre_inserer('&AElig;',$champ)", _DIR_PLUGIN_BARRETYPOENRICHIE.'/img_pack/icones_barre/aelig-maj.png', _T('bartypenr:barre_ea_maj'), $champhelp);
204
205if ($spip_lang == "fr") {
206$reta .= bouton_barre_racc ("barre_inserer('&oelig;',$champ)", _DIR_IMG_ICONES_BARRE."oelig.png", _T('barre_eo'), $champhelp);
207$reta .= bouton_barre_racc ("barre_inserer('&OElig;',$champ)", _DIR_IMG_ICONES_BARRE."oelig-maj.png", _T('barre_eo_maj'), $champhelp);
208$reta .= bouton_barre_racc ("barre_inserer('&Ccedil;',$champ)", _DIR_PLUGIN_BARRETYPOENRICHIE.'/img_pack/icones_barre/ccedil-maj.png', _T('bartypenr:barre_c_cedille_maj'), $champhelp);
209}
210}
211// euro
212$reta .= bouton_barre_racc ("barre_inserer('&euro;',$champ)", _DIR_IMG_ICONES_BARRE."euro.png", _T('barre_euro'), $champhelp);
213$reta .= '&nbsp;'.RaccourcisMajusculesMinuscules($champ, $champhelp);
214
215$reta .= '&nbsp;';
216       
217$tableau_formulaire = '
218<table class="spip_barre" style="width: auto; padding: 1px!important; border-top: 0px;" summary="">
219  <tr class="spip_barre">
220    <td>'._T('bartypenr:barre_caracteres').'</td>
221    <td>'.$reta.'
222    </td>
223  </tr>
224</table>
225';
226
227  return produceWharf('tableau_caracteres','',$tableau_formulaire);     
228}
229
230// pour les caracteres
231function afficher_boutonsavances($champ, $champhelp) {
232
233$reta = '';
234$reta .= bouton_barre_racc ("barre_raccourci('\n\n{2{','}2}\n\n',$champ)", _DIR_PLUGIN_BARRETYPOENRICHIE.'/img_pack/icones_barre/intertitre2.png', _T('bartypenr:barre_intertitre2'), $champhelp);
235$reta .= bouton_barre_racc ("barre_raccourci('\n\n{3{','}3}\n\n',$champ)", _DIR_PLUGIN_BARRETYPOENRICHIE.'/img_pack/icones_barre/intertitre3.png', _T('bartypenr:barre_intertitre3'), $champhelp);
236$reta .= bouton_barre_racc ("barre_raccourci('[|','|]',$champ)", _DIR_PLUGIN_BARRETYPOENRICHIE.'/img_pack/icones_barre/center.png', _T('bartypenr:barre_centrer'), $champhelp);
237$reta .= bouton_barre_racc ("barre_raccourci('[/','/]',$champ)", _DIR_PLUGIN_BARRETYPOENRICHIE.'/img_pack/icones_barre/right.png', _T('bartypenr:barre_alignerdroite'), $champhelp);
238$reta .= bouton_barre_racc ("barre_raccourci('[(',')]',$champ)", _DIR_PLUGIN_BARRETYPOENRICHIE.'/img_pack/icones_barre/cadretexte.png', _T('bartypenr:barre_encadrer'), $champhelp);
239$reta .= bouton_barre_racc ("barre_raccourci('<poesie>','</poesie>',$champ)", _DIR_PLUGIN_BARRETYPOENRICHIE."/img_pack/icones_barre/poesie.png", _T('bartypenr:barre_poesie'), $champhelp);
240////////////////////////////
241//MODIFICATION
242///////////////////////////
243        global $spip_lang;
244        $params = array($champ,$champhelp,$spip_lang);
245        $add = pipeline("BarreTypoEnrichie_boutonsavances",array($champ,$champhelp,$spip_lang));
246        if ($params!=$add)
247                $reta .= $add;
248///////////////////////////
249
250$reta .= '&nbsp;';
251       
252$tableau_formulaire = '
253<table class="spip_barre" style="width: auto; padding: 1px!important; border-top: 0px;" summary="">
254  <tr class="spip_barre">
255    <td>'._T('bartypenr:barre_avances').'</td>
256    <td>'.$reta.'
257    </td>
258  </tr>
259</table>
260';
261
262  return produceWharf('tableau_boutonsavances','',$tableau_formulaire);         
263}
264
265// construit un tableau de raccourcis pour un noeud de DOM
266
267function afficher_barre($champ, $forum=false, $lang='') {
268        global $spip_lang, $options, $spip_lang_right, $spip_lang_left, $spip_lang;
269        static $num_barre = 0;
270        include_spip('inc/layer');
271        if (!$GLOBALS['browser_barre']) return '';
272        if (!$lang) $lang = $spip_lang;
273        $layer_public = '<script type="text/javascript" src="' . find_in_path('javascript/layer.js').'"></script>';
274        $ret = ($num_barre > 0)  ? '' :
275          $layer_public . '<script type="text/javascript" src="' . find_in_path('js/spip_barre.js').'"></script>';
276
277
278        $num_barre++;
279        $champhelp = "document.getElementById('barre_$num_barre')";
280
281
282 // Pregeneration des toolzbox.. (wharfing)
283    $toolbox .= afficher_boutonsavances($champ, $champhelp);
284        $toolbox .= afficher_caracteres($champ, $spip_lang, $champhelp);
285    //$toolbox .= afficher_gestion_tableau($champ);
286    $toolbox .= afficher_gestion_lien($champ);
287        $toolbox .= afficher_gestion_ancre($champ);
288    $toolbox .= afficher_gestion_remplacer($champ, $champhelp);
289////////////////////////////
290//MODIFICATION
291///////////////////////////
292//un pipeline pour ajouter une toolbox
293    $params=array($champ,$champhelp,$spip_lang);
294    $add=pipeline("BarreTypoEnrichie_toolbox",$params);
295    if ($params!=$add)
296                $toolbox .= $add;
297///////////////////////////
298//
299
300        $ret .= "<table class='spip_barre' style='width:auto;' cellpadding='0' cellspacing='0' border='0' summary=''>";
301        $ret .= "\n<tr style='width: auto;' class='spip_barre'>";
302        $ret .= "\n<td style='text-align: $spip_lang_left;' valign='middle'>";
303        $col = 1;
304
305        // Italique, gras, intertitres
306        $ret .= bouton_barre_racc ("barre_raccourci('{','}',$champ)", _DIR_IMG_ICONES_BARRE."italique.png", _T('barre_italic'), $champhelp);
307        $ret .= bouton_barre_racc ("barre_raccourci('{{','}}',$champ)", _DIR_IMG_ICONES_BARRE."gras.png", _T('barre_gras'), $champhelp);
308////////////////////////////
309//MODIFICATION
310///////////////////////////
311        $params = array($champ,$champhelp,$spip_lang);
312        $add = pipeline("BarreTypoEnrichie_tous",array($champ,$champhelp,$spip_lang));
313        if ($params!=$add)
314                $ret .= $add;
315///////////////////////////
316
317        if ($options == "avancees") {
318                $ret .= bouton_barre_racc ("barre_raccourci('[*','*]',$champ)", _DIR_PLUGIN_BARRETYPOENRICHIE.'/img_pack/icones_barre/miseenevidence.png', _T('bartypenr:barre_miseenevidence'), $champhelp);
319                $ret .= bouton_barre_racc ("barre_raccourci('&lt;sup&gt;','&lt;/sup&gt;',$champ)", _DIR_PLUGIN_BARRETYPOENRICHIE.'/img_pack/icones_barre/exposant.png', _T('bartypenr:barre_exposant'), $champhelp);
320                $ret .= bouton_barre_racc ("barre_raccourci('&lt;sc&gt;','&lt;/sc&gt;',$champ)", _DIR_PLUGIN_BARRETYPOENRICHIE.'/img_pack/icones_barre/petitescapitales.png', _T('bartypenr:barre_petitescapitales'), $champhelp);
321////////////////////////////
322//MODIFICATION
323///////////////////////////
324                $params = array($champ,$champhelp,$spip_lang);
325                $add = pipeline("BarreTypoEnrichie_avancees",array($champ,$champhelp,$spip_lang));
326                if ($params!=$add)
327                        $ret .= $add;
328///////////////////////////
329        }
330        if (!$forum) {
331////////////////////////////
332//MODIFICATION
333///////////////////////////
334                $params = array($champ,$champhelp,$spip_lang);
335                $add = pipeline("BarreTypoEnrichie_ecrire",array($champ,$champhelp,$spip_lang));
336                if ($params!=$add)
337                        $ret .= $add;
338///////////////////////////
339                $ret .= "&nbsp;";
340                $ret .= bouton_barre_racc ("barre_raccourci('\n\n{{{','}}}\n\n',$champ)", _DIR_IMG_ICONES_BARRE."intertitre.png", _T('barre_intertitre'), $champhelp);
341                if ($options == "avancees") {
342                        $ret .=    bouton_barre_racc("swap_couche('".$GLOBALS['numero_block']['tableau_boutonsavances']."','');", _DIR_PLUGIN_BARRETYPOENRICHIE."/img_pack/icones_barre/avances.png", _T('bartypenr:barre_boutonsavances'), $champhelp);
343                }
344        }
345        $ret .= "&nbsp;</td>\n<td>";
346        $col ++;
347
348        // Lien hypertexte, notes de bas de page, citations
349//      $ret .= bouton_barre_racc ("barre_demande('[','->',']', '".addslashes(_T('barre_lien_input'))."', $champ)", _DIR_IMG_ICONES_BARRE."lien.png", _T('barre_lien'), $champhelp);
350
351// gestion des liens
352      $ret .=    bouton_barre_racc("swap_couche('".$GLOBALS['numero_block']['tableau_lien']."','');", _DIR_IMG_ICONES_BARRE."lien.png", _T('barre_lien'), $champhelp);
353// gestion des ancres           
354                $ret .=    bouton_barre_racc("swap_couche('".$GLOBALS['numero_block']['tableau_ancre']."','');", _DIR_PLUGIN_BARRETYPOENRICHIE."/img_pack/icones_barre/ancre.png", _T('bartypenr:barre_ancres'), $champhelp); 
355        if (!$forum) {
356                $ret .= bouton_barre_racc ("barre_raccourci('[[',']]',$champ)", _DIR_IMG_ICONES_BARRE."notes.png", _T('barre_note'), $champhelp);
357        }
358        if ($forum) {
359////////////////////////////
360//MODIFICATION
361///////////////////////////
362                $params = array($champ,$champhelp,$spip_lang);
363                $add = pipeline("BarreTypoEnrichie_forum",array($champ,$champhelp,$spip_lang));
364                if ($params!=$add)
365                        $ret .= $add;
366///////////////////////////
367                $ret .= "&nbsp;</td>\n<td style='text-align: $spip_lang_left;' valign='middle'>";
368                $col ++;
369                $ret .= bouton_barre_racc ("barre_raccourci('\n\n&lt;quote&gt;','&lt;/quote&gt;\n\n',$champ)", _DIR_IMG_ICONES_BARRE."quote.png", _T('barre_quote'), $champhelp);
370        }
371        if ($options == "avancees") {
372                $ret .= bouton_barre_racc ("barre_raccourci('[?',']',$champ)", _DIR_PLUGIN_BARRETYPOENRICHIE.'/img_pack/icones_barre/barre-wiki.png', _T('bartypenr:barre_glossaire'), $champhelp);
373
374
375//gestion des tableaux
376                $ret .= bouton_barre_racc("barre_tableau($champ, '"._DIR_PLUGIN_BARRETYPOENRICHIE."')",
377                        _DIR_PLUGIN_BARRETYPOENRICHIE.'/img_pack/icones_barre/barre-tableau.png', _T('bartypenr:barre_tableau'),
378                        $champhelp);
379
380        $ret .= "</td>\n<td style='text-align: $spip_lang_left;' valign='middle'>";
381
382// gestion du remplacement
383      $ret .=    bouton_barre_racc("swap_couche('".$GLOBALS['numero_block']['tableau_remplacer']."','');", _DIR_PLUGIN_BARRETYPOENRICHIE."/img_pack/icones_barre/chercher_remplacer.png", _T('bartypenr:barre_chercher'), $champhelp);
384
385
386}
387
388        $ret .= "</td>";
389        $col++;
390
391        // Insertion de caracteres difficiles a taper au clavier (guillemets, majuscules accentuees...)
392        $ret .= "\n<td style='text-align: $spip_lang_left;' valign='middle'>";
393        $col++;
394        $ret .=    bouton_barre_racc("swap_couche('".$GLOBALS['numero_block']['tableau_caracteres']."','');", _DIR_PLUGIN_BARRETYPOENRICHIE."/img_pack/icones_barre/clavier.png", _T('bartypenr:barre_caracteres'), $champhelp);
395       
396
397
398        $ret .= "</td>";
399        $col++;
400
401        if (!_DIR_RESTREINT) {
402                $ret .= "\n<td style='text-align: $spip_lang_left;' valign='middle'>";
403                $col++;
404                $ret .=    bouton_barre_racc("toggle_preview();", _DIR_PLUGIN_BARRETYPOENRICHIE."/img_pack/icones_barre/eye.png", _T('bartypenr:barre_preview'), $champhelp);
405                $ret .= "</td>\n<td style='text-align: $spip_lang_left;' valign='middle'>";
406                $ret .= aide("raccourcis");
407                $ret .= "";
408                $ret .= "</td>";
409        }
410        $ret .= "</tr>";
411
412        // Sur les forums publics, petite barre d'aide en survol des icones
413        if (_DIR_RESTREINT)
414                $ret .= "\n<tr>\n<td colspan='$col'><input disabled='disabled' type='text' id='barre_$num_barre' size='45' maxlength='100' style='width:auto; font-size:11px; color: black; background-color: #e4e4e4; border: 0px solid #dedede;'\nvalue=\"".attribut_html(_T('barre_aide'))."\" /></td></tr>";
415
416        $ret .= "</table>";
417         $ret .= $toolbox;
418         $ret .= '<script type="text/javascript"><!--
419/*function hauteurTextarea() {
420        hauteur = (hauteur_fenetre() - 40) /2;
421        source = document.getElementById("text_area");
422        source.style.height = hauteur + "px";
423}*/
424
425function MajPreviewCallBack() {
426        $.post("' . generer_url_ecrire("article_preview",""). '", { texte:$("#text_area").val() }, function(data) {
427                $("#article_preview").empty()
428                $("#article_preview").append(data);
429                });
430}
431
432function MajPreview() {
433        if ($("#article_preview").css("display") != "none") {
434                delayFunction("MajPreviewCallBack()",1);
435        }
436}
437
438$(document).ready(function(){
439        $("#text_area").after("<div id=\"article_preview\"></div>");
440        //$("#text_area").oneresize($("#article_preview").height($("#text_area").height()+"px"));
441        $.ajaxTimeout( 5000 );
442        $("#text_area").keypress(function() { MajPreview() });
443});
444         //--></script>';
445        return $ret;
446}
447
448// http://doc.spip.org/@afficher_textarea_barre
449function afficher_textarea_barre($texte, $forum=false)
450{
451        global $spip_display, $spip_ecran;
452
453        $rows = ($spip_ecran == "large") ? 28 : 15;
454
455        return (($spip_display == 4) ? '' :
456                afficher_barre('document.formulaire.texte', $forum))
457        . "<textarea name='texte' id='texte' "
458        . $GLOBALS['browser_caret']
459        . " rows='$rows' class='formo' cols='40'>"
460        . entites_html($texte)
461        . "</textarea>\n";
462}
463
464?>
Note: See TracBrowser for help on using the repository browser.