diff options
author | alecpl <alec@alec.pl> | 2011-05-30 16:19:51 +0000 |
---|---|---|
committer | alecpl <alec@alec.pl> | 2011-05-30 16:19:51 +0000 |
commit | 1d5779b2577453a1000f38fa987bb0eafd3c554f (patch) | |
tree | 0d2f239b2c2c9c39f73d866603c2cac35808bbba /program/steps | |
parent | b4edf78e4b75bc40a829147941ba0cf6379fbc39 (diff) |
- Add option to force spellchecking before sending a message (#1485458)
Diffstat (limited to 'program/steps')
-rw-r--r-- | program/steps/mail/sendmail.inc | 17 | ||||
-rw-r--r-- | program/steps/settings/func.inc | 10 | ||||
-rw-r--r-- | program/steps/settings/save_prefs.inc | 1 |
3 files changed, 28 insertions, 0 deletions
diff --git a/program/steps/mail/sendmail.inc b/program/steps/mail/sendmail.inc index a492e937c..de971a25a 100644 --- a/program/steps/mail/sendmail.inc +++ b/program/steps/mail/sendmail.inc @@ -409,6 +409,22 @@ if (!$savedraft) { "\r\n<html><body>\r\n" . $message_body; } + // Check spelling before send + if ($CONFIG['spellcheck_before_send'] && $CONFIG['enable_spellcheck'] + && empty($_SESSION['compose']['spell_checked']) + ) { + $spellchecker = new rcube_spellchecker(); + $spell_result = $spellchecker->check($message_body, $isHtml); + + $_SESSION['compose']['spell_checked'] = true; + + if (!$spell_result) { + $OUTPUT->show_message('mispellingsfound', 'error'); + $OUTPUT->command('command', 'spellcheck'); + $OUTPUT->send('iframe'); + } + } + // generic footer for all messages if ($isHtml && !empty($CONFIG['generic_message_footer_html'])) { $footer = file_get_contents(realpath($CONFIG['generic_message_footer_html'])); @@ -420,6 +436,7 @@ if (!$savedraft) { if ($isHtml) $footer = '<pre>'.$footer.'</pre>'; } + if ($footer) $message_body .= "\r\n" . $footer; if ($isHtml) diff --git a/program/steps/settings/func.inc b/program/steps/settings/func.inc index 280185e76..cf2d59199 100644 --- a/program/steps/settings/func.inc +++ b/program/steps/settings/func.inc @@ -545,6 +545,16 @@ function rcmail_user_prefs($current=null) ); } + if (!isset($no_override['spellcheck_before_send']) && $config['enable_spellcheck']) { + $field_id = 'rcmfd_spellcheck_before_send'; + $input_spellcheck = new html_checkbox(array('name' => '_spellcheck_before_send', 'id' => $field_id, 'value' => 1)); + + $blocks['main']['options']['spellcheck_before_send'] = array( + 'title' => html::label($field_id, Q(rcube_label('spellcheckbeforesend'))), + 'content' => $input_spellcheck->show($config['spellcheck_before_send']?1:0), + ); + } + if (!isset($no_override['show_sig'])) { $field_id = 'rcmfd_show_sig'; $select_show_sig = new html_select(array('name' => '_show_sig', 'id' => $field_id)); diff --git a/program/steps/settings/save_prefs.inc b/program/steps/settings/save_prefs.inc index a5ec2346a..ac1cfb3d0 100644 --- a/program/steps/settings/save_prefs.inc +++ b/program/steps/settings/save_prefs.inc @@ -70,6 +70,7 @@ switch ($CURR_SECTION) 'mdn_default' => isset($_POST['_mdn_default']) ? TRUE : FALSE, 'dsn_default' => isset($_POST['_dsn_default']) ? TRUE : FALSE, 'reply_same_folder' => isset($_POST['_reply_same_folder']) ? TRUE : FALSE, + 'spellcheck_before_send' => isset($_POST['_spellcheck_before_send']) ? TRUE : FALSE, 'show_sig' => isset($_POST['_show_sig']) ? intval($_POST['_show_sig']) : 1, 'top_posting' => !empty($_POST['_top_posting']), 'strip_existing_sig' => isset($_POST['_strip_existing_sig']), |