- Add option to force spellchecking before sending a message (#1485458)

release-0.6
alecpl 14 years ago
parent b4edf78e4b
commit 1d5779b257

@ -1,6 +1,7 @@
CHANGELOG Roundcube Webmail
===========================
- Added option to force spellchecking before sending a message (#1485458)
- Fix handling of "<" character in contact data, search fields and folder names (#1487864)
- Fix saving "<" character in identity name and organization fields (#1487864)
- Added option to specify to which address book add new contacts

@ -703,4 +703,7 @@ $rcmail_config['forward_attachment'] = false;
// Note: Use '0' for built-in address book.
$rcmail_config['default_addressbook'] = null;
// Enables spell checking before sending a message.
$rcmail_config['spellcheck_before_send'] = false;
// end of config file

@ -413,6 +413,7 @@ $labels['reqmdn'] = 'Always request a return receipt';
$labels['reqdsn'] = 'Always request a delivery status notification';
$labels['replysamefolder'] = 'Place replies in the folder of the message being replied to';
$labels['defaultaddressbook'] = 'Add new contacts to the selected addressbook';
$labels['spellcheckbeforesend'] = 'Check spelling before sending a message';
$labels['folder'] = 'Folder';
$labels['folders'] = 'Folders';

@ -141,5 +141,6 @@ $messages['nametoolong'] = 'Name is too long';
$messages['folderupdated'] = 'Folder updated successfully';
$messages['foldercreated'] = 'Folder created successfully';
$messages['invalidimageformat'] = 'Not a valid image format';
$messages['mispellingsfound'] = 'Spelling errors detected in the message';
?>

@ -407,5 +407,6 @@ $labels['personalfolder'] = 'Folder prywatny';
$labels['otherfolder'] = 'Folder innego użytkownika';
$labels['sharedfolder'] = 'Folder współdzielony';
$labels['defaultaddressbook'] = 'Nowe kontakty dodawaj do wybranej książki adresowej';
$labels['spellcheckbeforesend'] = 'Przed wysłaniem wiadomości sprawdzaj pisownię';
?>

@ -145,5 +145,6 @@ $messages['errorreadonly'] = 'Nie można wykonać operacji. Folder tylko do odcz
$messages['errornoperm'] = 'Nie można wykonać operacji. Brak uprawnień';
$messages['importconfirmskipped'] = '<b>Pominięto $skipped istniejących wpisów</b>';
$messages['invalidimageformat'] = 'Niepoprawny format obrazka';
$messages['mispellingsfound'] = 'Wykryto błędy pisowni w tej wiadomości';
?>

@ -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)

@ -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));

@ -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']),

Loading…
Cancel
Save