diff options
| author | thomasb <thomasb@208e9e7b-5314-0410-a742-e7e81cd9613c> | 2010-03-02 21:27:53 +0000 |
|---|---|---|
| committer | thomasb <thomasb@208e9e7b-5314-0410-a742-e7e81cd9613c> | 2010-03-02 21:27:53 +0000 |
| commit | 4668bcf3ac6656f578f74c34bdad5a9428e99446 (patch) | |
| tree | 13c140745075e58c5110dd77a6e20fa3a931d934 /roundcubemail/program/lib | |
| parent | a5286d4a7cb29f6d4bf9e5098a7de3ae7f8a98e9 (diff) | |
New recent check based on UIDs
git-svn-id: https://svn.roundcube.net/trunk@3306 208e9e7b-5314-0410-a742-e7e81cd9613c
Diffstat (limited to 'roundcubemail/program/lib')
| -rw-r--r-- | roundcubemail/program/lib/imap.inc | 15 |
1 files changed, 8 insertions, 7 deletions
diff --git a/roundcubemail/program/lib/imap.inc b/roundcubemail/program/lib/imap.inc index ed30937fa..9a5a67bef 100644 --- a/roundcubemail/program/lib/imap.inc +++ b/roundcubemail/program/lib/imap.inc @@ -915,7 +915,7 @@ function iil_C_Sort(&$conn, $mailbox, $field, $add='', $is_uid=FALSE, 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 @@ function iil_C_FetchHeaderIndex(&$conn, $mailbox, $message_set, $index_field='', // 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; |
