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 '
' ."\n" + $safe_name = preg_replace("/[^0-9A-Za-z_]/", '_', $mailbox); + $form_name = "FormMsgs" . $safe_name; + echo '' ."\n" . $moveFields . html_tag( 'table' , html_tag( 'tr', @@ -708,7 +723,7 @@ function mail_message_listing_beginning ($imapConnection, echo getButton('SUBMIT', 'expungeButton',_("Expunge")) .' ' . _("mailbox") . "\n"; } - + do_hook('mailbox_display_buttons'); echo getButton('SUBMIT', 'markRead',_("Read")); echo getButton('SUBMIT', 'markUnread',_("Unread")); echo getButton('SUBMIT', 'delete',_("Delete")) ." \n"; @@ -862,8 +877,9 @@ function ShowSortButton($sort, $mailbox, $Up, $Down ) { /* Now that we have everything figured out, show the actual button. */ echo ' sort'; + . '">sort'; } 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) {