diff options
author | alecpl <alec@alec.pl> | 2008-09-14 08:34:11 +0000 |
---|---|---|
committer | alecpl <alec@alec.pl> | 2008-09-14 08:34:11 +0000 |
commit | 3bd94b142eb00024eeb52c0e3f4a9f61bed4f3f9 (patch) | |
tree | 9fafe145993e5afbf5cbe962c16c4517da39653f /program/js | |
parent | 14c5b8e1323c029a17abc4ead8999d508c86ac5b (diff) |
- use html2text for signatures in Settings/Identities
Diffstat (limited to 'program/js')
-rw-r--r-- | program/js/app.js | 43 | ||||
-rw-r--r-- | program/js/editor.js | 33 |
2 files changed, 44 insertions, 32 deletions
diff --git a/program/js/app.js b/program/js/app.js index f4f4fc475..d42b8ede8 100644 --- a/program/js/app.js +++ b/program/js/app.js @@ -3648,13 +3648,21 @@ function rcube_webmail() this.toggle_editor = function(checkbox, textAreaId) { var ischecked = checkbox.checked; + var composeElement = document.getElementById(textAreaId); + if (ischecked) { - tinyMCE.execCommand('mceAddControl', true, textAreaId); + var existingPlainText = composeElement.value; + var htmlText = "<pre>" + existingPlainText + "</pre>"; + composeElement.value = htmlText; + tinyMCE.execCommand('mceAddControl', true, textAreaId); } else { - tinyMCE.execCommand('mceRemoveControl', true, textAreaId); + var thisMCE = tinyMCE.get(textAreaId); + var existingHtml = thisMCE.getContent(); + this.html2plain(existingHtml, textAreaId); + tinyMCE.execCommand('mceRemoveControl', true, textAreaId); } }; @@ -3718,6 +3726,37 @@ function rcube_webmail() /********************************************************/ + /********* html to text conversion functions *********/ + /********************************************************/ + + this.html2plain = function(htmlText, id) + { + var http_request = new rcube_http_request(); + var url = this.env.bin_path+'html2text.php'; + var rcmail = this; + + this.set_busy(true, 'converting'); + console.log('HTTP POST: '+url); + + http_request.onerror = function(o) { rcmail.http_error(o); }; + http_request.oncomplete = function(o) { rcmail.set_text_value(o, id); }; + http_request.POST(url, htmlText, 'application/octet-stream'); + } + + this.set_text_value = function(httpRequest, id) + { + this.set_busy(false); + document.getElementById(id).value = httpRequest.get_text(); + console.log(httpRequest.get_text()); + } + + this.handle_conv_error = function(httpRequest) + { + alert('html2text request returned with error ' + httpRequest.xmlhttp.status); + } + + + /********************************************************/ /********* remote request methods *********/ /********************************************************/ diff --git a/program/js/editor.js b/program/js/editor.js index 38c9b7168..c4f449c78 100644 --- a/program/js/editor.js +++ b/program/js/editor.js @@ -55,13 +55,10 @@ function rcmail_toggle_editor(toggler) } // do the appropriate conversion - - var composeElement = document.getElementById('compose-body'); - if (selectedEditor == 'html') { - var existingPlainText = composeElement.value; - var htmlText = "<pre>" + existingPlainText + "</pre>"; + var composeElement = document.getElementById('compose-body'); + var htmlText = "<pre>" + composeElement.value + "</pre>"; composeElement.value = htmlText; tinyMCE.execCommand('mceAddControl', true, 'compose-body'); htmlFlag.value = "1"; @@ -69,35 +66,11 @@ function rcmail_toggle_editor(toggler) } else { - rcmail.set_busy(true, 'converting'); var thisMCE = tinyMCE.get('compose-body'); var existingHtml = thisMCE.getContent(); - rcmail_html2plain(existingHtml); + rcmail.html2plain(existingHtml, 'compose-body'); tinyMCE.execCommand('mceRemoveControl', true, 'compose-body'); htmlFlag.value = "0"; rcmail.display_spellcheck_controls(true); } } - -function rcmail_html2plain(htmlText) - { - var http_request = new rcube_http_request(); - - http_request.onerror = function(o) { rcmail_handle_toggle_error(o); }; - http_request.oncomplete = function(o) { rcmail_set_text_value(o); }; - var url = rcmail.env.bin_path+'html2text.php'; - //console.log('HTTP request: ' + url); - http_request.POST(url, htmlText, 'application/octet-stream'); - } - -function rcmail_set_text_value(httpRequest) - { - rcmail.set_busy(false); - var composeElement = document.getElementById('compose-body'); - composeElement.value = httpRequest.get_text(); - } - -function rcmail_handle_toggle_error(httpRequest) - { - alert('html2text request returned with error ' + httpRequest.xmlhttp.status); - } |