"; } // sert a construire les sousbarre function bte_renomme_block($nom_block) { global $numero_block, $compteur_block; if (!isset($numero_block[$nom_block])){ $compteur_block++; $numero_block[$nom_block] = $compteur_block; } return $numero_block["$nom_block"]; } function bte_debut_block_visible($nom_block){ global $browser_layer; if (!$browser_layer) return ''; return "
"; } function bte_debut_block_invisible($nom_block){ global $browser_layer; if (!$browser_layer) return ''; // si on n'accepte pas js, ne pas fermer if (!_SPIP_AJAX) return debut_block_visible($nom_block); return "'; return $res; } //gestion des lignes optionnelles // construction des liens function afficher_gestion_lien($champ, $num_barre) { $tableau_formulaire = '
'._T('bartypenr:barre_adresse').' : Chercher un objet SPIP
'._T('bartypenr:barre_bulle').' :
'._T('bartypenr:barre_langue').' :
'; return produceWharf('tableau_lien','',$tableau_formulaire); } // Changer la casse function RaccourcisMajusculesMinuscules($champ, $champhelp, $num_barre) { return bouton_barre_racc("barre_capitales($champ,true,$num_barre)", _DIR_BTV2_IMG.'text_uppercase.png', _T('bartypenr:barre_gestion_cr_changercassemajuscules'), $champhelp) .' ' . bouton_barre_racc("barre_capitales($champ,false,$num_barre)", _DIR_BTV2_IMG.'text_lowercase.png', _T('bartypenr:barre_gestion_cr_changercasseminuscules'), $champhelp); } // gestion de la recherche function afficher_gestion_remplacer($champ, $champhelp, $num_barre) { $tableau_formulaire = '
'. _T('bartypenr:barre_gestion_cr_chercher') .'
 '._T('bartypenr:barre_gestion_cr_casse').'
'._T('bartypenr:barre_gestion_cr_remplacer') .'
 '._T('bartypenr:barre_gestion_cr_tout').'
 '._T('bartypenr:barre_gestion_cr_entier').'
'._T('bartypenr:barre_gestion_cr_changercasse').'
'. RaccourcisMajusculesMinuscules($champ, $champhelp, $num_barre).'
'; return produceWharf('tableau_remplacer','',$tableau_formulaire); } // pour les ancres function afficher_gestion_ancre($champ, $num_barre) { $tableau_formulaire = '
'. _T('bartypenr:barre_gestion_anc_caption') .' '. _T('bartypenr:barre_gestion_anc_inserer') .'
'._T('bartypenr:barre_gestion_anc_nom').'
'. _T('bartypenr:barre_gestion_anc_pointer') .'
'._T('bartypenr:barre_gestion_anc_cible').'

