diff options
author | Aleksander Machniak <alec@alec.pl> | 2014-08-01 14:24:05 +0200 |
---|---|---|
committer | Aleksander Machniak <alec@alec.pl> | 2014-08-01 14:24:05 +0200 |
commit | a8f4d847369496981f96825bb7390a44f9428a84 (patch) | |
tree | 2a999deedf83948c8910c16c4182543e9ff6ae9f /program/js/editor.js | |
parent | 5af3b33f97695bd174c36851117523cd37569bf8 (diff) |
Update to TinyMCE 4.1.3 + small code improvements
Diffstat (limited to 'program/js/editor.js')
-rw-r--r-- | program/js/editor.js | 17 |
1 files changed, 9 insertions, 8 deletions
diff --git a/program/js/editor.js b/program/js/editor.js index 3b49968a7..1bc92aee8 100644 --- a/program/js/editor.js +++ b/program/js/editor.js @@ -104,6 +104,10 @@ function rcube_text_editor(config, id) ed.on('keypress', function() { rcmail.compose_type_activity++; }); + // secure spellchecker requests with Roundcube token + tinymce.util.XHR.on('beforeSend', function(e) { + e.xhr.setRequestHeader('X-Roundcube-Request', rcmail.env.request_token); + }); }; // textarea identifier @@ -283,9 +287,10 @@ function rcube_text_editor(config, id) var ed = this.editor; if (ed) { - if (ed.plugins && ed.plugins.spellchecker && this.spellcheck_active) - ed.execCommand('mceSpellCheck'); + if (ed.plugins && ed.plugins.spellchecker && this.spellcheck_active) { + ed.execCommand('mceSpellCheck', false); this.spellcheck_observer(); + } } else if (ed = this.spellchecker) { if (ed.state && ed.state != 'ready' && ed.state != 'no_error_found') @@ -304,17 +309,13 @@ function rcube_text_editor(config, id) return ed.state != 'ready' && ed.state != 'no_error_found'; }; - // resume spellchecking, highlight provided mispellings without new ajax request + // resume spellchecking, highlight provided mispellings without a new ajax request this.spellcheck_resume = function(data) { var ed = this.editor; if (ed) { - ed.settings.spellchecker_callback = function(name, text, done, error) { done(data); }; - ed.execCommand('mceSpellCheck'); - ed.settings.spellchecker_callback = null; - - this.spellcheck_observer(); + ed.plugins.spellchecker.markErrors(data); } else if (ed = this.spellchecker) { ed.prepare(false, true); |