/** * Initialisation de TinyMCE */ /** * Quand tinyMCE est invoqué hors connexion, initialiser privateKey */ if ( typeof(privateKey) == 'undefined') { var privateKey = null; }; if ( typeof(lang_admin) == 'undefined') { var lang_admin = "fr_FR"; }; var blockFormats ='Paragraph=p; Header 1=h1; Header 2=h2; Header 3=h3; Header 4=h4;'; switch (lang_admin) { case 'fr_FR': blockFormats ='Paragraphe=p; Titre 1=h1; Titre 2=h2; Titre 3=h3; Titre 4=h4;'; break; case 'es': blockFormats ='Párrafo=p; Cabecera 1=h1; Cabecera 2=h2; Cabecera 3=h3; Cabecera 4=h4;'; break; } // Pour la cass dans le body de l'iframe if ( typeof(bodyIframe) == 'undefined') { var bodyIframe = "editorWysiwyg"; }; // Adaptations pour la saisie des news if ( typeof(newsAddEdit) == 'undefined') { var newsAddEdit = false; }; if(newsAddEdit){ var content_css = [ baseUrl + "core/layout/common.css",baseUrl + "core/layout/mediaqueries.css",baseUrl + "core/vendor/tinymce/content.css",baseUrl + "site/data/theme.css",baseUrl + "site/data/news/themeNews.css",baseUrl + "site/data/custom.css"]; } else { var content_css = [baseUrl + "core/layout/common.css",baseUrl + "core/layout/mediaqueries.css",baseUrl + "core/vendor/tinymce/content.css",baseUrl + "site/data/theme.css",baseUrl + "site/data/custom.css"]; } newAddEdit = false; var pluginsList = "advlist anchor autolink autosave autoresize codemirror fullscreen hr image link lists media nonbreaking paste searchreplace tabfocus table template"; var toolbarList = "restoredraft | undo redo | formatselect bold italic underline forecolor backcolor | fontsizeselect | alignleft aligncenter alignright alignjustify | bullist numlist | table template | image media link | code fullscreen"; var templatesList = [ { title: "Bloc de texte", url: baseUrl + "core/vendor/tinymce/templates/1block.html", description: "Bloc de texte avec un titre." }, { title: "Blocs de texte : 6 - 6", url: baseUrl + "core/vendor/tinymce/templates/2blocks.html", description: "2 blocs de texte, de même hauteur, avec un titre en ligne." }, { title: "Blocs de texte : 4 - 4 - 4", url: baseUrl + "core/vendor/tinymce/templates/3blocks.html", description: "3 blocs de texte, de même hauteur, avec un titre en ligne." }, { title: "Blocs de texte : 3 - 6 - 3", url: baseUrl + "core/vendor/tinymce/templates/363blocks.html", description: "3 blocs de texte, de même hauteur, dissymétriques, avec un titre en ligne." }, { title: "Blocs de texte : 3 - 3 - 3 - 3", url: baseUrl + "core/vendor/tinymce/templates/4blocks.html", description: "4 blocs de texte, de même hauteur, avec un titre en ligne." }, { title: "Color box", url: baseUrl + "core/vendor/tinymce/templates/colorbox.html", description: "Boîte colorée sans marge en petit écran." }, { title: "Effet accordéon : 2", url: baseUrl + "core/vendor/tinymce/templates/accordion.html", description: "Bloc de texte avec effet accordéon à 2 paragraphes." }, { title: "Effet accordéon : 3", url: baseUrl + "core/vendor/tinymce/templates/accordion3.html", description: "Bloc de texte avec effet accordéon à 3 paragraphes." }, { title: "Effet accordéon : 4", url: baseUrl + "core/vendor/tinymce/templates/accordion4.html", description: "Bloc de texte avec effet accordéon à 4 paragraphes." }, { title: "Grille symétrique : 6 - 6", url: baseUrl + "core/vendor/tinymce/templates/col6.html", description: "Grille adaptative sur 12 colonnes, sur mobile elles passent les unes en dessous des autres." }, { title: "Grille symétrique : 4 - 4 - 4", url: baseUrl + "core/vendor/tinymce/templates/col444.html", description: "Grille adaptative sur 12 colonnes, sur mobile elles passent les unes en dessous des autres." }, { title: "Grille symétrique : 3 - 3 - 3 - 3", url: baseUrl + "core/vendor/tinymce/templates/col3.html", description: "Grille adaptative sur 12 colonnes, sur mobile elles passent les unes en dessous des autres." }, { title: "Grille asymétrique : 4 - 8", url: baseUrl + "core/vendor/tinymce/templates/col4-8.html", description: "Grille adaptative sur 12 colonnes, sur mobile elles passent les unes en dessous des autres." }, { title: "Grille asymétrique : 8 - 4", url: baseUrl + "core/vendor/tinymce/templates/col8-4.html", description: "Grille adaptative sur 12 colonnes, sur mobile elles passent les unes en dessous des autres." }, { title: "Grille asymétrique : 2 - 10", url: baseUrl + "core/vendor/tinymce/templates/col2-10.html", description: "Grille adaptative sur 12 colonnes, sur mobile elles passent les unes en dessous des autres." }, { title: "Grille asymétrique : 10 - 2", url: baseUrl + "core/vendor/tinymce/templates/col10-2.html", description: "Grille adaptative sur 12 colonnes, sur mobile elles passent les unes en dessous des autres." } ]; var offsetToolbar = 45; if( document.documentElement.clientWidth < 800 ) offsetToolbar = 80; tinymce.init({ // Classe où appliquer l'éditeur selector: ".editorWysiwyg", // Aperçu dans le pied de page setup:function(ed) { ed.on('change', function(e) { if (ed.id === 'themeFooterText') { $("#footerText").html(tinyMCE.get('themeFooterText').getContent()); } if (ed.id === 'themeHeaderText') { $("#featureContent").html(tinyMCE.get('themeHeaderText').getContent()); } }); }, // Mode d'affichage de la barre d'outils toolbar_mode: 'wrap', toolbar_sticky: true, toolbar_sticky_offset: offsetToolbar, // Langue language: lang_admin, // Plugins plugins: pluginsList, // Contenu de la barre d'outils toolbar: toolbarList, fontsize_formats: "8px 9px 10px 11px 12px 13px 14px 15px 16px 18px 20px 24px 30px 36px 48px 60px 72px 96px", menubar: 'file edit insert view format tools', menu: { file: { title: 'File', items: 'newdocument restoredraft | preview | export print | deleteallconversations' }, edit: { title: 'Edit', items: 'undo redo | cut copy paste pastetext | selectall | searchreplace' }, view: { title: 'View', items: 'code | visualaid visualchars visualblocks | spellchecker | preview fullscreen | showcomments' }, insert: { title: 'Insert', items: 'image link media addcomment pageembed template codesample inserttable | charmap hr | pagebreak nonbreaking anchor tableofcontents | insertdatetime' }, format: { title: 'Format', items: 'bold italic underline strikethrough superscript subscript codeformat | blocks align | forecolor backcolor | language | removeformat' }, tools: { title: 'Tools', items: 'spellchecker spellcheckerlanguage | a11ycheck code ' }, table: { title: 'Table', items: '' }, help: { title: 'Help', items: '' } }, //Autoresize autoresize_overflow_padding: 0, autoresize_bottom_margin: 0, // Hauteur minimale en pixels de la zone d'édition min_height: 500, // CodeMirror codemirror: { indentOnInit: true, // Whether or not to indent code on init. path: 'codemirror', // Path to CodeMirror distribution saveCursorPosition: false, // Insert caret marker config: { // CodeMirror config object /*theme: 'ambiance',*/ fullscreen: true, /*mode: 'application/x-httpd-php',*/ indentUnit: 4, lineNumbers: true, mode: "htmlmixed", }, jsFiles: [ 'mode/php/php.js', 'mode/css/css.js', 'mode/htmlmixed/htmlmixed.js', 'mode/htmlembedded/htmlembedded.js', 'mode/javascript/javascript.js', 'mode/xml/xml.js', 'addon/search/searchcursor.js', 'addon/search/search.js', ], cssFiles: [ /*'theme/ambiance.css',*/ ], width: 800, // Default value is 800 height: 500 // Default value is 550 }, // Cibles de la target target_list: [ {title: 'None', value: ''}, {title: 'Nouvel onglet', value: '_blank'} ], // Target pour lightbox rel_list: [ {title: 'None', value: ''}, {title: 'Une popup (Lity)', value: 'data-lity'}, {title: 'Une galerie d\'images (SimpleLightbox)', value: 'gallery'} ], // Titre des images image_title: true, // figure html5 image_caption: true, // Pages internes link_list: baseUrl + "core/vendor/tinymce/links.php", link_class_list: [ {title: 'None', value: ''}, {title: 'clicked_link_count', value: 'clicked_link_count'} ], // Contenu du menu contextuel contextmenu: "selectall searchreplace | hr | media image link anchor nonbreaking | insertable cell row column deletetable", // Fichiers CSS à intégrer à l'éditeur content_css, // Classe à ajouter à la balise body dans l'iframe body_class: bodyIframe, // Affiche les menus menubar: true, // URL menu contextuel link_context_toolbar: true, // Affiche la barre de statut pour redimenssionnent statusbar: true, // Coller images blob paste_data_images: true, // Autoriser tous les éléments valid_elements : '*[*]', // Autorise l'ajout de script extended_valid_elements: "script[language|type|src]", // Conserver les styles keep_styles: false, // Bloque ou autorise le dimensionnement des medias media_dimensions: true, // Désactiver ou activer la dimension des images image_dimensions: true, // Active l'onglet avancé lors de l'ajout d'une image image_advtab: true, // Urls relatives relative_urls: true, // Url de base document_base_url: baseUrl, // Gestionnaire de fichiers filemanager_access_key: privateKey, external_filemanager_path: baseUrl + "core/vendor/filemanager/", external_plugins: { "filemanager": baseUrl + "core/vendor/filemanager/plugin.min.js" }, // Contenu du bouton insérer insert_button_items: "anchor hr table", // Contenu du bouton formats block_formats: blockFormats, // Templates templates: templatesList }); tinymce.init({ // Classe où appliquer l'éditeur selector: ".editorWysiwygComment", setup:function(ed) { // Aperçu dans le pied de page ed.on('change', function(e) { if (ed.id === 'themeFooterText') { $("#footerText").html(tinyMCE.get('themeFooterText').getContent()); } }); // Limitation du nombre de caractères des commentaires à maxlength var alarmCaraMin = 200; // alarme sur le nombre de caractères restants à partir de... var maxlength = parseInt($("#" + (ed.id)).attr("maxlength")); var caracteres = $("#" + (ed.id)).attr("caracteres"); var tinymcemaxi = $("#" + (ed.id)).attr("TinymceMaxi"); var tinymcecara = $("#" + (ed.id)).attr("TinymceCara"); var tinymceexceed = $("#" + (ed.id)).attr("TinymceExceed"); var id_alarm = "#blogArticleContentAlarm" var contentLength = 0; ed.on("keydown", function(e) { contentLength = ed.getContent({format : 'text'}).length; if (contentLength > maxlength) { $(id_alarm).html( tinymcemaxi + " " + maxlength + " " + caracteres ); if(e.keyCode != 8 && e.keyCode != 46){ e.preventDefault(); e.stopPropagation(); return false; } } else{ if(maxlength - contentLength < alarmCaraMin){ $(id_alarm).html((maxlength - contentLength) + " " + tinymcecara); } else{ $(id_alarm).html(" "); } } }); // Limitation y compris lors d'un copier/coller ed.on("paste", function(e){ contentLeng = ed.getContent({format : 'text'}).length - 16; var data = e.clipboardData.getData('Text'); if (data.length > (maxlength - contentLeng)) { $(id_alarm).html( tinymceexceed + " " + maxlength + " " + caracteres + " ! "); return false; } else { if(maxlength - contentLeng < alarmCaraMin){ $(id_alarm).html((maxlength - contentLeng - data.length) + " " + tinymcecara); } else{ $(id_alarm).html(" "); } return true; } }); }, // Langue language: lang_admin, // Plugins plugins: "advlist anchor autolink autosave autoresize fullscreen hr lists paste searchreplace tabfocus template", // Contenu de la barre d'outils toolbar: "restoredraft | undo redo | formatselect bold italic forecolor backcolor | alignleft aligncenter alignright alignjustify | bullist numlist | fullscreen", // Hauteur en pixels de la zone d'édition //Autoresize autoresize_overflow_padding: 0, autoresize_bottom_margin: 0, min_height: 200, // Mode d'affichage de la barre d'outils toolbar_mode: 'wrap', // Titre des images image_title: true, // Pages internes link_list: baseUrl + "core/vendor/tinymce/links.php", // Contenu du menu contextuel contextmenu: "cut copy paste pastetext | selectall searchreplace ", // Fichiers CSS à intégrer à l'éditeur content_css: [ baseUrl + "core/layout/common.css", baseUrl + "core/layout/mediaqueries.css", baseUrl + "core/vendor/tinymce/content.css", baseUrl + "site/data/theme.css", baseUrl + "site/data/custom.css" ], // Classe à ajouter à la balise body dans l'iframe body_class: "editorWysiwyg", // Cache les menus menubar: false, // URL menu contextuel link_context_toolbar: true, // Affiche la barre de statut sinon on ne peut pas redimenssionner statusbar: true, // Autorise le copié collé à partir du web paste_data_images: true, // Bloque ou autorise le dimensionnement des medias media_dimensions: true, // Désactiver ou activer la dimension des images image_dimensions: true, // Active l'onglet avancé lors de l'ajout d'une image image_advtab: true, // Urls relatives relative_urls: true, // Url de base document_base_url: baseUrl, // Contenu du bouton formats block_formats: blockFormats, //style_formats: formatsList });