'._T('bartypenr:barre_gestion_anc_bulle').'
'; return produceWharf('tableau_ancre','',$tableau_formulaire); } // pour les caracteres function afficher_caracteres($champ, $spip_lang, $champhelp, $num_barre) { // guillemets if ($spip_lang == "fr" OR $spip_lang == "eo" OR $spip_lang == "cpf" OR $spip_lang == "ar" OR $spip_lang == "es") { $reta .= bouton_barre_racc("barre_raccourci('«~','~»',$champ, $num_barre)", _DIR_IMG_ICONES_BARRE."guillemets.png", _T('barre_guillemets'), $champhelp); $reta .= bouton_barre_racc("barre_raccourci('“','”',$champ, $num_barre)", _DIR_IMG_ICONES_BARRE."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") { $reta .= bouton_barre_racc("barre_raccourci('„','“',$champ, $num_barre)", _DIR_IMG_ICONES_BARRE."guillemets-de.png", _T('barre_guillemets'), $champhelp); $reta .= bouton_barre_racc("barre_raccourci('‚','‘',$champ, $num_barre)", _DIR_IMG_ICONES_BARRE."guillemets-uniques-de.png", _T('barre_guillemets_simples'), $champhelp); } else { $reta .= bouton_barre_racc("barre_raccourci('“','”',$champ, $num_barre)", _DIR_IMG_ICONES_BARRE."guillemets-simples.png", _T('barre_guillemets'), $champhelp); $reta .= bouton_barre_racc("barre_raccourci('‘','’',$champ, $num_barre)", _DIR_IMG_ICONES_BARRE."guillemets-uniques.png", _T('barre_guillemets_simples'), $champhelp); } $reta .= ' '; // caracteres if ($spip_lang == "fr" OR $spip_lang == "eo" OR $spip_lang == "cpf") { $reta .= bouton_barre_racc("barre_inserer('À',$champ)", _DIR_BTV2_IMG.'agrave-maj.png', _T('barre_a_accent_grave'), $champhelp); $reta .= bouton_barre_racc("barre_inserer('É',$champ)", _DIR_BTV2_IMG.'eacute-maj.png', _T('barre_e_accent_aigu'), $champhelp); $reta .= bouton_barre_racc("barre_inserer('È',$champ)", _DIR_BTV2_IMG.'eagrave-maj.png', _T('bartypenr:barre_e_accent_grave'), $champhelp); $reta .= bouton_barre_racc("barre_inserer('æ',$champ)", _DIR_BTV2_IMG.'aelig.png', _T('bartypenr:barre_ea'), $champhelp); $reta .= bouton_barre_racc("barre_inserer('Æ',$champ)", _DIR_BTV2_IMG.'aelig-maj.png', _T('bartypenr:barre_ea_maj'), $champhelp); if ($spip_lang == "fr") { $reta .= bouton_barre_racc("barre_inserer('œ',$champ)", _DIR_BTV2_IMG.'oelig.png', _T('barre_eo'), $champhelp); $reta .= bouton_barre_racc("barre_inserer('Œ',$champ)", _DIR_BTV2_IMG.'oelig-maj.png', _T('barre_eo_maj'), $champhelp); $reta .= bouton_barre_racc("barre_inserer('Ç',$champ)", _DIR_BTV2_IMG.'ccedil-maj.png', _T('bartypenr:barre_c_cedille_maj'), $champhelp); } } // euro $reta .= ' '.bouton_barre_racc("barre_inserer('€',$champ)", _DIR_BTV2_IMG.'euro.png', _T('barre_euro'), $champhelp); $reta .= ' '.RaccourcisMajusculesMinuscules($champ, $champhelp, $num_barre); $reta .= ' '; $tableau_formulaire = '
'._T('bartypenr:barre_caracteres').' '.$reta.'
'; return produceWharf('tableau_caracteres','',$tableau_formulaire); } // pour les caracteres function afficher_formatages_speciaux($champ, $spip_lang, $champhelp, $num_barre) { $reta = bouton_barre_racc("barre_raccourci('\n\n<quote>','</quote>\n\n',$champ, $num_barre)", _DIR_IMG_ICONES_BARRE."quote.png", _T('barre_quote'), $champhelp); $reta .= bouton_barre_racc("barre_raccourci('<code>','</code>',$champ, $num_barre)", _DIR_BTV2_IMG.'page_white_code_red.png', _T('bartypenr:barre_code'), $champhelp); $reta .= bouton_barre_racc("barre_raccourci('\n\n<cadre>','</cadre>\n\n',$champ, $num_barre)", _DIR_BTV2_IMG.'page_white_code.png', _T('bartypenr:barre_cadre'), $champhelp); $reta .= bouton_barre_racc("barre_raccourci('\n\n<poesie>','</poesie>\n\n',$champ, $num_barre)", _DIR_BTV2_IMG.'poesie.png', _T('bartypenr:barre_poesie'), $champhelp); $tableau_formulaire = '
'._T('bartypenr:barre_formatages_speciaux').' '.$reta.'
'; return produceWharf('tableau_formatages_speciaux','',$tableau_formulaire); } // cas ou CFG est absent... function config_bte($cfg, $valeur) { if(function_exists('lire_config')) return lire_config($cfg) == $valeur; return false; } // construit un tableau de raccourcis pour un noeud de DOM // http://doc.spip.org/@afficher_barre function afficher_barre($champ, $forum=false, $lang='') { global $spip_lang, $spip_lang_right, $spip_lang_left; static $num_barre = 0; include_spip('inc/layer'); if (!$GLOBALS['browser_barre']) return ''; if (!$lang) $lang = $spip_lang; $num_barre++; $champhelp = "document.getElementById('barre_$num_barre')"; $ret = ($num_barre > 1) ? '' : http_script('', 'spip_barre.js'); $params_vierge['champ'] = $champ; $params_vierge['num'] = $num_barre; $params_vierge['help'] = $champhelp; $params['forum'] = $forum; // Pregeneration des toolzbox.. (wharfing) $toolbox .= afficher_caracteres($champ, $spip_lang, $champhelp, $num_barre); $toolbox .= afficher_formatages_speciaux($champ, $spip_lang, $champhelp, $num_barre); $toolbox .= afficher_gestion_lien($champ, $num_barre); $toolbox .= afficher_gestion_ancre($champ, $num_barre); $toolbox .= afficher_gestion_remplacer($champ, $champhelp, $num_barre); // Pipeline pour ajouter des toolzbox $add = pipeline("bt_toolbox", $params_vierge); $toolbox .= $add['flux']; $ret .= ""; $ret .= "\n"; $ret .= "\n\n\n\n"; $col++; $ret .= ""; // Sur les forums publics, petite barre d'aide en survol des icones if (!test_espace_prive()) $ret .= "\n\n"; $ret .= "
"; $col = 1; // Italique, gras, intertitres $ret .= bouton_barre_racc("barre_raccourci('{','}',$champ)", _DIR_IMG_ICONES_BARRE."italique.png", _T('barre_italic'), $champhelp); $ret .= bouton_barre_racc("barre_raccourci('{{','}}',$champ)", _DIR_IMG_ICONES_BARRE."gras.png", _T('barre_gras'), $champhelp); $add = pipeline("bt_caracteres", $params_vierge); $ret .= $add['flux']; $retP = ''; // Raccourcis de paragraphes : intertitres, formatages speciaux if (!$forum) { $retP .= bouton_barre_racc("barre_raccourci('\n\n{{{','}}}\n\n',$champ, $num_barre)", _DIR_IMG_ICONES_BARRE."intertitre.png", _T('barre_intertitre'), $champhelp); if (config_bte('btv2/avancee', 'Oui')) $retP .= bouton_barre_racc("swap_couche('".$GLOBALS['numero_block']['tableau_formatages_speciaux']."','');", _DIR_BTV2_IMG.'tag.png', _T('bartypenr:barre_formatages_speciaux'), $champhelp);; } else { $retP .= bouton_barre_racc("barre_raccourci('\n\n<quote>','</quote>\n\n',$champ, $num_barre)", _DIR_IMG_ICONES_BARRE."quote.png", _T('barre_quote'), $champhelp); } $add = pipeline("bt_paragraphes", $params_vierge); $retP .= $add['flux']; $ret .= " $retP"; $col++; $retL = ''; // Gestion des liens, ancres, notes, glossaire $retL .= bouton_barre_racc("swap_couche('".$GLOBALS['numero_block']['tableau_lien']."','');", _DIR_IMG_ICONES_BARRE."lien.png", _T('barre_lien'), $champhelp); if (test_espace_prive()) { $retL .= bouton_barre_racc("swap_couche('".$GLOBALS['numero_block']['tableau_ancre']."','');", _DIR_BTV2_IMG.'ancre.png', _T('bartypenr:barre_ancres'), $champhelp); $retL .= bouton_barre_racc("barre_raccourci('[[',']]',$champ, $num_barre)", _DIR_IMG_ICONES_BARRE."notes.png", _T('barre_note'), $champhelp); $retL .= bouton_barre_racc("barre_raccourci('[?',']',$champ, $num_barre)", _DIR_BTV2_IMG.'barre-wiki.png', _T('bartypenr:barre_glossaire'), $champhelp); } $add = pipeline("bt_liens", $params_vierge); $retL .= $add['flux']; $ret .= " $retL"; $col++; if (test_espace_prive()) { $retS = ''; // Gestion des structures : remplacement, tableaux, images $retS .= bouton_barre_racc("swap_couche('".$GLOBALS['numero_block']['tableau_remplacer']."','');", _DIR_BTV2_IMG.'chercher_remplacer.png', _T('bartypenr:barre_chercher'), $champhelp); $retS .= bouton_barre_racc("barre_tableau($champ, '"._DIR_RESTREINT."')", _DIR_BTV2_IMG.'barre-tableau.png', _T('bartypenr:barre_tableau'), $champhelp); // DEB Galerie JPK // idee originale de http://www.gasteroprod.com/la-galerie-spip-pour-reutiliser-facilement-les-images-et-documents.html // marche pas sous SPIP 2 :( #$retS .= bouton_barre_racc("javascript:barre_galerie($champ, '"._DIR_RESTREINT."')", _DIR_BTV2_IMG.'galerie.png', _T('bartypenr:barre_galerie'), $champhelp); $add = pipeline("bt_structures", $params_vierge); $retS .= $add['flux']; $ret .= " $retS"; $col++; } $retG = ''; // Insertion de caracteres difficiles a taper au clavier (guillemets, majuscules accentuees...) $retG .= bouton_barre_racc("swap_couche('".$GLOBALS['numero_block']['tableau_caracteres']."','');", _DIR_BTV2_IMG.'clavier.png', _T('bartypenr:barre_caracteres'), $champhelp); if (!$crayons && test_espace_prive() && !$forum) { $retG .= bouton_barre_racc("toggle_preview($num_barre,'".str_replace("'","\\'",$champ)."');", _DIR_BTV2_IMG.'eye.png', _T('bartypenr:barre_preview'), $champhelp); $retG .= bouton_barre_racc("toggle_stats($num_barre,'".str_replace("'","\\'",$champ)."');", _DIR_BTV2_IMG.'stats.png', _T('bartypenr:barre_stats'), $champhelp); } $add = pipeline("bt_gadgets", $params_vierge); $retG .= $add['flux']; $ret .= " $retG
"; $ret .= $toolbox; if (!$crayons && test_espace_prive() && !$forum) { $ret .= ''; } else { $ret .= ($num_barre > 1) ? '' : ""; } return $ret; } // expliciter les 3 arguments pour avoir xhtml strict // http://doc.spip.org/@afficher_textarea_barre function afficher_textarea_barre($texte, $forum=false, $form='') { global $spip_display, $spip_ecran; // par defaut champ avec classe .barre_inserer if (!$form) $form = "$('.barre_inserer')[0]"; // sinon id parent passe, il faut selectionner le champ 'texte' else $form .= ".texte"; $rows = ($spip_ecran == "large") ? 28 : 15; return (($spip_display == 4) ? '' : afficher_barre($form, $forum)) . "\n"; } ?>