function testAjouterFonctions(){ $b = new Barre_outils($this->baseParamsBarre); $b->Ajouterfonction("function dido(){}"); $this->assertPattern('/function dido\(/', $b->fonctions); }
/** * Transform a variable into its javascript equivalent (recursive) * (depuis ecrire/inc/json, mais modifie pour que les fonctions * js ne soient pas mises dans un string * * @access private * @param mixed the variable * @return string js script | boolean false if error */ function json_export($var) { $asso = false; switch (true) { case is_null($var) : return 'null'; case is_string($var) : if (strtolower(substr(ltrim($var),0,8))=='function') return $var; return '"' . addcslashes($var, "\"\\\n\r") . '"'; case is_bool($var) : return $var ? 'true' : 'false'; case is_scalar($var) : return $var; case is_object( $var) : $var = get_object_vars($var); $asso = true; case is_array($var) : $keys = array_keys($var); $ikey = count($keys); while (!$asso && $ikey--) { $asso = $ikey !== $keys[$ikey]; } $sep = ''; if ($asso) { $ret = '{'; foreach ($var as $key => $elt) { $ret .= $sep . '"' . $key . '":' . Barre_outils::json_export($elt); $sep = ','; } return $ret ."}\n"; } else { $ret = '['; foreach ($var as $elt) { $ret .= $sep . Barre_outils::json_export($elt); $sep = ','; } return $ret ."]\n"; } } return false; }
/** * Definition de la barre 'edition' pour markitup */ function barre_outils_edition(){ $set = new Barre_outils(array( 'nameSpace' => 'edition', #'previewAutoRefresh'=> true, #'previewParserPath' => url_absolue(generer_url_public('preview')), 'onShiftEnter' => array('keepDefault'=>false, 'replaceWith'=>"\n_ "), 'onCtrlEnter' => array('keepDefault'=>false, 'replaceWith'=>"\n\n"), // garder les listes si on appuie sur entree 'onEnter' => array('keepDefault'=>false, 'selectionType'=>'return', 'replaceWith'=>"\n"), // Utile quand on saisi du code, mais pas accessible ! #'onTab' => array('keepDefault'=>false, 'replaceWith'=>"\t"), 'markupSet' => array( // H1 - {{{ array( "id" => 'header1', "name" => _T('barre_outils:barre_intertitre'), "key" => "H", "className" => "outil_header1", "openWith" => "\n{{{", "closeWith" => "}}}\n", "display" => true, "selectionType" => "line", ), // Bold - {{ array( "id" => 'bold', "name" => _T('barre_outils:barre_gras'), "key" => "B", "className" => "outil_bold", "replaceWith" => "function(h){ return espace_si_accolade(h, '{{', '}}');}", //"openWith" => "{{", //"closeWith" => "}}", "display" => true, "selectionType" => "word", ), // Italic - { array( "id" => 'italic', "name" => _T('barre_outils:barre_italic'), "key" => "I", "className" => "outil_italic", "replaceWith" => "function(h){ return espace_si_accolade(h, '{', '}');}", //"openWith" => "{", //"closeWith" => "}", "display" => true, "selectionType" => "word", ), // montrer une suppression array( "id" => 'stroke_through', "name" => _T('barre_outils:barre_barre'), // :-) "className" => "outil_stroke_through", "openWith" => "<del>", "closeWith" => "</del>", "display" => true, "selectionType" => "word", ), // listes -* array( "id" => 'liste_ul', "name" => _T('barre_outils:barre_liste_ul'), "className" => "outil_liste_ul", "replaceWith" => "function(h){ return outil_liste(h, '*');}", "display" => true, "selectionType" => "line", "forceMultiline" => true, "dropMenu" => array( // liste -# array( "id" => 'liste_ol', "name" => _T('barre_outils:barre_liste_ol'), "className" => "outil_liste_ol", "replaceWith" => "function(h){ return outil_liste(h, '#');}", "display" => true, "selectionType" => "line", "forceMultiline" => true, ), // desindenter array( "id" => 'desindenter', "name" => _T('barre_outils:barre_desindenter'), "className" => "outil_desindenter", "replaceWith" => "function(h){return outil_desindenter(h);}", "display" => true, "selectionType" => "line", "forceMultiline" => true, ), // indenter array( "id" => 'indenter', "name" => _T('barre_outils:barre_indenter'), "className" => "outil_indenter", "replaceWith" => "function(h){return outil_indenter(h);}", "display" => true, "selectionType" => "line", "forceMultiline" => true, ), ), ), // separation array( "id" => "sepLink", // trouver un nom correct ! "separator" => "---------------", "display" => true, ), // lien spip array( "id" => 'link', "name" => _T('barre_outils:barre_lien'), "key" => "L", "className" => "outil_link", "openWith" => "[", "closeWith" => "->[!["._T('barre_outils:barre_lien_input')."]!]]", "display" => true, ), // note en bas de page spip array( "id" => 'notes', "name" => _T('barre_outils:barre_note'), "className" => "outil_notes", "openWith" => "[[", "closeWith" => "]]", "display" => true, "selectionType" => "word", ), // separation array( "id" => "sepGuillemets", "separator" => "---------------", "display" => true, ), // quote spip // (affichee dans forum) array( "id" => 'quote', "name" => _T('barre_outils:barre_quote'), "key" => "Q", "className" => "outil_quote", "openWith" => "\n<quote>", "closeWith" => "</quote>\n", "display" => true, "selectionType" => "word", ), // guillemets array( "id" => 'guillemets', "name" => _T('barre_outils:barre_guillemets'), "className" => "outil_guillemets", "openWith" => "«", "closeWith" => "»", "display" => true, "lang" => array('fr','eo','cpf','ar','es'), "selectionType" => "word", ), // guillemets internes array( "id" => 'guillemets_simples', "name" => _T('barre_outils:barre_guillemets_simples'), "className" => "outil_guillemets_simples", "openWith" => "“", "closeWith" => "”", "display" => true, "lang" => array('fr','eo','cpf','ar','es'), "selectionType" => "word", ), // guillemets de array( "id" => 'guillemets_de', "name" => _T('barre_outils:barre_guillemets'), "className" => "outil_guillemets_de", "openWith" => "„", "closeWith" => "“", "display" => true, "lang" => array('bg','de','pl','hr','src'), "selectionType" => "word", ), // guillemets de, simples array( "id" => 'guillemets_de_simples', "name" => _T('barre_outils:barre_guillemets_simples'), "className" => "outil_guillemets_de_simples", "openWith" => "‚", "closeWith" => "‘", "display" => true, "lang" => array('bg','de','pl','hr','src'), "selectionType" => "word", ), // guillemets autres langues array( "id" => 'guillemets_autres', "name" => _T('barre_outils:barre_guillemets'), "className" => "outil_guillemets_simples", "openWith" => "“", "closeWith" => "”", "display" => true, "lang_not" => array('fr','eo','cpf','ar','es','bg','de','pl','hr','src'), "selectionType" => "word", ), // guillemets simples, autres langues array( "id" => 'guillemets_autres_simples', "name" => _T('barre_outils:barre_guillemets_simples'), "className" => "outil_guillemets_uniques", "openWith" => "‘", "closeWith" => "’", "display" => true, "lang_not" => array('fr','eo','cpf','ar','es','bg','de','pl','hr','src'), "selectionType" => "word", ), // separation array( "id" => "sepCaracteres", "separator" => "---------------", "display" => true, ), // icones clavier array( "id" => 'grpCaracteres', "name" => _T('barre_outils:barre_inserer_caracteres'), "className" => 'outil_caracteres', "display" => true, "dropMenu" => array( // A majuscule accent grave array( "id" => 'A_grave', "name" => _T('barre_outils:barre_a_accent_grave'), "className" => "outil_a_maj_grave", "replaceWith" => "À", "display" => true, "lang" => array('fr','eo','cpf'), ), // E majuscule accent aigu array( "id" => 'E_aigu', "name" => _T('barre_outils:barre_e_accent_aigu'), "className" => "outil_e_maj_aigu", "replaceWith" => "É", "display" => true, "lang" => array('fr','eo','cpf'), ), // E majuscule accent grave array( "id" => 'E_grave', "name" => _T('barre_outils:barre_e_accent_grave'), "className" => "outil_e_maj_grave", "replaceWith" => "È", "display" => true, "lang" => array('fr','eo','cpf'), ), // e dans le a array( "id" => 'aelig', "name" => _T('barre_outils:barre_ea'), "className" => "outil_aelig", "replaceWith" => "æ", "display" => true, "lang" => array('fr','eo','cpf'), ), // e dans le a majuscule array( "id" => 'AElig', "name" => _T('barre_outils:barre_ea_maj'), "className" => "outil_aelig_maj", "replaceWith" => "Æ", "display" => true, "lang" => array('fr','eo','cpf'), ), // oe array( "id" => 'oe', "name" => _T('barre_outils:barre_eo'), "className" => "outil_oe", "replaceWith" => "œ", "display" => true, "lang" => array('fr'), ), // OE array( "id" => 'OE', "name" => _T('barre_outils:barre_eo_maj'), "className" => "outil_oe_maj", "replaceWith" => "Œ", "display" => true, "lang" => array('fr'), ), // c cedille majuscule array( "id" => 'Ccedil', "name" => _T('barre_outils:barre_c_cedille_maj'), "className" => "outil_ccedil_maj", "replaceWith" => "Ç", "display" => true, "lang" => array('fr','eo','cpf'), ), // Transformation en majuscule array( "id" => 'uppercase', "name" => _T('barre_outils:barre_gestion_cr_changercassemajuscules'), "className" => "outil_uppercase", "replaceWith" => 'function(markitup) { return markitup.selection.toUpperCase() }', "display" => true, "lang" => array('fr','en'), ), // Transformation en minuscule array( "id" => 'lowercase', "name" => _T('barre_outils:barre_gestion_cr_changercasseminuscules'), "className" => "outil_lowercase", "replaceWith" => 'function(markitup) { return markitup.selection.toLowerCase() }', "display" => true, "lang" => array('fr','en'), ), ), ), /* inutile (origine de markitup et non de spip) // separation array( "id" => "sepPreview", // trouver un nom correct ! "separator" => "---------------", "display" => true, ), // clean array( "id" => 'clean', "name" => _T('barre_outils:barre_clean'), "className" => "outil_clean", "replaceWith" => 'function(markitup) { return markitup.selection.replace(/<(.*?)>/g, "") }', "display" => true, ), // preview array( "id" => 'preview', "name" => _T('barre_outils:barre_preview'), "className" => "outil_preview", "call" => "preview", "display" => true, ), */ ), 'functions' => " // remplace ou cree -* ou -** ou -# ou -## function outil_liste(h, c) { if ((s = h.selection) && (r = s.match(/^-([*#]+) (.*)\$/))) { r[1] = r[1].replace(/[#*]/g, c); s = '-'+r[1]+' '+r[2]; } else { s = '-' + c + ' '+s; } return s; } // indente des -* ou -# function outil_indenter(h) { if (s = h.selection) { if (s.substr(0,2)=='-*') { s = '-**' + s.substr(2); } else if (s.substr(0,2)=='-#') { s = '-##' + s.substr(2); } else { s = '-* ' + s; } } return s; } // desindente des -* ou -** ou -# ou -## function outil_desindenter(h){ if (s = h.selection) { if (s.substr(0,3)=='-**') { s = '-*' + s.substr(3); } else if (s.substr(0,3)=='-* ') { s = s.substr(3); } else if (s.substr(0,3)=='-##') { s = '-#' + s.substr(3); } else if (s.substr(0,3)=='-# ') { s = s.substr(3); } } return s; } // ajouter un espace avant, apres un {qqc} pour ne pas que // gras {{}} suivi de italique {} donnent {{{}}}, mais { {{}} } function espace_si_accolade(h, openWith, closeWith){ if (s = h.selection) { // accolade dans la selection if (s.charAt(0)=='{') { return openWith + ' ' + s + ' ' + closeWith; } // accolade avant la selection else if (c = h.textarea.selectionStart) { if (h.textarea.value.charAt(c-1) == '{') { return ' ' + openWith + s + closeWith + ' '; } } } return openWith + s + closeWith; } ", )); $set->cacher(array( 'stroke_through', 'clean', 'preview', )); return $set; }
/** * Définition de la barre 'edition' pour markitup * * @return Barre_outils La barre d'outil */ function barre_outils_edition() { $set = new Barre_outils(array('nameSpace' => 'edition', 'onShiftEnter' => array('keepDefault' => false, 'replaceWith' => "\n_ "), 'onCtrlEnter' => array('keepDefault' => false, 'replaceWith' => "\n\n"), 'onEnter' => array('keepDefault' => false, 'selectionType' => 'return', 'replaceWith' => "\n"), 'markupSet' => array(array("id" => 'header1', "name" => _T('barreoutils:barre_intertitre'), "key" => "H", "className" => "outil_header1", "openWith" => "\n{{{", "closeWith" => "}}}\n", "display" => true, "selectionType" => "line"), array("id" => 'bold', "name" => _T('barreoutils:barre_gras'), "key" => "B", "className" => "outil_bold", "replaceWith" => "function(h){ return espace_si_accolade(h, '{{', '}}');}", "display" => true, "selectionType" => "word"), array("id" => 'italic', "name" => _T('barreoutils:barre_italic'), "key" => "I", "className" => "outil_italic", "replaceWith" => "function(h){ return espace_si_accolade(h, '{', '}');}", "display" => true, "selectionType" => "word"), array("id" => 'stroke_through', "name" => _T('barreoutils:barre_barre'), "className" => "outil_stroke_through", "openWith" => "<del>", "closeWith" => "</del>", "display" => true, "selectionType" => "word"), array("id" => 'liste_ul', "name" => _T('barreoutils:barre_liste_ul'), "className" => "outil_liste_ul", "replaceWith" => "function(h){ return outil_liste(h, '*');}", "display" => true, "selectionType" => "line", "forceMultiline" => true, "dropMenu" => array(array("id" => 'liste_ol', "name" => _T('barreoutils:barre_liste_ol'), "className" => "outil_liste_ol", "replaceWith" => "function(h){ return outil_liste(h, '#');}", "display" => true, "selectionType" => "line", "forceMultiline" => true), array("id" => 'desindenter', "name" => _T('barreoutils:barre_desindenter'), "className" => "outil_desindenter", "replaceWith" => "function(h){return outil_desindenter(h);}", "display" => true, "selectionType" => "line", "forceMultiline" => true), array("id" => 'indenter', "name" => _T('barreoutils:barre_indenter'), "className" => "outil_indenter", "replaceWith" => "function(h){return outil_indenter(h);}", "display" => true, "selectionType" => "line", "forceMultiline" => true))), array("id" => "sepLink", "separator" => "---------------", "display" => true), array("id" => 'link', "name" => _T('barreoutils:barre_lien'), "key" => "L", "className" => "outil_link", "openWith" => "[", "closeWith" => "->[![" . _T('barreoutils:barre_lien_input') . "]!]]", "display" => true), array("id" => 'notes', "name" => _T('barreoutils:barre_note'), "className" => "outil_notes", "openWith" => "[[", "closeWith" => "]]", "display" => true, "selectionType" => "word"), array("id" => "sepGuillemets", "separator" => "---------------", "display" => true), array("id" => 'quote', "name" => _T('barreoutils:barre_quote'), "key" => "Q", "className" => "outil_quote", "openWith" => "\n<quote>", "closeWith" => "</quote>\n", "display" => true, "selectionType" => "word", "dropMenu" => array(array("id" => 'barre_poesie', "name" => _T('barreoutils:barre_poesie'), "className" => "outil_poesie", "openWith" => "\n<poesie>", "closeWith" => "</poesie>\n", "display" => true, "selectionType" => "line"))), array("id" => 'guillemets', "name" => _T('barreoutils:barre_guillemets'), "className" => "outil_guillemets", "openWith" => "«", "closeWith" => "»", "display" => true, "lang" => array('fr', 'eo', 'cpf', 'ar', 'es'), "selectionType" => "word", "dropMenu" => array(array("id" => 'guillemets_simples', "name" => _T('barreoutils:barre_guillemets_simples'), "className" => "outil_guillemets_simples", "openWith" => "“", "closeWith" => "”", "display" => true, "lang" => array('fr', 'eo', 'cpf', 'ar', 'es'), "selectionType" => "word"))), array("id" => 'guillemets_de', "name" => _T('barreoutils:barre_guillemets'), "className" => "outil_guillemets_de", "openWith" => "„", "closeWith" => "“", "display" => true, "lang" => array('bg', 'de', 'pl', 'hr', 'src'), "selectionType" => "word", "dropMenu" => array(array("id" => 'guillemets_de_simples', "name" => _T('barreoutils:barre_guillemets_simples'), "className" => "outil_guillemets_de_simples", "openWith" => "‚", "closeWith" => "‘", "display" => true, "lang" => array('bg', 'de', 'pl', 'hr', 'src'), "selectionType" => "word"))), array("id" => 'guillemets_autres', "name" => _T('barreoutils:barre_guillemets'), "className" => "outil_guillemets_simples", "openWith" => "“", "closeWith" => "”", "display" => true, "lang_not" => array('fr', 'eo', 'cpf', 'ar', 'es', 'bg', 'de', 'pl', 'hr', 'src'), "selectionType" => "word", "dropMenu" => array(array("id" => 'guillemets_autres_simples', "name" => _T('barreoutils:barre_guillemets_simples'), "className" => "outil_guillemets_uniques", "openWith" => "‘", "closeWith" => "’", "display" => true, "lang_not" => array('fr', 'eo', 'cpf', 'ar', 'es', 'bg', 'de', 'pl', 'hr', 'src'), "selectionType" => "word"))), array("id" => "sepCaracteres", "separator" => "---------------", "display" => true), array("id" => 'grpCaracteres', "name" => _T('barreoutils:barre_inserer_caracteres'), "className" => 'outil_caracteres', "display" => true, "dropMenu" => array(array("id" => 'A_grave', "name" => _T('barreoutils:barre_a_accent_grave'), "className" => "outil_a_maj_grave", "replaceWith" => "À", "display" => true, "lang" => array('fr', 'eo', 'cpf')), array("id" => 'E_aigu', "name" => _T('barreoutils:barre_e_accent_aigu'), "className" => "outil_e_maj_aigu", "replaceWith" => "É", "display" => true, "lang" => array('fr', 'eo', 'cpf')), array("id" => 'E_grave', "name" => _T('barreoutils:barre_e_accent_grave'), "className" => "outil_e_maj_grave", "replaceWith" => "È", "display" => true, "lang" => array('fr', 'eo', 'cpf')), array("id" => 'aelig', "name" => _T('barreoutils:barre_ea'), "className" => "outil_aelig", "replaceWith" => "æ", "display" => true, "lang" => array('fr', 'eo', 'cpf')), array("id" => 'AElig', "name" => _T('barreoutils:barre_ea_maj'), "className" => "outil_aelig_maj", "replaceWith" => "Æ", "display" => true, "lang" => array('fr', 'eo', 'cpf')), array("id" => 'oe', "name" => _T('barreoutils:barre_eo'), "className" => "outil_oe", "replaceWith" => "œ", "display" => true, "lang" => array('fr')), array("id" => 'OE', "name" => _T('barreoutils:barre_eo_maj'), "className" => "outil_oe_maj", "replaceWith" => "Œ", "display" => true, "lang" => array('fr')), array("id" => 'Ccedil', "name" => _T('barreoutils:barre_c_cedille_maj'), "className" => "outil_ccedil_maj", "replaceWith" => "Ç", "display" => true, "lang" => array('fr', 'eo', 'cpf')), array("id" => 'uppercase', "name" => _T('barreoutils:barre_gestion_cr_changercassemajuscules'), "className" => "outil_uppercase", "replaceWith" => 'function(markitup) { return markitup.selection.toUpperCase() }', "display" => true, "lang" => array('fr', 'en')), array("id" => 'lowercase', "name" => _T('barreoutils:barre_gestion_cr_changercasseminuscules'), "className" => "outil_lowercase", "replaceWith" => 'function(markitup) { return markitup.selection.toLowerCase() }', "display" => true, "lang" => array('fr', 'en')))), array("id" => "sepCode", "separator" => "---------------", "display" => true), array("id" => 'grpCode', "name" => _T('barreoutils:barre_inserer_code'), "className" => 'outil_code', "openWith" => "<code>", "closeWith" => "</code>", "display" => true, "dropMenu" => array(array("id" => 'cadre', "name" => _T('barreoutils:barre_inserer_cadre'), "className" => 'outil_cadre', "openWith" => "<cadre>\n", "closeWith" => "\n</cadre>", "display" => true)))), 'functions' => "\n\t\t\t\t// remplace ou cree -* ou -** ou -# ou -##\n\t\t\t\tfunction outil_liste(h, c) {\n\t\t\t\t\tif ((s = h.selection) && (r = s.match(/^-([*#]+) (.*)\$/)))\t {\n\t\t\t\t\t\tr[1] = r[1].replace(/[#*]/g, c);\n\t\t\t\t\t\ts = '-'+r[1]+' '+r[2];\n\t\t\t\t\t} else {\n\t\t\t\t\t\ts = '-' + c + ' '+s;\n\t\t\t\t\t}\n\t\t\t\t\treturn s;\n\t\t\t\t}\n\n\t\t\t\t// indente des -* ou -#\n\t\t\t\tfunction outil_indenter(h) {\n\t\t\t\t\tif (s = h.selection) {\n\t\t\t\t\t\tif (s.substr(0,2)=='-*') {\n\t\t\t\t\t\t\ts = '-**' + s.substr(2);\n\t\t\t\t\t\t} else if (s.substr(0,2)=='-#') {\n\t\t\t\t\t\t\ts = '-##' + s.substr(2);\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\ts = '-* ' + s;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\treturn s;\n\t\t\t\t}\n\t\t\t\t\t\t\n\t\t\t\t// desindente des -* ou -** ou -# ou -##\n\t\t\t\tfunction outil_desindenter(h){\n\t\t\t\t\tif (s = h.selection) {\n\t\t\t\t\t\tif (s.substr(0,3)=='-**') {\n\t\t\t\t\t\t\ts = '-*' + s.substr(3);\n\t\t\t\t\t\t} else if (s.substr(0,3)=='-* ') {\n\t\t\t\t\t\t\ts = s.substr(3);\n\t\t\t\t\t\t} else if (s.substr(0,3)=='-##') {\n\t\t\t\t\t\t\ts = '-#' + s.substr(3);\n\t\t\t\t\t\t} else if (s.substr(0,3)=='-# ') {\n\t\t\t\t\t\t\ts = s.substr(3);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\treturn s;\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\t// ajouter un espace avant, apres un {qqc} pour ne pas que\n\t\t\t\t// gras {{}} suivi de italique {} donnent {{{}}}, mais { {{}} }\n\t\t\t\tfunction espace_si_accolade(h, openWith, closeWith){\n\t\t\t\t\tif (s = h.selection) {\n\t\t\t\t\t\t// accolade dans la selection\n\t\t\t\t\t\tif (s.charAt(0)=='{') {\n\t\t\t\t\t\t\treturn openWith + ' ' + s + ' ' + closeWith;\n\t\t\t\t\t\t}\n\t\t\t\t\t\t// accolade avant la selection\n\t\t\t\t\t\telse if (c = h.textarea.selectionStart) {\n\t\t\t\t\t\t\tif (h.textarea.value.charAt(c-1) == '{') {\n\t\t\t\t\t\t\t\treturn ' ' + openWith + s + closeWith + ' ';\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\treturn openWith + s + closeWith;\n\t\t\t\t} \n\t\t\t\t")); $set->cacher(array('stroke_through', 'clean', 'preview')); return $set; }
/** * Definition de la barre 'edition' pour markitup */ function barre_outils_edition(){ $set = new Barre_outils(array( 'nameSpace' => 'edition', #'previewAutoRefresh'=> true, #'previewParserPath' => url_absolue(generer_url_public('preview')), 'onShiftEnter' => array('keepDefault'=>false, 'replaceWith'=>"\n_ "), 'onCtrlEnter' => array('keepDefault'=>false, 'replaceWith'=>"\n\n"), // garder les listes si on appuie sur entree 'onEnter' => array('keepDefault'=>false, 'selectionType'=>'return', 'replaceWith'=>"\n"), 'onTab' => array('keepDefault'=>false, 'replaceWith'=>"\t"), 'markupSet' => array( // H1 - {{{ array( "id" => 'header1', "name" => _T('barre_outils:barre_intertitre'), "key" => "H", "className" => "outil_header1", "openWith" => "\n{{{", "closeWith" => "}}}\n", "display" => true, "selectionType" => "line", ), // Bold - {{ array( "id" => 'bold', "name" => _T('barre_outils:barre_gras'), "key" => "B", "className" => "outil_bold", "openWith" => "{{", "closeWith" => "}}", "display" => true, "selectionType" => "word", ), // Italic - { array( "id" => 'italic', "name" => _T('barre_outils:barre_italic'), "key" => "I", "className" => "outil_italic", "openWith" => "{", "closeWith" => "}", "display" => true, "selectionType" => "word", ), // montrer une suppression array( "id" => 'stroke_through', "name" => _T('barre_outils:barre_barre'), // :-) "className" => "outil_stroke_through", "openWith" => "<del>", "closeWith" => "</del>", "display" => true, "selectionType" => "word", ), // listes -* array( "id" => 'liste_ul', "name" => _T('barre_outils:barre_liste_ul'), "className" => "outil_liste_ul", "replaceWith" => "function(h){ return outil_liste(h, '*');}", "display" => true, "selectionType" => "line", "forceMultiline" => true, "dropMenu" => array( // liste -# array( "id" => 'liste_ol', "name" => _T('barre_outils:barre_liste_ol'), "className" => "outil_liste_ol", "replaceWith" => "function(h){ return outil_liste(h, '#');}", "display" => true, "selectionType" => "line", "forceMultiline" => true, ), // indenter array( "id" => 'indenter', "name" => _T('barre_outils:barre_indenter'), "className" => "outil_indenter", "replaceWith" => "function(h){return outil_indenter(h);}", "display" => true, "selectionType" => "line", "forceMultiline" => true, ), // desindenter array( "id" => 'desindenter', "name" => _T('barre_outils:barre_desindenter'), "className" => "outil_desindenter", "replaceWith" => "function(h){return outil_desindenter(h);}", "display" => true, "selectionType" => "line", "forceMultiline" => true, ), ), ), // separation array( "id" => "sepLink", // trouver un nom correct ! "separator" => "---------------", "display" => true, ), // lien spip array( "id" => 'link', "name" => _T('barre_outils:barre_lien'), "key" => "L", "className" => "outil_link", "openWith" => "[", "closeWith" => "->[!["._T('barre_outils:barre_lien_input')."]!]]", "display" => true, ), // note en bas de page spip array( "id" => 'notes', "name" => _T('barre_outils:barre_note'), "className" => "outil_notes", "openWith" => "[[", "closeWith" => "]]", "display" => true, "selectionType" => "word", ), // separation // (affichee dans forum) array( "id" => "sepCitations", // trouver un nom correct ! "separator" => "---------------", "display" => false, ), // quote spip // (affichee dans forum) array( "id" => 'quote', "name" => _T('barre_outils:barre_quote'), "key" => "Q", "className" => "outil_quote", "openWith" => "\n<quote>", "closeWith" => "</quote>\n", "display" => false, "selectionType" => "word", ), // separation array( "id" => "sepGuillemets", "separator" => "---------------", "display" => true, ), // guillemets array( "id" => 'guillemets', "name" => _T('barre_outils:barre_guillemets'), "className" => "outil_guillemets", "openWith" => "«", "closeWith" => "»", "display" => true, "lang" => array('fr','eo','cpf','ar','es'), "selectionType" => "word", ), // guillemets internes array( "id" => 'guillemets_simples', "name" => _T('barre_outils:barre_guillemets_simples'), "className" => "outil_guillemets_simples", "openWith" => "“", "closeWith" => "”", "display" => true, "lang" => array('fr','eo','cpf','ar','es'), "selectionType" => "word", ), // guillemets de array( "id" => 'guillemets_de', "name" => _T('barre_outils:barre_guillemets'), "className" => "outil_guillemets_de", "openWith" => "„", "closeWith" => "“", "display" => true, "lang" => array('bg','de','pl','hr','src'), "selectionType" => "word", ), // guillemets de, simples array( "id" => 'guillemets_de_simples', "name" => _T('barre_outils:barre_guillemets_simples'), "className" => "outil_guillemets_de_simples", "openWith" => "‚", "closeWith" => "‘", "display" => true, "lang" => array('bg','de','pl','hr','src'), "selectionType" => "word", ), // guillemets autres langues array( "id" => 'guillemets_autres', "name" => _T('barre_outils:barre_guillemets'), "className" => "outil_guillemets_simples", "openWith" => "“", "closeWith" => "”", "display" => true, "lang_not" => array('fr','eo','cpf','ar','es','bg','de','pl','hr','src'), "selectionType" => "word", ), // guillemets simples, autres langues array( "id" => 'guillemets_autres_simples', "name" => _T('barre_outils:barre_guillemets_simples'), "className" => "outil_guillemets_uniques", "openWith" => "‘", "closeWith" => "’", "display" => true, "lang_not" => array('fr','eo','cpf','ar','es','bg','de','pl','hr','src'), "selectionType" => "word", ), // separation array( "id" => "sepCaracteres", "separator" => "---------------", "display" => true, ), // icones clavier array( "id" => 'grpCaracteres', "name" => _T('barre_outils:barre_inserer_caracteres'), "className" => 'outil_caracteres', "display" => true, "dropMenu" => array( // A majuscule accent grave array( "id" => 'A_grave', "name" => _T('barre_outils:barre_a_accent_grave'), "className" => "outil_a_maj_grave", "replaceWith" => "À", "display" => true, "lang" => array('fr','eo','cpf'), ), // E majuscule accent aigu array( "id" => 'E_aigu', "name" => _T('barre_outils:barre_e_accent_aigu'), "className" => "outil_e_maj_aigu", "replaceWith" => "É", "display" => true, "lang" => array('fr','eo','cpf'), ), // oe array( "id" => 'oe', "name" => _T('barre_outils:barre_eo'), "className" => "outil_oe", "replaceWith" => "œ", "display" => true, "lang" => array('fr'), ), // OE array( "id" => 'OE', "name" => _T('barre_outils:barre_eo_maj'), "className" => "outil_oe_maj", "replaceWith" => "Œ", "display" => true, "lang" => array('fr'), ), ), ), // separation array( "id" => "sepPreview", // trouver un nom correct ! "separator" => "---------------", "display" => true, ), // clean array( "id" => 'clean', "name" => _T('barre_outils:barre_clean'), "className" => "outil_clean", "replaceWith" => 'function(markitup) { return markitup.selection.replace(/<(.*?)>/g, "") }', "display" => true, ), // preview array( "id" => 'preview', "name" => _T('barre_outils:barre_preview'), "className" => "outil_preview", "call" => "preview", "display" => true, ), ), 'functions' => " // remplace ou cree -* ou -** ou -# ou -## function outil_liste(h, c) { if ((s = h.selection) && (r = s.match(/^-([*#]+) (.*)\$/))) { r[1] = r[1].replace(/[#*]/g, c); s = '-'+r[1]+' '+r[2]; } else { s = '-' + c + ' '+s; } return s; } // indente des -* ou -# function outil_indenter(h) { if (s = h.selection) { if (s.substr(0,2)=='-*') { s = '-**' + s.substr(2); } else if (s.substr(0,2)=='-#') { s = '-##' + s.substr(2); } else { s = '-* ' + s; } } return s; } // desindente des -* ou -** ou -# ou -## function outil_desindenter(h){ if (s = h.selection) { if (s.substr(0,3)=='-**') { s = '-*' + s.substr(3); } else if (s.substr(0,3)=='-* ') { s = s.substr(3); } else if (s.substr(0,3)=='-##') { s = '-#' + s.substr(3); } else if (s.substr(0,3)=='-# ') { s = s.substr(3); } } return s; } ", )); $set->cacher(array( 'stroke_through', 'clean', 'preview', )); return $set; }