From 8234b4c6bc3c9cd9cb639039d3080131098dd966 Mon Sep 17 00:00:00 2001
From: alecpl <alec@alec.pl>
Date: Tue, 26 May 2009 04:50:10 -0400
Subject: [PATCH] - Support UID EXPUNGE: remove only moved/deleted messages

---
 program/lib/imap.inc |   12 ++++++++----
 1 files changed, 8 insertions(+), 4 deletions(-)

diff --git a/program/lib/imap.inc b/program/lib/imap.inc
index 1b8bec0..b5412e3 100644
--- a/program/lib/imap.inc
+++ b/program/lib/imap.inc
@@ -82,6 +82,7 @@
 		- use PREG instead of EREG
 		- removed caching functions
 		- handling connection startup response
+		- added UID EXPUNGE support
 
 ********************************************************/
 
@@ -1863,11 +1864,13 @@
 	return $result;
 }
 
-function iil_C_Expunge(&$conn, $mailbox) {
+function iil_C_Expunge(&$conn, $mailbox, $messages=NULL) {
 
 	if (iil_C_Select($conn, $mailbox)) {
 		$c = 0;
-		iil_PutLine($conn->fp, "exp1 EXPUNGE");
+		$command = $messages ? "UID EXPUNGE $messages" : "EXPUNGE";
+
+		iil_PutLine($conn->fp, "exp1 $command");
 		do {
 			$line=chop(iil_ReadLine($conn->fp, 100));
 			if ($line[0] == '*') {
@@ -2030,12 +2033,13 @@
 }
 
 function iil_C_Move(&$conn, $messages, $from, $to) {
-    $fp = $conn->fp;
 
     if (!$from || !$to) {
         return -1;
     }
-    $r = iil_C_Copy($conn, $messages, $from,$to);
+    
+    $r = iil_C_Copy($conn, $messages, $from, $to);
+
     if ($r==0) {
         return iil_C_Delete($conn, $from, $messages);
     }

--
Gitblit v1.9.1