From b3660bbdc3a7dcae7873016f10ddc0b7c82e17b7 Mon Sep 17 00:00:00 2001
From: alecpl <alec@alec.pl>
Date: Wed, 29 Sep 2010 08:58:23 -0400
Subject: [PATCH] - Add option to "Return receipt" will be always checked (1486352)

---
 CHANGELOG                             |    1 +
 program/steps/mail/compose.inc        |   10 +++++++---
 program/steps/settings/func.inc       |   10 ++++++++++
 program/localization/en_US/labels.inc |    1 +
 program/localization/pl_PL/labels.inc |    1 +
 program/steps/settings/save_prefs.inc |    1 +
 6 files changed, 21 insertions(+), 3 deletions(-)

diff --git a/CHANGELOG b/CHANGELOG
index 82270ab..429a77d 100644
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -5,6 +5,7 @@
 - Add link to identities in compose window (#1486729)
 - Add Internationalized Domain Name (IDNA) support (#1483894)
 - Add option to automatically send read notifications for known senders (1485883)
+- Add option to "Return receipt" will be always checked (1486352)
 
 RELEASE 0.4.1
 -------------
diff --git a/program/localization/en_US/labels.inc b/program/localization/en_US/labels.inc
index 704a84b..5287f8b 100644
--- a/program/localization/en_US/labels.inc
+++ b/program/localization/en_US/labels.inc
@@ -363,6 +363,7 @@
 $labels['insertsignature'] = 'Insert signature';
 $labels['previewpanemarkread']  = 'Mark previewed messages as read';
 $labels['afternseconds']  = 'after $n seconds';
+$labels['reqmdn'] = 'Always request a return receipt';
 
 $labels['folder']  = 'Folder';
 $labels['folders']  = 'Folders';
diff --git a/program/localization/pl_PL/labels.inc b/program/localization/pl_PL/labels.inc
index 0aeae8d..b94a3a1 100644
--- a/program/localization/pl_PL/labels.inc
+++ b/program/localization/pl_PL/labels.inc
@@ -285,6 +285,7 @@
 $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['reqmdn'] = 'Zawsze żądaj potwierdzenia odbioru';
 $labels['advancedoptions'] = 'opcje zaawansowane';
 $labels['focusonnewmessage'] = 'Informuj przeglądarkę o nowej wiadomości';
 $labels['checkallfolders'] = 'Sprawdzaj czy nadeszły nowe wiadomości we wszystkich folderach';
diff --git a/program/steps/mail/compose.inc b/program/steps/mail/compose.inc
index d01ca36..5a66af1 100644
--- a/program/steps/mail/compose.inc
+++ b/program/steps/mail/compose.inc
@@ -1073,7 +1073,7 @@
 
 function rcmail_receipt_checkbox($attrib)
 {
-  global $MESSAGE, $compose_mode;
+  global $RCMAIL, $MESSAGE, $compose_mode;
 
   list($form_start, $form_end) = get_form_tags($attrib);
   unset($attrib['form']);
@@ -1085,9 +1085,13 @@
   $attrib['value'] = '1';
   $checkbox = new html_checkbox($attrib);
 
+  if ($MESSAGE && in_array($compose_mode, array(RCUBE_COMPOSE_DRAFT, RCUBE_COMPOSE_EDIT)))
+    $mdn_default = (bool) $MESSAGE->headers->mdn_to;
+  else
+    $mdn_default = $RCMAIL->config->get('mdn_default');
+
   $out = $form_start ? "$form_start\n" : '';
-  $out .= $checkbox->show(in_array($compose_mode, array(RCUBE_COMPOSE_DRAFT, RCUBE_COMPOSE_EDIT))
-	&& $MESSAGE->headers->mdn_to ? 1 : 0);
+  $out .= $checkbox->show($mdn_default);
   $out .= $form_end ? "\n$form_end" : '';
 
   return $out;
diff --git a/program/steps/settings/func.inc b/program/steps/settings/func.inc
index e35edde..00c2cf7 100644
--- a/program/steps/settings/func.inc
+++ b/program/steps/settings/func.inc
@@ -510,6 +510,16 @@
       );
     }
 
+    if (!isset($no_override['mdn_default'])) {
+      $field_id = 'rcmfd_mdn_default';
+      $input_mdn = new html_checkbox(array('name' => '_mdn_default', 'id' => $field_id, 'value' => 1));
+
+      $blocks['main']['options']['mdn_default'] = array(
+        'title' => html::label($field_id, Q(rcube_label('reqmdn'))),
+        'content' => $input_mdn->show($config['mdn_default']?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 d76bdab..4621427 100644
--- a/program/steps/settings/save_prefs.inc
+++ b/program/steps/settings/save_prefs.inc
@@ -66,6 +66,7 @@
       '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,
+      'mdn_default'        => isset($_POST['_mdn_default']) ? 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