From a02d486cc8988ad367cd635f4929ce707ec6f542 Mon Sep 17 00:00:00 2001
From: thomascube <thomas@roundcube.net>
Date: Tue, 05 Feb 2008 17:56:29 -0500
Subject: [PATCH] Applied patch to prevent from purging inbox (#1484449) + CSS hack for Safari

---
 skins/default/common.css       |    1 +
 CHANGELOG                      |    4 +++-
 program/steps/mail/folders.inc |   24 ++++++++++++++----------
 skins/default/mail.css         |    4 ++++
 program/js/app.js              |    3 ---
 5 files changed, 22 insertions(+), 14 deletions(-)

diff --git a/CHANGELOG b/CHANGELOG
index 03abaea..783d254 100644
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -6,7 +6,9 @@
 - Fix regular expression for checking e-mail address (#1484710)
 - Make sending of read receipts configurable
 - Respect config when localize folder names (#1484707)
-- Aplied patch for updating page title (#1484727, #1484650)
+- Applied patch for updating page title (#1484727, #1484650)
+- Applied patch to prevent from purging inbox by uberlinuxguy (#1484449)
+- Add CSS hack for Safari
 
 2008/02/02 (thomasb)
 ----------
diff --git a/program/js/app.js b/program/js/app.js
index 0288fad..66b7de0 100644
--- a/program/js/app.js
+++ b/program/js/app.js
@@ -3495,10 +3495,7 @@
   this.check_for_recent = function()
     {
     if (this.busy)
-      {
-      this.send_keep_alive();
       return;
-      }
 
     this.set_busy(true, 'checkingmail');
     this.http_request('check-recent', (this.env.search_request ? '_search='+this.env.search_request+'&' : '') + '_t='+(new Date().getTime()), true);
diff --git a/program/steps/mail/folders.inc b/program/steps/mail/folders.inc
index c7c39fb..b84398f 100644
--- a/program/steps/mail/folders.inc
+++ b/program/steps/mail/folders.inc
@@ -39,18 +39,22 @@
 // clear mailbox
 else if ($_action=='purge' && ($mbox = get_input_value('_mbox', RCUBE_INPUT_POST)))
 {
-  $success = $IMAP->clear_mailbox($mbox);
-  
-  if ($success && !empty($_REQUEST['_reload']))
+  // we should only be purging trash and junk
+  if($mbox == $CONFIG['trash_mbox'] || $mbox == $CONFIG['junk_mbox']) 
   {
-    $OUTPUT->set_env('messagecount', 0);
-    $OUTPUT->set_env('pagecount', 0);
-    $OUTPUT->command('message_list.clear');
-    $OUTPUT->command('set_rowcount', rcmail_get_messagecount_text());
-    $OUTPUT->command('set_unread_count', $mbox_name, 0);
+    $success = $IMAP->clear_mailbox($mbox);
+  
+    if ($success && !empty($_REQUEST['_reload']))
+    {
+      $OUTPUT->set_env('messagecount', 0);
+      $OUTPUT->set_env('pagecount', 0);
+      $OUTPUT->command('message_list.clear');
+      $OUTPUT->command('set_rowcount', rcmail_get_messagecount_text());
+      $OUTPUT->command('set_unread_count', $mbox_name, 0);
+    }
+    else
+      $commands = "// purged: $success";
   }
-  else
-    $commands = "// purged: $success";
 }
 
 $OUTPUT->send($commands);
diff --git a/skins/default/common.css b/skins/default/common.css
index c7743e8..308953b 100644
--- a/skins/default/common.css
+++ b/skins/default/common.css
@@ -10,6 +10,7 @@
 body.iframe
 {
   margin: 0px;
+  background-color: #FFF;
 }
 
 body.extwin
diff --git a/skins/default/mail.css b/skins/default/mail.css
index 3ea7246..4e2fd59 100644
--- a/skins/default/mail.css
+++ b/skins/default/mail.css
@@ -331,6 +331,10 @@
   width: expression(parseInt(document.getElementById('mailcontframe').clientWidth)+'px');
 }
 
+/* safari hack \*/
+html>body*#messagelist[id$="messagelist"]:not([class="none"]) { table-layout: auto; }
+/**/
+
 #messagelist thead tr td
 {
   height: 20px;

--
Gitblit v1.9.1