X-Git-Url: https://vcs.fsf.org/?a=blobdiff_plain;f=functions%2Fmailbox_display.php;h=42bfada00a38b7090e9974582463c538da1e89c5;hb=856b2ee25a1cd7e05dd5ccdbe9d0e4744673351a;hp=cea2a8845967a1c9c013830130cdcb63824d88ef;hpb=2ce029b05ba95b0046514d9f9541d68720cdf7ad;p=squirrelmail.git diff --git a/functions/mailbox_display.php b/functions/mailbox_display.php index cea2a884..42bfada0 100644 --- a/functions/mailbox_display.php +++ b/functions/mailbox_display.php @@ -3,7 +3,7 @@ /** * mailbox_display.php * - * Copyright (c) 1999-2001 The SquirrelMail Development Team + * Copyright (c) 1999-2002 The SquirrelMail Project Team * Licensed under the GNU GPL. For full terms see the file COPYING. * * This contains functions that display mailbox information, such as the @@ -12,30 +12,47 @@ * $Id$ */ +require_once('../functions/strings.php'); + define('PG_SEL_MAX', 10); /* Default value for page_selector_max. */ function printMessageInfo($imapConnection, $t, $i, $key, $mailbox, $sort, $start_msg, $where, $what) { - global $checkall; - global $color, $msgs, $msort; - global $sent_folder, $draft_folder; - global $default_use_priority; - global $message_highlight_list; - global $index_order; + global $checkall, + $color, $msgs, $msort, + $sent_folder, $draft_folder, + $default_use_priority, + $message_highlight_list, + $index_order, + $pos; /* Search postion (if any) */ $color_string = $color[4]; if ($GLOBALS['alt_index_colors']) { - if (!isset($GLOBALS["row_count"])) { - $GLOBALS["row_count"] = 0; + if (!isset($GLOBALS['row_count'])) { + $GLOBALS['row_count'] = 0; } - $GLOBALS["row_count"]++; - if ($GLOBALS["row_count"] % 2) { - if (!isset($color[12])) $color[12] = '#EAEAEA'; + $GLOBALS['row_count']++; + if ($GLOBALS['row_count'] % 2) { + if (!isset($color[12])) { + $color[12] = '#EAEAEA'; + } $color_string = $color[12]; } } $msg = $msgs[$key]; - $senderName = htmlspecialchars(sqimap_find_displayable_name($msg['FROM'])); + /** + * This is done in case you're looking into Sent folders, + * because you can have multi receiver. + */ + $sendersName = split(',', $msg['FROM']); + $senderName = ''; + for ($index = 0 ; $index < count($sendersName) ; $index++) { + if ($senderName != '') { + $senderName .= ', '; + } + $senderName .= sqimap_find_displayable_name($sendersName[$index]); + } + if( $mailbox == 'None' ) { // $imapConnection = sqimap_login($username, $key, $imapServerAddress, $imapPort, 0); $boxes = sqimap_mailbox_list($imapConnection); @@ -48,7 +65,7 @@ function printMessageInfo($imapConnection, $t, $i, $key, $mailbox, $sort, $start echo "\n"; if (isset($msg['FLAG_FLAGGED']) && ($msg['FLAG_FLAGGED'] == true)) { - $flag = ""; + $flag = ""; $flag_end = ''; } else { $flag = ''; @@ -62,7 +79,7 @@ function printMessageInfo($imapConnection, $t, $i, $key, $mailbox, $sort, $start $bold_end = ''; } - if (($mailbox == $sent_folder) || ($mailbox == $draft_folder)) { + if (handleAsSent($mailbox)) { $italic = ''; $italic_end = ''; } else { @@ -97,7 +114,10 @@ function printMessageInfo($imapConnection, $t, $i, $key, $mailbox, $sort, $start } if ($where && $what) { - $search_stuff = '&where='.urlencode($where).'&what='.urlencode($what); + if( !isset( $pos ) || $pos == '' ) { + $pos = '0'; + } + $search_stuff = "&pos=" . urlencode( $pos ) . "&where=".urlencode($where).'&what='.urlencode($what); } $checked = ($checkall == 1 ?' checked' : ''); @@ -105,16 +125,16 @@ function printMessageInfo($imapConnection, $t, $i, $key, $mailbox, $sort, $start for ($i=1; $i <= count($index_order); $i++) { switch ($index_order[$i]) { case 1: /* checkbox */ - echo " \n"; + echo " \n"; break; case 2: /* from */ - echo " $italic$bold$flag$fontstr$senderName$fontstr_end$flag_end$bold_end$italic_end\n"; + echo " $italic$bold$flag$fontstr$senderName$fontstr_end$flag_end$bold_end$italic_end\n"; break; case 3: /* date */ - echo "
$bold$flag$fontstr".$msg["DATE_STRING"]."$fontstr_end$flag_end$bold_end
\n"; + echo "
$bold$flag$fontstr".$msg["DATE_STRING"]."$fontstr_end$flag_end$bold_end
\n"; break; case 4: /* subject */ - echo " $bold"; + echo " $bold"; if (! isset($search_stuff)) { $search_stuff = ''; } echo "\n"; + echo " \n"; if (isset($msg['FLAG_ANSWERED']) && $msg['FLAG_ANSWERED'] == true) { - echo "A\n"; + echo _("A") . "\n"; $stuff = true; } if ($msg['TYPE0'] == 'multipart') { @@ -142,11 +162,11 @@ function printMessageInfo($imapConnection, $t, $i, $key, $mailbox, $sort, $start } if ($default_use_priority) { if (ereg('(1|2)',substr($msg['PRIORITY'],0,1))) { - echo "!\n"; + echo "!\n"; $stuff = true; } if (ereg('(5)',substr($msg['PRIORITY'],0,1))) { - echo "?\n"; + echo "?\n"; $stuff = true; } } @@ -161,7 +181,7 @@ function printMessageInfo($imapConnection, $t, $i, $key, $mailbox, $sort, $start echo "\n"; break; case 6: /* size */ - echo " $bold$fontstr" . + echo " $bold$fontstr" . show_readable_size($msg['SIZE']) . "$fontstr_end$bold_end\n"; break; @@ -175,8 +195,8 @@ function printMessageInfo($imapConnection, $t, $i, $key, $mailbox, $sort, $start * and shows them to the user. */ function showMessagesForMailbox - ($imapConnection, $mailbox, $num_msgs, $start_msg, - $sort, $color,$show_num, $use_cache) { +($imapConnection, $mailbox, $num_msgs, $start_msg, $sort, + $color, $show_num, $use_cache) { global $msgs, $msort; global $sent_folder, $draft_folder; global $message_highlight_list; @@ -188,7 +208,7 @@ function showMessagesForMailbox } sqimap_mailbox_select($imapConnection, $mailbox); - $issent = (($mailbox == $sent_folder) || ($mailbox == $draft_folder)); + $issent = handleAsSent($mailbox); if (!$use_cache) { /* If it is sorted... */ if ($num_msgs >= 1) { @@ -248,7 +268,7 @@ function showMessagesForMailbox while ($j < $end_loop) { if (isset($date[$j])) { - $date[$j] = ereg_replace(' ', ' ', $date[$j]); + $date[$j] = str_replace(' ', ' ', $date[$j]); $tmpdate = explode(' ', trim($date[$j])); } else { $tmpdate = $date = array('', '', '', '', '', ''); @@ -445,11 +465,11 @@ function displayMessageArray($imapConnection, $num_msgs, $start_msg, &$msgs, $ms } echo ''. - "" . - "" . - "
". + "
$paginator_str
" . + "". + "". "
" . + "". "
$paginator_str$msg_cnt_str
". - "
"; /** End of message-list table */ @@ -478,7 +498,8 @@ function mail_message_listing_beginning * This is the beginning of the message list table. * It wraps around all messages */ - echo "\n" + echo "\n" + . "
\n" . "' . "
" . " \n" . " \n" @@ -486,30 +507,32 @@ function mail_message_listing_beginning . "
$paginator
\n" . '
\n" - . "\n" . "\n" . " \n" - . " \n" . " \n" . " \n" . " \n" - . " \n". " '. "
\n" - . '  ' . _("Move selected to:") . "\n" + . " \n" + . '  ' . _("Move Selected To:") . "\n" . " \n" . '  ' . _("Transform Selected Messages") . ":  
\n" . "
\n" + . " \n" . '  '. - "\n". + echo '  '. + "\n". "    \n"; if (!$auto_expunge) { @@ -525,11 +548,11 @@ function mail_message_listing_beginning echo '
". - "". ""; @@ -543,8 +566,7 @@ function mail_message_listing_beginning break; case 2: /* from */ - if (($mailbox == $sent_folder) - || ($mailbox == $draft_folder)) { + if (handleAsSent($mailbox)) { echo '
'. _("To") .''; } else { echo ' '. _("From") .''; @@ -598,7 +620,8 @@ function ShowSortButton($sort, $mailbox, $Up, $Down) { } function get_selectall_link($start_msg, $sort) { - global $checkall, $PHP_SELF, $what, $where, $mailbox, $javascript_on; + global $checkall, $what, $where, $mailbox, $javascript_on; + global $PHP_SELF, $PG_SHOWNUM; if ($javascript_on) { $result = @@ -612,10 +635,16 @@ function get_selectall_link($start_msg, $sort) { " }\n" . "}\n" . "//-->\n" . - '' . _("Toggle All") . "\n"; + '' . _("Toggle All") . "\n"; } else { - $result .= ""; if (isset($checkall) && ($checkall == '1')) { @@ -673,11 +706,10 @@ function get_paginator_link /** * This function computes the paginator string. - * It was derived from code contributed by Charles Scheidecker. */ function get_paginator_str ($box, $start_msg, $end_msg, $num_msgs, $show_num, $sort) { - global $username, $data_dir, $use_mailbox_cache, $color; + global $username, $data_dir, $use_mailbox_cache, $color, $PG_SHOWNUM; /* Initialize paginator string chunks. */ $prv_str = ''; @@ -834,11 +866,15 @@ function get_paginator_str $pg_str .= get_paginator_link($box, $start, $use, $pg) . $spc; } } + } else if ($PG_SHOWNUM == 999999) { + $pg_str = "" + . _("Paginate") . '' . $spc; } /* If necessary, compute the 'show all' string. */ if (($prv_str != '') || ($nxt_str != '')) { - $all_str = "" . _("Show All") . ''; } @@ -848,11 +884,11 @@ function get_paginator_str /* Put all the pieces of the paginator string together. */ $result = ''; - $result .= ($all_str != '' ? $all_str . $spc . $sep . $spc: ''); $result .= ($prv_str != '' ? $prv_str . $spc . $sep . $spc : ''); - $result .= ($pg_str != '' ? $pg_str . $sep . $spc : ''); - $result .= ($nxt_str != '' ? $nxt_str : ''); - $result .= ($result != '' ? $spc . $sep . $spc . $tgl_str: $tgl_str); + $result .= ($nxt_str != '' ? $nxt_str . $spc . $sep . $spc : ''); + $result .= ($pg_str != '' ? $pg_str : ''); + $result .= ($all_str != '' ? $sep . $spc . $all_str . $spc : ''); + $result .= ($result != '' ? $sep . $spc . $tgl_str: $tgl_str); /* If the resulting string is blank, return a non-breaking space. */ if ($result == '') { @@ -892,4 +928,19 @@ function processSubject($subject) { return substr($subject, 0, $trim_val) . '...'; } -?> +function handleAsSent($mailbox) { + global $sent_folder, $draft_folder; + global $handleAsSent_result; + + /* First check if this is the sent or draft folder. */ + $handleAsSent_result = (($mailbox == $sent_folder) + || ($mailbox == $draft_folder)); + + /* Then check the result of the handleAsSent hook. */ + do_hook('check_handleAsSent_result', $mailbox); + + /* And return the result. */ + return ($handleAsSent_result); +} + +?> \ No newline at end of file