From da5fa28d5705ab2b9991f39741f2a8f1751a25ad Mon Sep 17 00:00:00 2001
From: Aleksander Machniak <alec@alec.pl>
Date: Wed, 25 Dec 2013 04:33:06 -0500
Subject: [PATCH] Display different icons when Trash folder is empty or full (#1485775)

---
 program/steps/mail/folders.inc |   20 ++++++++++++--------
 1 files changed, 12 insertions(+), 8 deletions(-)

diff --git a/program/steps/mail/folders.inc b/program/steps/mail/folders.inc
index d7cfd93..1c9ed0d 100644
--- a/program/steps/mail/folders.inc
+++ b/program/steps/mail/folders.inc
@@ -27,7 +27,6 @@
 
 // send EXPUNGE command
 if ($RCMAIL->action == 'expunge') {
-
     $success = $RCMAIL->storage->expunge_folder($mbox);
 
     // reload message list if current mailbox
@@ -45,16 +44,16 @@
         $RCMAIL->display_server_error();
     }
 }
-
 // clear mailbox
-else if ($RCMAIL->action == 'purge')
-{
-    $delimiter = $RCMAIL->storage->get_hierarchy_delimiter();
-    $trash_regexp = '/^' . preg_quote($CONFIG['trash_mbox'] . $delimiter, '/') . '/';
-    $junk_regexp  = '/^' . preg_quote($CONFIG['junk_mbox'] . $delimiter, '/') . '/';
+else if ($RCMAIL->action == 'purge') {
+    $delimiter    = $RCMAIL->storage->get_hierarchy_delimiter();
+    $trash_mbox   = $RCMAIL->config->get('trash_mbox');
+    $junk_mbox    = $RCMAIL->config->get('junk_mbox');
+    $trash_regexp = '/^' . preg_quote($trash_mbox . $delimiter, '/') . '/';
+    $junk_regexp  = '/^' . preg_quote($junk_mbox . $delimiter, '/') . '/';
 
     // we should only be purging trash and junk (or their subfolders)
-    if ($mbox == $CONFIG['trash_mbox'] || $mbox == $CONFIG['junk_mbox']
+    if ($mbox == $trash_mbox || $mbox == $junk_mbox
         || preg_match($trash_regexp, $mbox) || preg_match($junk_regexp, $mbox)
     ) {
         $success = $RCMAIL->storage->clear_folder($mbox);
@@ -71,6 +70,11 @@
                 $OUTPUT->command('set_unread_count', $mbox, 0);
                 $OUTPUT->command('set_quota', $RCMAIL->quota_content());
                 rcmail_set_unseen_count($mbox, 0);
+
+                // set trash folder state
+                if ($mbox === $trash_mbox) {
+                    $OUTPUT->command('set_trash_count', 0);
+                }
             }
         }
         else {

--
Gitblit v1.9.1