diff options
| author | alec <alec@208e9e7b-5314-0410-a742-e7e81cd9613c> | 2009-07-11 14:34:48 +0000 |
|---|---|---|
| committer | alec <alec@208e9e7b-5314-0410-a742-e7e81cd9613c> | 2009-07-11 14:34:48 +0000 |
| commit | ced48477ba57854ce2875213465017ae42af3513 (patch) | |
| tree | ae9f2968ff83263c12a011ba5796e915f01135ca /roundcubemail/program/lib | |
| parent | 1adf1349a98d868afcb66116b873db44c743fcc8 (diff) | |
- Performance improvements by use UID commands (#1485690)
git-svn-id: https://svn.roundcube.net/trunk@2735 208e9e7b-5314-0410-a742-e7e81cd9613c
Diffstat (limited to 'roundcubemail/program/lib')
| -rw-r--r-- | roundcubemail/program/lib/imap.inc | 20 |
1 files changed, 6 insertions, 14 deletions
diff --git a/roundcubemail/program/lib/imap.inc b/roundcubemail/program/lib/imap.inc index a8f858ea6..0ab2b7fc8 100644 --- a/roundcubemail/program/lib/imap.inc +++ b/roundcubemail/program/lib/imap.inc @@ -2190,14 +2190,14 @@ function iil_C_FetchMIMEHeaders(&$conn, $mailbox, $id, $parts) { return $result; } -function iil_C_FetchPartHeader(&$conn, $mailbox, $id, $part) { +function iil_C_FetchPartHeader(&$conn, $mailbox, $id, $is_uid=false, $part=NULL) { $part = empty($part) ? 'HEADER' : $part.'.MIME'; - return iil_C_HandlePartBody($conn, $mailbox, $id, $part); + return iil_C_HandlePartBody($conn, $mailbox, $id, $is_uid, $part); } -function iil_C_HandlePartBody(&$conn, $mailbox, $id, $part='', $encoding=NULL, $print=NULL, $file=NULL) { +function iil_C_HandlePartBody(&$conn, $mailbox, $id, $is_uid=false, $part='', $encoding=NULL, $print=NULL, $file=NULL) { $fp = $conn->fp; $result = false; @@ -2224,7 +2224,7 @@ function iil_C_HandlePartBody(&$conn, $mailbox, $id, $part='', $encoding=NULL, $ // format request $key = 'ftch0'; - $request = $key . " FETCH $id (BODY.PEEK[$part])"; + $request = $key . ($is_uid ? ' UID' : '') . " FETCH $id (BODY.PEEK[$part])"; // send request if (!iil_PutLine($fp, $request)) { return false; @@ -2346,14 +2346,6 @@ function iil_C_HandlePartBody(&$conn, $mailbox, $id, $part='', $encoding=NULL, $ return false; } -function iil_C_FetchPartBody(&$conn, $mailbox, $id, $part, $file=NULL) { - return iil_C_HandlePartBody($conn, $mailbox, $id, $part, NULL, NULL, $file); -} - -function iil_C_PrintPartBody(&$conn, $mailbox, $id, $part) { - iil_C_HandlePartBody($conn, $mailbox, $id, $part, NULL, true, NULL); -} - function iil_C_CreateFolder(&$conn, $folder) { $fp = $conn->fp; if (iil_PutLine($fp, 'c CREATE "' . iil_Escape($folder) . '"')) { @@ -2477,14 +2469,14 @@ function iil_C_AppendFromFile(&$conn, $folder, $path) { return false; } -function iil_C_FetchStructureString(&$conn, $folder, $id) { +function iil_C_FetchStructureString(&$conn, $folder, $id, $is_uid=false) { $fp = $conn->fp; $result = false; if (iil_C_Select($conn, $folder)) { $key = 'F1247'; - if (iil_PutLine($fp, "$key FETCH $id (BODYSTRUCTURE)")) { + if (iil_PutLine($fp, $key . ($is_uid ? ' UID' : '') ." FETCH $id (BODYSTRUCTURE)")) { do { $line = iil_ReadLine($fp, 5000); $line = iil_MultLine($fp, $line); |
