From 47ad83f337c9eeb4bc53afb85a71cf90a8a34106 Mon Sep 17 00:00:00 2001 From: alecpl <alec@alec.pl> Date: Tue, 02 Mar 2010 08:08:12 -0500 Subject: [PATCH] - Added force_7bit option to force MIME encoding of plain/text messages (#1486510) --- CHANGELOG | 1 + program/steps/settings/func.inc | 12 +++++++++++- program/localization/en_US/labels.inc | 1 + program/localization/pl_PL/labels.inc | 1 + config/main.inc.php.dist | 3 +++ program/steps/mail/sendmail.inc | 2 +- program/steps/settings/save_prefs.inc | 1 + 7 files changed, 19 insertions(+), 2 deletions(-) diff --git a/CHANGELOG b/CHANGELOG index a118bc0..c8dd711 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -1,6 +1,7 @@ CHANGELOG RoundCube Webmail =========================== +- Added force_7bit option to force MIME encoding of plain/text messages (#1486510) - Use case sensitive check when checking for default folders (#1486346) - Fix checking for new mail: now checks unseen count of inbox (#1485794) - Improve performance by avoiding unnecessary updates to the session table (#1486325) diff --git a/config/main.inc.php.dist b/config/main.inc.php.dist index c35d4e1..d9bf340 100644 --- a/config/main.inc.php.dist +++ b/config/main.inc.php.dist @@ -472,5 +472,8 @@ // When replying or forwarding place sender's signature above existing message $rcmail_config['sig_above'] = FALSE; +// Use MIME encoding (quoted-printable) for 8bit characters in message body +$rcmail_config['force_7bit'] = FALSE; + // end of config file ?> diff --git a/program/localization/en_US/labels.inc b/program/localization/en_US/labels.inc index e7d99d2..7aaee37 100644 --- a/program/localization/en_US/labels.inc +++ b/program/localization/en_US/labels.inc @@ -302,6 +302,7 @@ $labels['2231folding'] = 'Full RFC 2231 (Thunderbird)'; $labels['miscfolding'] = 'RFC 2047/2231 (MS Outlook)'; $labels['2047folding'] = 'Full RFC 2047 (other)'; +$labels['force7bit'] = 'Use MIME encoding for 8-bit characters'; $labels['advancedoptions'] = 'Advanced options'; $labels['focusonnewmessage'] = 'Focus browser window on new message'; $labels['checkallfolders'] = 'Check all folders for new messages'; diff --git a/program/localization/pl_PL/labels.inc b/program/localization/pl_PL/labels.inc index 38c762c..72ba479 100644 --- a/program/localization/pl_PL/labels.inc +++ b/program/localization/pl_PL/labels.inc @@ -236,6 +236,7 @@ $labels['2231folding'] = 'RFC 2231 (Thunderbird)'; $labels['miscfolding'] = 'RFC 2047/2231 (MS Outlook)'; $labels['2047folding'] = 'RFC 2047 (przestarzałe)'; +$labels['force7bit'] = 'Używaj kodowania MIME dla znaków 8-bitowych'; $labels['advancedoptions'] = 'opcje zaawansowane'; $labels['readwhendeleted'] = 'Podczas usuwania oznacz wiadomość jako przeczytaną'; $labels['flagfordeletion'] = 'Oznacz wiadomość do usunięcia zamiast ją usuwać'; diff --git a/program/steps/mail/sendmail.inc b/program/steps/mail/sendmail.inc index 6691e00..134664b 100644 --- a/program/steps/mail/sendmail.inc +++ b/program/steps/mail/sendmail.inc @@ -456,7 +456,7 @@ // choose transfer encoding for plain/text body if (preg_match('/[^\x00-\x7F]/', $MAIL_MIME->getTXTBody())) - $transfer_encoding = '8bit'; + $transfer_encoding = $RCMAIL->config->get('force_7bit') ? 'quoted-printable' : '8bit'; else $transfer_encoding = '7bit'; diff --git a/program/steps/settings/func.inc b/program/steps/settings/func.inc index 094fa59..7d59e73 100644 --- a/program/steps/settings/func.inc +++ b/program/steps/settings/func.inc @@ -449,7 +449,17 @@ 'content' => $select_param_folding->show($config['mime_param_folding']), ); } - + + if (!isset($no_override['force_7bit'])) { + $field_id = 'rcmfd_force_7bit'; + $input_7bit = new html_checkbox(array('name' => '_force_7bit', 'id' => $field_id, 'value' => 1)); + + $blocks['main']['options']['force_7bit'] = array( + 'title' => html::label($field_id, Q(rcube_label('force7bit'))), + 'content' => $input_7bit->show($config['force_7bit']?1:0), + ); + } + if (!isset($no_override['top_posting'])) { $field_id = 'rcmfd_top_posting'; $select_replymode = new html_select(array('name' => '_top_posting', 'id' => $field_id, 'onchange' => "\$('#rcmfd_sig_above').attr('disabled',this.selectedIndex==0)")); diff --git a/program/steps/settings/save_prefs.inc b/program/steps/settings/save_prefs.inc index 5319425..8a732bf 100644 --- a/program/steps/settings/save_prefs.inc +++ b/program/steps/settings/save_prefs.inc @@ -62,6 +62,7 @@ 'htmleditor' => isset($_POST['_htmleditor']) ? TRUE : FALSE, 'draft_autosave' => isset($_POST['_draft_autosave']) ? intval($_POST['_draft_autosave']) : 0, 'mime_param_folding' => isset($_POST['_mime_param_folding']) ? intval($_POST['_mime_param_folding']) : 0, + 'force_7bit' => isset($_POST['_force_7bit']) ? 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']), -- Gitblit v1.9.1