X-Git-Url: https://vcs.fsf.org/?p=squirrelmail.git;a=blobdiff_plain;f=functions%2Fmailbox_display.php;h=c746a0aa96511be711ddd0759a3a5f0196a627d6;hp=bf404e3d3fea28f3a63bcb3c49067eb51321ca2c;hb=da9a8410fa32eb91f44576621e566f386500f0de;hpb=a18594b2052c88d9b14ed7022c7c9379124ff837
diff --git a/functions/mailbox_display.php b/functions/mailbox_display.php
index bf404e3d..c746a0aa 100644
--- a/functions/mailbox_display.php
+++ b/functions/mailbox_display.php
@@ -17,8 +17,12 @@ require_once(SM_PATH . 'functions/html.php');
require_once(SM_PATH . 'class/html.class.php');
require_once(SM_PATH . 'functions/imap_mailbox.php');
-/* Default value for page_selector_max. */
+/* Constants:
+ * PG_SEL_MAX: default value for page_selector_max
+ * SUBJ_TRIM_AT: the length at which we trim off subjects
+ */
define('PG_SEL_MAX', 10);
+define('SUBJ_TRIM_AT', 55);
function elapsed($start)
{
@@ -73,8 +77,8 @@ function printMessageInfo($imapConnection, $t, $not_last=true, $key, $mailbox,
if (handleAsSent($mailbox)) {
$msg['FROM'] = $msg['TO'];
}
- $msg['FROM'] = parseAddress($msg['FROM']);
-
+ $msg['FROM'] = parseAddress($msg['FROM'],1);
+
/*
* This is done in case you're looking into Sent folders,
* because you can have multiple receivers.
@@ -94,10 +98,7 @@ function printMessageInfo($imapConnection, $t, $not_last=true, $key, $mailbox,
}
}
}
-
- $msg['SUBJECT'] = decodeHeader($msg['SUBJECT']);
- $subject = processSubject($msg['SUBJECT'], $indent_array[$msg['ID']]);
-
+ $senderName = str_replace(' ',' ',$senderName);
echo html_tag( 'tr','','','','VALIGN="top"') . "\n";
if (isset($msg['FLAG_FLAGGED']) && ($msg['FLAG_FLAGGED'] == true)) {
@@ -134,7 +135,7 @@ function printMessageInfo($imapConnection, $t, $not_last=true, $key, $mailbox,
} else {
$searchstr = '';
}
-
+
if (is_array($message_highlight_list) && count($message_highlight_list)) {
$msg['TO'] = parseAddress($msg['TO']);
$msg['CC'] = parseAddress($msg['CC']);
@@ -153,8 +154,8 @@ function printMessageInfo($imapConnection, $t, $not_last=true, $key, $mailbox,
case('CC'):
case('FROM'):
foreach ($msg[$match_type] as $address) {
- $address[0] = decodeHeader($address[0]);
- $address[1] = decodeHeader($address[1]);
+ $address[0] = decodeHeader($address[0], true, false);
+ $address[1] = decodeHeader($address[1], true, false);
if (strstr('^^' . strtolower($address[0]), $high_val) ||
strstr('^^' . strtolower($address[1]), $high_val)) {
$hlt_color = $message_highlight_list_part['color'];
@@ -163,7 +164,8 @@ function printMessageInfo($imapConnection, $t, $not_last=true, $key, $mailbox,
}
break;
default:
- if (strstr('^^' . strtolower($msg[$match_type]), $high_val)) {
+ $headertest = strtolower(decodeHeader($msg[$match_type], true, false));
+ if (strstr('^^' . $headertest, $high_val)) {
$hlt_color = $message_highlight_list_part['color'];
break 3;
}
@@ -179,6 +181,9 @@ function printMessageInfo($imapConnection, $t, $not_last=true, $key, $mailbox,
}
$checked = ($checkall == 1) ? ' CHECKED' : '';
$col = 0;
+ $msg['SUBJECT'] = decodeHeader($msg['SUBJECT']);
+ $subject = processSubject($msg['SUBJECT'], $indent_array[$msg['ID']]);
+ $subject = str_replace(' ',' ',$subject);
if (sizeof($index_order)) {
foreach ($index_order as $index_order_part) {
switch ($index_order_part) {
@@ -217,7 +222,7 @@ function printMessageInfo($imapConnection, $t, $not_last=true, $key, $mailbox,
$td_str .= ' 0 */
$res = getEndMessage($start_msg, $show_num, $num_msgs);
@@ -528,7 +541,7 @@ function calc_msort($msgs, $sort) {
return $msort;
}
-function fillMessageArray($imapConnection, $id, $count, $show_num) {
+function fillMessageArray($imapConnection, $id, $count, $show_num=false) {
return sqimap_get_small_header_list($imapConnection, $id, $show_num);
}
@@ -666,7 +679,9 @@ function mail_message_listing_beginning ($imapConnection,
* This is the beginning of the message list table.
* It wraps around all messages
*/
- echo '';
}
function get_selectall_link($start_msg, $sort) {
@@ -872,18 +888,22 @@ function get_selectall_link($start_msg, $sort) {
$result = '';
if ($javascript_on) {
+ $safe_name = preg_replace("/[^0-9A-Za-z_]/", '_', $mailbox);
+ $func_name = "CheckAll" . $safe_name;
+ $form_name = "FormMsgs" . $safe_name;
$result = '' . _("Toggle All")
+ . '' . _("Toggle All")
+/* . '' . _("Toggle All")*/
. "\n";
} else {
if (strpos($PHP_SELF, "?")) {
@@ -1163,17 +1183,20 @@ function get_paginator_str($box, $start_msg, $end_msg, $num_msgs,
function processSubject($subject, $threadlevel = 0) {
global $languages, $squirrelmail_language;
/* Shouldn't ever happen -- caught too many times in the IMAP functions */
- if ($subject == '')
+ if ($subject == '') {
return _("(no subject)");
+ }
- $trim_at = 55;
+ $trim_at = SUBJ_TRIM_AT;
/* if this is threaded, subtract two chars per indentlevel */
- if($threadlevel > 0 && $threadlevel <= 10)
+ if($threadlevel > 0 && $threadlevel <= 10) {
$trim_at -= (2*$threadlevel);
+ }
- if (strlen($subject) <= $trim_at)
+ if (strlen($subject) <= $trim_at) {
return $subject;
+ }
$ent_strlen = $orig_len = strlen($subject);
$trim_val = $trim_at - 5;
@@ -1206,7 +1229,13 @@ function processSubject($subject, $threadlevel = 0) {
function_exists($languages[$squirrelmail_language]['XTRA_CODE'])) {
return $languages[$squirrelmail_language]['XTRA_CODE']('strimwidth', $subject, $trim_val);
}
- return substr($subject, 0, $trim_val) . '...';
+
+ // only print '...' when we're actually dropping part of the subject
+ if(strlen($subject) <= $trim_val) {
+ return $subject;
+ } else {
+ return substr($subject, 0, $trim_val) . '...';
+ }
}
function getMbxList($imapConnection) {