Should have checked in further details what the possible side effects could
[squirrelmail.git] / src / left_main.php
index 51632dd1bc75a18629adba240a15323a5e2cd45e..e716ecc82ec6ba32b9dcc8b0475679e4a55aa7c8 100644 (file)
@@ -99,6 +99,9 @@ function formatMailboxName($imapConnection, $box_array) {
             $line .= "\n<small>\n" .
                     "&nbsp;&nbsp;(<A HREF=\"empty_trash.php\" style=\"text-decoration:none\">"._("purge")."</A>)" .
                     "</small>";
+        } else {
+          $line .= concat_hook_function('left_main_after_each_folder',
+                 array(isset($numMessages) ? $numMessages : '',$real_box,$imapConnection));
         }
     }
 
@@ -285,6 +288,7 @@ function listBoxes ($boxes, $j=0 ) {
     $collapse = false;
     $unseen_type = 1;
     $unseen_notify = 0;
+    $unseen = 0;
 
     /* Get unseen/total display prefs */
     $unseen_type = getPref( $data_dir , $username , 'unseen_type' );
@@ -292,37 +296,48 @@ function listBoxes ($boxes, $j=0 ) {
 
     if (isset($boxes) && !empty($boxes)) {
         $mailbox = $boxes->mailboxname_full;
-        $leader = '';
-        for ($k = 0; $k < $j; $k++) {
-            $leader.= '&nbsp;&nbsp;&nbsp;';
-        }
+        $leader = '<tt>';
+        $leader .= str_repeat('&nbsp;&nbsp;',$j);
         $mailboxURL = urlencode($mailbox);
 
         /* get unseen/total messages information */
-        if ($boxes->unseen) {
-            $unseen = $boxes->unseen;
-            $unseen_string = "($unseen)";
-            if ($unseen>0) {
-                $unseen_found = TRUE;
-            }
-
-            $unseen_before = '<font color="' . $color[11] . '">';
-            $unseen_after = '</font>';
-
-            if ((($unseen_notify == 2) && (strtolower($mailbox) == 'inbox')) || ($unseen_notify == 3)) {
-                $unseen_string = '(' . $unseen;
+        /* Only need to display info when option is set */
+        if (isset($unseen_notify) && ($unseen_notify > 1)) {
+                    
+            if ($boxes->unseen !== false) {
+                $unseen = $boxes->unseen; 
+            } else {        
+                $unseen = 0;
+            }   
+        
+            /* 
+                Should only display unseen info if the folder is inbox
+                or you set the option for all folders
+            */
+
+            if ((strtolower($mailbox) == 'inbox') || ($unseen_notify == 3)) {
+                $unseen_string = $unseen;
+                        
+
+                /* If users requests, display message count too */
+                if (isset($unseen_type) && ($unseen_type == 2)) {
+                    $numMessages = $boxes->total;
+                    $unseen_string .= '/' . $numMessages;
+                }       
                 
-                if ($unseen_type > 1) {
-                    $unseen_string .= '/' . $boxes->total;
+                $unseen_string = "<font color=\"$color[11]\">($unseen_string)</font>";
+            
+                /*
+                    Finally allow the script to display the values by setting a boolean.
+                    This can only occur if the unseen count is great than 0 (if you have
+                    unseen count only), or you have the message count too.
+                */
+                if (($unseen > 0) || (isset($unseen_type) && ($unseen_type ==2))) {
+                    $unseen_found = true;
                 }
-
-                $unseen_string .= ')';
-
-                $unseen_string = $unseen_before . $unseen_string . $unseen_after;
-            }
-
-        } else {
-            $unseen = 0;
+        
+            }   
+        
         }
 
         if (isset($boxes->mbxs[0]) && $collapse_folders) {
@@ -331,36 +346,30 @@ function listBoxes ($boxes, $j=0 ) {
 
             $link = '<a target="left" style="text-decoration:none" ' .'href="left_main.php?';
             if ($collapse) {
-                $link .= "unfold=$mailboxURL\">$leader +&nbsp;";
+                $link .= "unfold=$mailboxURL\">$leader+&nbsp;</tt>";
             } else {
-                $link .= "fold=$mailboxURL\">$leader -&nbsp;";
+                $link .= "fold=$mailboxURL\">$leader-&nbsp;</tt>";
             }
             $link .= '</a>';
             $pre .= $link;
         } else {
-            $pre.= $leader . '&nbsp;&nbsp;&nbsp;';
+            $pre.= $leader . '&nbsp;&nbsp;</tt>';
         }
 
         /* If there are unseen message, bold the line. */
-
         if (($move_to_trash) && ($mailbox == $trash_folder)) {
-            if (! isset($numMessages)) {
-                $status = sqimap_status_messages($imapConnection, $mailbox);
-                $numMessages = $status['MESSAGES'];
+            if (! isset($boxes->total)) {
+                $boxes->total = sqimap_status_messages($imapConnection, $mailbox);
             }
-
             if ($unseen > 0) {
                 $pre .= '<b>';
             }
-
             $pre .= "<a href=\"right_main.php?PG_SHOWALL=0&amp;sort=0;startMessage=1&amp;mailbox=$mailboxURL\" target=\"right\" style=\"text-decoration:none\">";
-
             if ($unseen > 0) {
                 $end .= '</b>';
             }
-
             $end .= '</a>';
-            if ($numMessages > 0) {
+            if ($boxes->total > 0) {
                 if ($unseen > 0) {
                     $pre .= '<b>';
                 }
@@ -373,7 +382,7 @@ function listBoxes ($boxes, $j=0 ) {
                         "</small>";
             }
         } else {
-            if (!$boxes->is_noselect) {
+            if (!$boxes->is_noselect || strtolower($boxes->mailboxname_full)=="inbox") {
                 if ($unseen > 0) {
                     $pre .= '<b>';
                 }
@@ -421,21 +430,51 @@ function ListAdvancedBoxes ($boxes, $mbx, $j='ID.0000' ) {
     $pre = '';
     $end = '';
     $collapse = false;
+    $unseen_found = false;
+    $unseen = 0;
 
     if ($boxes) {
     $mailbox = $boxes->mailboxname_full;
     $mailboxURL = urlencode($mailbox);
 
-    /* get unseen/total messages information */
-        if ($boxes->unseen) {
-        $unseen = $boxes->unseen;
-            $unseen_string = "($unseen)";
-        if ($unseen>0) $unseen_found = TRUE;
-            if ($boxes->total) {
-        $numMessages = $boxes->total;
-            $unseen_string = "<font color=\"$color[11]\">($unseen/$numMessages)</font>";
+    /* Only need to display info when option is set */
+    if (isset($unseen_notify) && ($unseen_notify > 1)) {
+
+        if ($boxes->unseen !== false) {
+            $unseen = $boxes->unseen;
+        } else {
+            $unseen = 0;
         }
-    } else $unseen = 0;
+
+        /* 
+            Should only display unseen info if the folder is inbox
+            or you set the option for all folders
+        */
+
+        if ((strtolower($mailbox) == 'inbox') || ($unseen_notify == 3)) {
+            $unseen_string = $unseen;
+
+
+            /* If users requests, display message count too */
+            if (isset($unseen_type) && ($unseen_type == 2)) {
+                $numMessages = $boxes->total;
+                $unseen_string .= '/' . $numMessages;
+            }
+
+            $unseen_string = "<font color=\"$color[11]\">($unseen_string)</font>";
+
+            /*
+                Finally allow the script to display the values by setting a boolean.
+                This can only occur if the unseen count is great than 0 (if you have
+                unseen count only), or you have the message count too.
+            */
+            if (($unseen > 0) || (isset($unseen_type) && ($unseen_type ==2))) {
+                $unseen_found = true;
+            }
+        
+        }   
+        
+    }
 
     /* If there are unseen message, bold the line. */
     if ($unseen > 0) { $pre .= '<b>'; }
@@ -986,6 +1025,7 @@ for ($i = 0; $i < count($boxes); $i++) {
         echo '</div></small>'."\n";
         echo '</form>'."\n";
     } else {
+        //sqimap_get_status_mbx_tree($imap_stream,$boxes)    
         ListBoxes($boxes);
     }
 } /* if ($oldway) else ... */