fixed bug with multiple terms and UW
[squirrelmail.git] / functions / mailbox_display.php
index e9e53fb648fab7ba9c51d7b97d09cb27100667c5..42bfada00a38b7090e9974582463c538da1e89c5 100644 (file)
  * $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);
@@ -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' : '');
@@ -133,7 +153,7 @@ function printMessageInfo($imapConnection, $t, $i, $key, $mailbox, $sort, $start
             echo "   <td bgcolor=\"$hlt_color\" align=center nowrap><b><small>\n";
             if (isset($msg['FLAG_ANSWERED']) &&
                 $msg['FLAG_ANSWERED'] == true) {
-                echo "A\n";
+                echo _("A") . "\n";
                 $stuff = true;
             }
             if ($msg['TYPE0'] == 'multipart') {
@@ -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;
@@ -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('', '', '', '', '', '');
@@ -502,9 +522,12 @@ function mail_message_listing_beginning
 
     $boxes = sqimap_mailbox_list($imapConnection);
     for ($i = 0; $i < count($boxes); $i++) {
-        if (!in_array("noselect", $boxes[$i]['flags'])) {
+        if (!in_array('noselect', $boxes[$i]['flags'])) {
             $box = $boxes[$i]['unformatted'];
             $box2 = str_replace(' ', '&nbsp;', $boxes[$i]['unformatted-disp']);
+            if( $box2 == 'INBOX' ) {
+                $box2 = _("INBOX");
+            }
             echo "         <OPTION VALUE=\"$box\">$box2</option>\n";
         }
     }
@@ -525,11 +548,11 @@ function mail_message_listing_beginning
     echo '</TD></TR>'.
 
         "<TR><TD BGCOLOR=\"$color[0]\">".
-        "<TABLE WIDTH=\"100%\" BORDER=0 CELLPADDING=2 CELLSPACING=";
+        '<TABLE WIDTH="100%" BORDER=0 CELLPADDING=2 CELLSPACING=';
     if ($GLOBALS['alt_index_colors']) {
-        echo "0";
+        echo '0';
     } else {
-        echo "1";
+        echo '1';
     }
     echo " BGCOLOR=\"$color[0]\">".
         "<TR BGCOLOR=\"$color[5]\" ALIGN=\"center\">";
@@ -597,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 =
@@ -611,10 +635,16 @@ function get_selectall_link($start_msg, $sort) {
             "   }\n" .
             "}\n" .
             "//-->\n" .
-            '</script><a href=\"#\" onClick="CheckAll();">' . _("Toggle All") . "</a>\n";
+            '</script><a href="#" onClick="CheckAll();">' . _("Toggle All") . "</a>\n";
     } else {
-        $result .= "<a href=\"$PHP_SELF?mailbox=" . urlencode($mailbox)
+        if (strpos($PHP_SELF, "?")) {
+            $result .= "<a href=\"$PHP_SELF&mailbox=" . urlencode($mailbox)
+                    . "&startMessage=$start_msg&sort=$sort&checkall=";
+        }
+               else {
+            $result .= "<a href=\"$PHP_SELF?mailbox=" . urlencode($mailbox)
                     . "&startMessage=$start_msg&sort=$sort&checkall=";
+        }
         if (isset($checkall) && $checkall == '1') {
             $result .= '0';
         } else {
@@ -626,6 +656,10 @@ function get_selectall_link($start_msg, $sort) {
                     . '&what=' . urlencode($what);
         }
 
+        if ($PG_SHOWNUM == 999999) {
+            $result .= '&PG_SHOWNUM=999999';
+        }
+
         $result .= "\">";
 
         if (isset($checkall) && ($checkall == '1')) {
@@ -675,7 +709,7 @@ function get_paginator_link
  */
 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 = '';
@@ -832,11 +866,15 @@ function get_paginator_str
                 $pg_str .= get_paginator_link($box, $start, $use, $pg) . $spc;
             }
         }
+    } else if ($PG_SHOWNUM == 999999) {
+        $pg_str = "<A HREF=\"right_main.php?use_mailbox_cache=$use"
+                . "&startMessage=1&mailbox=$box\" TARGET=\"right\">"
+                . _("Paginate") . '</A>' . $spc;
     }
 
     /* If necessary, compute the 'show all' string. */
     if (($prv_str != '') || ($nxt_str != '')) {
-        $all_str = "<A HREF=\"right_main.php?PG_SHOWNUM=9999"
+        $all_str = "<A HREF=\"right_main.php?PG_SHOWNUM=999999"
                  . "&use_mailbox_cache=$use&startMessage=1&mailbox=$box\" "
                  . "TARGET=\"right\">" . _("Show All") . '</A>';
     }
@@ -846,10 +884,10 @@ 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 .= ($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. */
@@ -905,4 +943,4 @@ function handleAsSent($mailbox) {
     return ($handleAsSent_result);
 }
 
-?>
+?>
\ No newline at end of file