From c7bea6d9e2ed0f6ea735647530403eb22bf1d0b1 Mon Sep 17 00:00:00 2001 From: Michael M Slusarz Date: Thu, 26 Mar 2009 22:02:56 -0600 Subject: [PATCH] Sequence->ID lookup fixes --- framework/Imap_Client/lib/Horde/Imap/Client/Base.php | 8 ++++++-- framework/Imap_Client/lib/Horde/Imap/Client/Socket.php | 3 ++- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/framework/Imap_Client/lib/Horde/Imap/Client/Base.php b/framework/Imap_Client/lib/Horde/Imap/Client/Base.php index c0faf8330..9a6028bd4 100644 --- a/framework/Imap_Client/lib/Horde/Imap/Client/Base.php +++ b/framework/Imap_Client/lib/Horde/Imap/Client/Base.php @@ -2436,8 +2436,12 @@ abstract class Horde_Imap_Client_Base */ protected function _getSeqUIDLookup($ids, $seq) { - $search = new Horde_Imap_Client_Search_Query(); - $search->sequence($ids, $seq); + if (is_null($ids)) { + $search = null; + } else { + $search = new Horde_Imap_Client_Search_Query(); + $search->sequence($ids, $seq); + } $res = $this->search($this->_selected, $search, array('sort' => array(Horde_Imap_Client::SORT_ARRIVAL))); $ret = array('uids' => $res['sort']); if ($seq) { diff --git a/framework/Imap_Client/lib/Horde/Imap/Client/Socket.php b/framework/Imap_Client/lib/Horde/Imap/Client/Socket.php index 47e34ecc0..ee1a67742 100644 --- a/framework/Imap_Client/lib/Horde/Imap/Client/Socket.php +++ b/framework/Imap_Client/lib/Horde/Imap/Client/Socket.php @@ -1347,7 +1347,8 @@ class Horde_Imap_Client_Socket extends Horde_Imap_Client_Base * we will get VANISHED responses, so we need to do this. */ if ($use_cache && is_null($s_res)) { /* Keys in $s_res['sort'] start at 0, not 1. */ - $s_res = $this->search($mailbox, null, array('sort' => array(Horde_Imap_Client::SORT_ARRIVAL))); + $s_res = $this->_getSeqUIDLookup(null, false); + $s_res['sort'] = $s_res['uids']; } $tmp = &$this->_temp; -- 2.11.0