浏览代码

Add an option for showing recipient name instead of default identity. (Default: false, since people may be annoyed or confused)

alex-brainstorm 22 年之前
父节点
当前提交
76f6254cd4
共有 3 个文件被更改,包括 23 次插入7 次删除
  1. 13 7
      functions/mailbox_display.php
  2. 2 0
      include/load_prefs.php
  3. 8 0
      include/options/display.php

+ 13 - 7
functions/mailbox_display.php

@@ -52,7 +52,8 @@ function printMessageInfo($imapConnection, $t, $not_last=true, $key, $mailbox,
            $row_count,
            $allow_server_sort,    /* enable/disable server-side sorting */
            $truncate_sender,      /* number of characters for From/To field (<= 0 for unchanged) */
-           $email_address;
+           $email_address,
+           $show_recipient_instead;	/* show recipient name instead of default identity */
 
     $color_string = $color[4];
 
@@ -78,13 +79,17 @@ function printMessageInfo($imapConnection, $t, $not_last=true, $key, $mailbox,
     $urlMailbox = urlencode($mailbox);
 
     $bSentFolder = handleAsSent($mailbox);
-    // If the From address is the same as $email_address, then handle as Sent
-    $from_array = parseAddress($msg['FROM'], 1);
-    if (!isset($email_address)) {
-        global $datadir, $username;
-        $email_address = getPref($datadir, $username, 'email_address');
+    if ((!$bSentFolder) && ($show_recipient_instead)) {
+        // If the From address is the same as $email_address, then handle as Sent
+        $from_array = parseAddress($msg['FROM'], 1);
+        if (!isset($email_address)) {
+            global $datadir, $username;
+            $email_address = getPref($datadir, $username, 'email_address');
+        }
+        $bHandleAsSent = ((isset($from_array[0][0])) && ($from_array[0][0] == $email_address));
     }
-    $bHandleAsSent = ($bSentFolder) || ((isset($from_array[0][0])) && ($from_array[0][0] == $email_address));
+    else
+        $bHandleAsSent = $bSentFolder;
     // If this is a Sent message, display To address instead of From
     if ($bHandleAsSent)	
        $msg['FROM'] = $msg['TO'];
@@ -1303,6 +1308,7 @@ function getEndMessage($start_msg, $show_num, $num_msgs) {
     return (array($start_msg,$end_msg));
 }
 
+// This should go in imap_mailbox.php
 function handleAsSent($mailbox) {
     global $handleAsSent_result;
  

+ 2 - 0
include/load_prefs.php

@@ -273,6 +273,8 @@ $show_full_date = getPref($data_dir, $username, 'show_full_date', 0);
 $truncate_sender = getPref($data_dir, $username, 'truncate_sender', 0);
 /* Allow user to customize length of subject field */
 $truncate_subject = getPref($data_dir, $username, 'truncate_subject', 50);
+/* Allow user to show recipient name if the message is from default identity */
+$show_recipient_instead = getPref($data_dir, $username, 'show_recipient_instead', 0);
 
 do_hook('loading_prefs');
 

+ 8 - 0
include/options/display.php

@@ -172,6 +172,14 @@ function load_optpage_data_display() {
         'size'    => SMOPT_SIZE_TINY
     );
 
+    $optvals[SMOPT_GRP_MAILBOX][] = array(
+        'name'    => 'show_recipient_instead',
+        'caption' => _("Show recipient name if the message is from your default identity"),
+        'type'    => SMOPT_TYPE_BOOLEAN,
+        'refresh' => SMOPT_REFRESH_NONE,
+        'size'    => SMOPT_SIZE_TINY
+    );
+
 
     /*** Load the General Options into the array ***/
     $optgrps[SMOPT_GRP_MESSAGE] = _("Message Display and Composition");