From d181d5357b710ef484b8a37a92c9bedeea620971 Mon Sep 17 00:00:00 2001 From: Jose Gonzalez <jose.gonzalez@artica.es> Date: Tue, 26 Nov 2019 13:19:28 +0100 Subject: [PATCH] Created function for initialize TinyMCE --- .../godmode/alerts/configure_alert_action.php | 28 +++----- .../alerts/configure_alert_template.php | 30 ++++----- .../visual_console_builder.editor.php | 63 +++++------------- .../visual_console_builder.elements.php | 61 ++++++----------- pandora_console/godmode/setup/news.php | 17 +---- .../godmode/setup/setup_visuals.php | 33 +++------- .../godmode/snmpconsole/snmp_alert.php | 30 ++++----- pandora_console/include/javascript/pandora.js | 66 +++++++++++++++++++ 8 files changed, 149 insertions(+), 179 deletions(-) diff --git a/pandora_console/godmode/alerts/configure_alert_action.php b/pandora_console/godmode/alerts/configure_alert_action.php index 8ea292445b..13d6e39470 100644 --- a/pandora_console/godmode/alerts/configure_alert_action.php +++ b/pandora_console/godmode/alerts/configure_alert_action.php @@ -418,24 +418,16 @@ $(document).ready (function () { $table_macros_field.show(); } - tinyMCE.init({ - selector: 'textarea.tiny-mce-editor', - theme : "advanced", - plugins : "preview, print, table, searchreplace, nonbreaking, xhtmlxtras, noneditable", - theme_advanced_buttons1 : "bold,italic,underline,|,justifyleft,justifycenter,justifyright,justifyfull,|,formatselect,fontselect,fontsize,select", - theme_advanced_buttons2 : "search,replace,|,bullist,numlist,|,undo,redo,|,link,unlink,image,|,cleanup,code,preview,|,forecolor,backcolor", - theme_advanced_buttons3 : "", - theme_advanced_toolbar_location : "top", - theme_advanced_toolbar_align : "left", - theme_advanced_resizing : true, - theme_advanced_statusbar_location : "bottom", - force_p_newlines : false, - forced_root_block : '', - inline_styles : true, - valid_children : "+body[style]", - element_format : "html" - }); - + var added_config = { + "selector": "textarea.tiny-mce-editor", + "plugins": "preview, print, table, searchreplace, nonbreaking, xhtmlxtras, noneditable", + "theme_advanced_buttons1": "bold,italic,underline,|,justifyleft,justifycenter,justifyright,justifyfull,|,formatselect,fontselect,fontsizeselect", + "theme_advanced_buttons2": "search,replace,|,bullist,numlist,|,undo,redo,|,link,unlink,image,|,cleanup,code,preview,|,forecolor,backcolor", + "valid_children": "+body[style]", + "width": "90%", + } + defineTinyMCE(added_config); + render_command_preview(original_command); render_command_recovery_preview(original_command); diff --git a/pandora_console/godmode/alerts/configure_alert_template.php b/pandora_console/godmode/alerts/configure_alert_template.php index d79ca90ca8..9d57ad341f 100644 --- a/pandora_console/godmode/alerts/configure_alert_template.php +++ b/pandora_console/godmode/alerts/configure_alert_template.php @@ -1310,23 +1310,19 @@ if ($step == 2) { } }); - tinyMCE.init({ - selector: 'textarea.tiny-mce-editor', - theme : "advanced", - plugins : "preview, print, table, searchreplace, nonbreaking, xhtmlxtras, noneditable", - theme_advanced_buttons1 : "bold,italic,underline,|,justifyleft,justifycenter,justifyright,justifyfull,|,formatselect,fontselect,fontsize,select", - theme_advanced_buttons2 : "search,replace,|,bullist,numlist,|,undo,redo,|,link,unlink,image,|,cleanup,code,preview,|,forecolor,backcolor", - theme_advanced_buttons3 : "", - theme_advanced_toolbar_location : "top", - theme_advanced_toolbar_align : "left", - theme_advanced_resizing : true, - theme_advanced_statusbar_location : "bottom", - force_p_newlines : false, - forced_root_block : '', - inline_styles : true, - valid_children : "+body[style]", - element_format : "html" - }); + var added_config = { + "selector": 'textarea.tiny-mce-editor', + "plugins": "preview, print, table, searchreplace, nonbreaking, xhtmlxtras, noneditable", + "theme_advanced_buttons1": "bold,italic,underline,|,cut,copy,paste,|,justifyleft,justifycenter,justifyright,|,forecolor,backcolor,|,formatselect,fontselect,fontsizeselect", + "theme_advanced_buttons2": "search,replace,|,bullist,numlist,|,undo,redo,|,link,unlink,image,|,cleanup,code,preview", + "force_p_newlines" : false, + "forced_root_block" : '', + "inline_styles": true, + "valid_children": "+body[style]", + } + + defineTinyMCE(added_config); + <?php } ?> diff --git a/pandora_console/godmode/reporting/visual_console_builder.editor.php b/pandora_console/godmode/reporting/visual_console_builder.editor.php index 9b6697533f..d6c46435c1 100755 --- a/pandora_console/godmode/reporting/visual_console_builder.editor.php +++ b/pandora_console/godmode/reporting/visual_console_builder.editor.php @@ -195,54 +195,21 @@ ui_require_javascript_file('encode_decode_base64'); id_visual_console = <?php echo $visualConsole['id']; ?>; visual_map_main(); - tinyMCE.init({ - mode : "exact", - elements: "text-label", - convert_urls: false, - theme : "advanced", - <?php - if ($config['style'] == 'pandora_legacy') { - echo 'content_css: "'.ui_get_full_url('include/styles/pandora_legacy.css', false, false, false).'",'."\n"; - } else { - echo 'content_css: "'.ui_get_full_url('include/styles/pandora.css', false, false, false).'",'."\n"; - } - ?> - theme_advanced_font_sizes : - "4pt=.visual_font_size_4pt, " + - "6pt=.visual_font_size_6pt, " + - "8pt=.visual_font_size_8pt, " + - "10pt=.visual_font_size_10pt, " + - "12pt=.visual_font_size_12pt, " + - "14pt=.visual_font_size_14pt, " + - "18pt=.visual_font_size_18pt, " + - "24pt=.visual_font_size_24pt, " + - "28pt=.visual_font_size_28pt, " + - "36pt=.visual_font_size_36pt, " + - "48pt=.visual_font_size_48pt, " + - "60pt=.visual_font_size_60pt, " + - "72pt=.visual_font_size_72pt, " + - "84pt=.visual_font_size_84pt, " + - "96pt=.visual_font_size_96pt, " + - "116pt=.visual_font_size_116pt, " + - "128pt=.visual_font_size_128pt, " + - "140pt=.visual_font_size_140pt, " + - "154pt=.visual_font_size_154pt, " + - "196pt=.visual_font_size_196pt", - theme_advanced_toolbar_location : "top", - theme_advanced_toolbar_align : "left", - theme_advanced_buttons1 : "bold,italic, |, justifyleft, justifycenter, justifyright, |,undo, redo, |, image, link, |, fontselect, |, forecolor, fontsizeselect, |, code", - theme_advanced_buttons2 : "", - theme_advanced_buttons3 : "", - theme_advanced_statusbar_location : "none", - width: "400", - height: "200", - nowrap: true, - plugins : "noneditable", - inline_styles : true, - valid_children : "+body[style]", - element_format : "html", - editor_deselector : "noselected" - }); + var added_config = { + "plugins": "noneditable", + "elements": "text-label", + "theme_advanced_buttons1": + "bold,italic,|,justifyleft,justifycenter,justifyright,|,undo,redo,|,image,link,|,fontselect,|,forecolor,fontsizeselect,|,code", + "valid_children": "+body[style]", + "theme_advanced_font_sizes": "true", + "content_css": <?php echo '"'.ui_get_full_url('include/styles/pandora.css', false, false, false).'"'; ?>, + "editor_deselector": "noselected", + "inline_styles": true, + "nowrap": true, + "width": "50%", + "height": "100%", + } + defineTinyMCE(added_config); $('.item img').each(function(){ diff --git a/pandora_console/godmode/reporting/visual_console_builder.elements.php b/pandora_console/godmode/reporting/visual_console_builder.elements.php index 720bb57a1c..23436be6e9 100755 --- a/pandora_console/godmode/reporting/visual_console_builder.elements.php +++ b/pandora_console/godmode/reporting/visual_console_builder.elements.php @@ -710,48 +710,25 @@ ui_require_javascript_file('tiny_mce', 'include/javascript/tiny_mce/'); <script type="text/javascript"> $(document).ready (function () { - - tinymce.init({ - selector: "#tinyMCE_editor", - theme : "advanced", - <?php - if ($config['style'] == 'pandora_legacy') { - echo 'content_css: "'.ui_get_full_url('include/styles/pandora_legacy.css', false, false, false).'",'."\n"; - } else { - echo 'content_css: "'.ui_get_full_url('include/styles/pandora.css', false, false, false).'",'."\n"; - } - ?> - theme_advanced_font_sizes : - "4pt=.visual_font_size_4pt, " + - "6pt=.visual_font_size_6pt, " + - "8pt=.visual_font_size_8pt, " + - "10pt=.visual_font_size_10pt, " + - "12pt=.visual_font_size_12pt, " + - "14pt=.visual_font_size_14pt, " + - "18pt=.visual_font_size_18pt, " + - "24pt=.visual_font_size_24pt, " + - "28pt=.visual_font_size_28pt, " + - "36pt=.visual_font_size_36pt, " + - "48pt=.visual_font_size_48pt, " + - "60pt=.visual_font_size_60pt, " + - "72pt=.visual_font_size_72pt, " + - "84pt=.visual_font_size_84pt, " + - "96pt=.visual_font_size_96pt, " + - "116pt=.visual_font_size_116pt, " + - "128pt=.visual_font_size_128pt, " + - "140pt=.visual_font_size_140pt, " + - "154pt=.visual_font_size_154pt, " + - "196pt=.visual_font_size_196pt", - theme_advanced_toolbar_location : "top", - theme_advanced_toolbar_align : "left", - theme_advanced_buttons1 : "bold,italic, |, image, link, |, forecolor, fontsizeselect", - theme_advanced_buttons2 : "", - theme_advanced_buttons3 : "", - theme_advanced_statusbar_location : "none", - width: "400", - height: "200", - nowrap: true - }); + + var added_config = { + "selector": "#tinyMCE_editor", + "elements": "text-label", + "plugins": "noneditable", + "theme_advanced_buttons1": + "bold,italic,|,justifyleft,justifycenter,justifyright,|,undo,redo,|,image,link,|,fontselect,|,forecolor,fontsizeselect,|,code", + "valid_children": "+body[style]", + "theme_advanced_font_sizes": "true", + "content_css": + <?php echo '"'.ui_get_full_url('include/styles/pandora.css', false, false, false).'"'; ?>, + "editor_deselector": "noselected", + "inline_styles": true, + "nowrap": true, + "width": "400", + "height": "200", + } + + defineTinyMCE(added_config); $("#dialog_label_editor").hide () .dialog ({ diff --git a/pandora_console/godmode/setup/news.php b/pandora_console/godmode/setup/news.php index 61491496f5..864add252b 100644 --- a/pandora_console/godmode/setup/news.php +++ b/pandora_console/godmode/setup/news.php @@ -300,6 +300,7 @@ ui_require_jquery_file('ui.datepicker-'.get_user_language(), 'include/javascript // Include tiny for wysiwyg editor ui_require_javascript_file('tiny_mce', 'include/javascript/tiny_mce/'); +ui_require_javascript_file('pandora'); ?> <script language="javascript" type="text/javascript"> @@ -323,20 +324,8 @@ ui_require_javascript_file('tiny_mce', 'include/javascript/tiny_mce/'); changeMonth: true, changeYear: true, showAnim: "slideDown"}); - - - tinyMCE.init({ - mode : "exact", - elements: "textarea_text", - theme : "advanced", - theme_advanced_toolbar_location : "top", - theme_advanced_toolbar_align : "left", - theme_advanced_buttons1 : "bold,italic, |, image, link, |, cut, copy, paste, |, undo, redo, |, forecolor, |, fontsizeselect, |, justifyleft, justifycenter, justifyright, | ,code", - theme_advanced_buttons2 : "", - theme_advanced_buttons3 : "", - convert_urls : false, - theme_advanced_statusbar_location : "none" - }); + + defineTinyMCE({"elements": "textarea_text",}); $("#checkbox-expire").click(function() { check_expire(); diff --git a/pandora_console/godmode/setup/setup_visuals.php b/pandora_console/godmode/setup/setup_visuals.php index fab43724b5..c9b65c1a56 100755 --- a/pandora_console/godmode/setup/setup_visuals.php +++ b/pandora_console/godmode/setup/setup_visuals.php @@ -1401,30 +1401,17 @@ function change_servicetree_nodes_padding () { } } -tinyMCE.init({ - mode : "exact", - elements: "textarea_custom_report_front_header, textarea_custom_report_front_footer", - theme : "advanced", - theme_advanced_toolbar_location : "top", - theme_advanced_toolbar_align : "left", - theme_advanced_buttons1 : "bold,italic, |, image, |, cut, copy, paste, |, undo, redo, |, forecolor, |, fontsizeselect, |, justifyleft, justifycenter, justifyright", - theme_advanced_buttons2 : "", - theme_advanced_buttons3 : "", - theme_advanced_statusbar_location : "none" -}); +var added_config1 = { + "elements":"textarea_custom_report_front_header, textarea_custom_report_front_footer", + } -tinyMCE.init({ - mode : "exact", - elements: "textarea_custom_report_front_firstpage", - theme : "advanced", - theme_advanced_toolbar_location : "top", - theme_advanced_toolbar_align : "left", - theme_advanced_buttons1 : "bold,italic, |, image, |, cut, copy, paste, |, undo, redo, |, forecolor, |, fontsizeselect, |, justifyleft, justifycenter, justifyright", - theme_advanced_buttons2 : "", - theme_advanced_buttons3 : "", - convert_urls : false, - theme_advanced_statusbar_location : "none" -}); + defineTinyMCE(added_config1); + + var added_config2 = { + "elements":"textarea_custom_report_front_firstpage", + } + + defineTinyMCE(added_config2); $(document).ready (function () { diff --git a/pandora_console/godmode/snmpconsole/snmp_alert.php b/pandora_console/godmode/snmpconsole/snmp_alert.php index 66651d6522..915f87fd22 100755 --- a/pandora_console/godmode/snmpconsole/snmp_alert.php +++ b/pandora_console/godmode/snmpconsole/snmp_alert.php @@ -1458,6 +1458,7 @@ if ($create_alert || $update_alert) { unset($table); } +ui_require_javascript_file('pandora', 'include/javascript/', true); ui_require_javascript_file('tiny_mce', 'include/javascript/tiny_mce/'); ?> <script language="javascript" type="text/javascript"> @@ -1563,24 +1564,19 @@ $(document).ready (function () { } }); - tinyMCE.init({ - selector: 'textarea.tiny-mce-editor', - theme : "advanced", - plugins : "preview, print, table, searchreplace, nonbreaking, xhtmlxtras, noneditable", - theme_advanced_buttons1 : "bold,italic,underline,|,justifyleft,justifycenter,justifyright,justifyfull,|,formatselect,fontselect,fontsize,select", - theme_advanced_buttons2 : "search,replace,|,bullist,numlist,|,undo,redo,|,link,unlink,image,|,cleanup,code,preview,|,forecolor,backcolor", - theme_advanced_buttons3 : "", - theme_advanced_toolbar_location : "top", - theme_advanced_toolbar_align : "left", - theme_advanced_resizing : true, - theme_advanced_statusbar_location : "bottom", - force_p_newlines : false, - forced_root_block : '', - inline_styles : true, - valid_children : "+body[style]", - element_format : "html" - }); + var added_config = { + "selector": "textarea.tiny-mce-editor", + "plugins": "preview, print, table, searchreplace, nonbreaking, xhtmlxtras, noneditable", + "theme_advanced_buttons1" : "bold,italic,underline,|,justifyleft,justifycenter,justifyright,justifyfull,|,formatselect,fontselect,fontsize,select", + "theme_advanced_buttons2" : "search,replace,|,bullist,numlist,|,undo,redo,|,link,unlink,image,|,cleanup,code,preview,|,forecolor,backcolor", + "force_p_newlines": false, + "forced_root_block": '', + "inline_styles": true, + "valid_children": "+body[style]", + "element_format": "html", + } + defineTinyMCE(added_config); }); function show_add_action_snmp(id_alert_snmp) { diff --git a/pandora_console/include/javascript/pandora.js b/pandora_console/include/javascript/pandora.js index 6a29b6b552..c5595d9bf6 100644 --- a/pandora_console/include/javascript/pandora.js +++ b/pandora_console/include/javascript/pandora.js @@ -1287,6 +1287,72 @@ function openURLTagWindow(url) { ); } +/** + * + * Inicialize tinyMCE with customized parameters + * + * @param added_config Associative Array. Config to add adding default. + */ + +function defineTinyMCE(added_config) { + // Default values + var buttons1 = + "bold,italic,underline,|,link,image,|,cut,copy,paste,|,undo,redo,|,forecolor,fontselect,fontsizeselect,|,justifyleft,justifycenter,justifyright"; + var elements = added_config["elements"]; + var plugins = added_config["plugins"]; + // Initialize with fixed parameters. Some parameters must be initialized too. + tinyMCE.init({ + mode: "exact", + theme: "advanced", + elements: elements, + plugins: plugins, + theme_advanced_buttons1: buttons1, + theme_advanced_toolbar_location: "top", + theme_advanced_toolbar_align: "left", + theme_advanced_statusbar_location: "none", + convert_urls: false, + element_format: "html" + }); + + if (!isEmptyObject(added_config)) { + // If use asterisk mask, you can add at end of buttons new buttons. + for (var key in added_config) { + switch (key) { + case "theme_advanced_buttons1*": + tinyMCE.settings.theme_advanced_buttons1 = + buttons1 + ",|," + added_config[key]; + break; + case "theme_advanced_font_sizes": + tinyMCE.settings.theme_advanced_font_sizes = + "4pt=.visual_font_size_4pt, " + + "6pt=.visual_font_size_6pt, " + + "8pt=.visual_font_size_8pt, " + + "10pt=.visual_font_size_10pt, " + + "12pt=.visual_font_size_12pt, " + + "14pt=.visual_font_size_14pt, " + + "18pt=.visual_font_size_18pt, " + + "24pt=.visual_font_size_24pt, " + + "28pt=.visual_font_size_28pt, " + + "36pt=.visual_font_size_36pt, " + + "48pt=.visual_font_size_48pt, " + + "60pt=.visual_font_size_60pt, " + + "72pt=.visual_font_size_72pt, " + + "84pt=.visual_font_size_84pt, " + + "96pt=.visual_font_size_96pt, " + + "116pt=.visual_font_size_116pt, " + + "128pt=.visual_font_size_128pt, " + + "140pt=.visual_font_size_140pt, " + + "154pt=.visual_font_size_154pt, " + + "196pt=.visual_font_size_196pt"; + break; + default: + tinyMCE.settings[key] = added_config[key]; + break; + } + } + } +} + function removeTinyMCE(elementID) { if (elementID.length > 0 && !isEmptyObject(tinyMCE)) tinyMCE.EditorManager.execCommand("mceRemoveControl", true, elementID);