alecpl
2011-05-30 1d5779b2577453a1000f38fa987bb0eafd3c554f
- Add option to force spellchecking before sending a message (#1485458)


9 files modified
36 ■■■■■ changed files
CHANGELOG 1 ●●●● patch | view | raw | blame | history
config/main.inc.php.dist 3 ●●●●● patch | view | raw | blame | history
program/localization/en_US/labels.inc 1 ●●●● patch | view | raw | blame | history
program/localization/en_US/messages.inc 1 ●●●● patch | view | raw | blame | history
program/localization/pl_PL/labels.inc 1 ●●●● patch | view | raw | blame | history
program/localization/pl_PL/messages.inc 1 ●●●● patch | view | raw | blame | history
program/steps/mail/sendmail.inc 17 ●●●●● patch | view | raw | blame | history
program/steps/settings/func.inc 10 ●●●●● patch | view | raw | blame | history
program/steps/settings/save_prefs.inc 1 ●●●● patch | view | raw | blame | history
CHANGELOG
@@ -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
config/main.inc.php.dist
@@ -703,4 +703,7 @@
// 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
program/localization/en_US/labels.inc
@@ -413,6 +413,7 @@
$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';
program/localization/en_US/messages.inc
@@ -141,5 +141,6 @@
$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';
?>
program/localization/pl_PL/labels.inc
@@ -407,5 +407,6 @@
$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ę';
?>
program/localization/pl_PL/messages.inc
@@ -145,5 +145,6 @@
$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';
?>
program/steps/mail/sendmail.inc
@@ -409,6 +409,22 @@
      "\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 ($isHtml)
      $footer = '<pre>'.$footer.'</pre>';
  }
  if ($footer)
    $message_body .= "\r\n" . $footer;
  if ($isHtml)
program/steps/settings/func.inc
@@ -545,6 +545,16 @@
      );
    }
    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));
program/steps/settings/save_prefs.inc
@@ -70,6 +70,7 @@
      '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']),