From 7c9d922b96f9a88b350d6e07f5bde84ccc40f9b0 Mon Sep 17 00:00:00 2001 From: thomascube <thomas@roundcube.net> Date: Tue, 02 Mar 2010 16:27:53 -0500 Subject: [PATCH] New recent check based on UIDs --- program/lib/imap.inc | 15 ++++++++------- 1 files changed, 8 insertions(+), 7 deletions(-) diff --git a/program/lib/imap.inc b/program/lib/imap.inc index ed30937..9a5a67b 100644 --- a/program/lib/imap.inc +++ b/program/lib/imap.inc @@ -915,7 +915,7 @@ return preg_split('/\s+/', $data, -1, PREG_SPLIT_NO_EMPTY); } -function iil_C_FetchHeaderIndex(&$conn, $mailbox, $message_set, $index_field='', $skip_deleted=true) { +function iil_C_FetchHeaderIndex(&$conn, $mailbox, $message_set, $index_field='', $skip_deleted=true, $uidfetch=false) { list($from_idx, $to_idx) = explode(':', $message_set); if (empty($message_set) || @@ -949,21 +949,22 @@ // build FETCH command string $key = 'fhi0'; + $cmd = $uidfetch ? 'UID FETCH' : 'FETCH'; $deleted = $skip_deleted ? ' FLAGS' : ''; if ($mode == 1 && $index_field == 'DATE') - $request = " FETCH $message_set (INTERNALDATE BODY.PEEK[HEADER.FIELDS (DATE)]$deleted)"; + $request = " $cmd $message_set (INTERNALDATE BODY.PEEK[HEADER.FIELDS (DATE)]$deleted)"; else if ($mode == 1) - $request = " FETCH $message_set (BODY.PEEK[HEADER.FIELDS ($index_field)]$deleted)"; + $request = " $cmd $message_set (BODY.PEEK[HEADER.FIELDS ($index_field)]$deleted)"; else if ($mode == 2) { if ($index_field == 'SIZE') - $request = " FETCH $message_set (RFC822.SIZE$deleted)"; + $request = " $cmd $message_set (RFC822.SIZE$deleted)"; else - $request = " FETCH $message_set ($index_field$deleted)"; + $request = " $cmd $message_set ($index_field$deleted)"; } else if ($mode == 3) - $request = " FETCH $message_set (FLAGS)"; + $request = " $cmd $message_set (FLAGS)"; else // 4 - $request = " FETCH $message_set (INTERNALDATE$deleted)"; + $request = " $cmd $message_set (INTERNALDATE$deleted)"; $request = $key . $request; -- Gitblit v1.9.1