From 1dea055661c4d64fcde9b8916df0f696dcee2561 Mon Sep 17 00:00:00 2001 From: Michael M Slusarz Date: Thu, 26 Mar 2009 22:38:13 -0600 Subject: [PATCH] Need IMAP port to produce truly unique cache ID --- framework/Imap_Client/lib/Horde/Imap/Client/Base.php | 1 + framework/Imap_Client/lib/Horde/Imap/Client/Cache.php | 11 +++++++---- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/framework/Imap_Client/lib/Horde/Imap/Client/Base.php b/framework/Imap_Client/lib/Horde/Imap/Client/Base.php index 9a6028bd4..0ffb03f3b 100644 --- a/framework/Imap_Client/lib/Horde/Imap/Client/Base.php +++ b/framework/Imap_Client/lib/Horde/Imap/Client/Base.php @@ -215,6 +215,7 @@ abstract class Horde_Imap_Client_Base $this->_cache = Horde_Imap_Client_Cache::singleton(array_merge($p['cache'], array( 'debug' => $this->_debug, 'hostspec' => $p['hostspec'], + 'port' => $p['port'], 'username' => $p['username'] ))); } diff --git a/framework/Imap_Client/lib/Horde/Imap/Client/Cache.php b/framework/Imap_Client/lib/Horde/Imap/Client/Cache.php index e52741874..9343c56c5 100644 --- a/framework/Imap_Client/lib/Horde/Imap/Client/Cache.php +++ b/framework/Imap_Client/lib/Horde/Imap/Client/Cache.php @@ -10,6 +10,7 @@ * 'driver' - (string) The Horde_Cache driver to use. * 'driver_params' - (string) The params to pass to the Horde_Cache driver. * 'hostspec' - (string) The IMAP hostspec. + * 'port' - (string) The IMAP port. * 'username' - (string) The IMAP username. * * Optional Parameters: @@ -115,8 +116,9 @@ class Horde_Imap_Client_Cache { if (empty($params['driver']) || empty($params['driver_params']) || - empty($params['username']) || - empty($params['hostspec'])) { + empty($params['hostspec']) || + empty($params['port']) || + empty($params['username'])) { throw new Horde_Imap_Client_Exception('Missing required parameters to Horde_Imap_Client_Cache.'); } @@ -152,6 +154,7 @@ class Horde_Imap_Client_Cache 'debug' => empty($params['debug']) ? false : $params['debug'], 'hostspec' => $params['hostspec'], 'lifetime' => empty($params['lifetime']) ? 604800 : intval($params['lifetime']), + 'port' => $params['port'], 'slicesize' => empty($params['slicesize']) ? 50 : intval($params['slicesize']), 'username' => $params['username'] ); @@ -207,8 +210,8 @@ class Horde_Imap_Client_Cache */ protected function _getCID($mailbox, $slice) { - /* Cache ID = "prefix | username | mailbox | hostspec | slice" */ - return 'horde_imap_client|' . $this->_params['username'] . '|' . $mailbox . '|' . $this->_params['hostspec'] . '|' . $slice; + /* Cache ID = prefix | username | mailbox | hostspec | port | slice */ + return implode('|', array('horde_imap_client', $this->_params['username'], $mailbox, $this->_params['hostspec'], $this->_params['port'], $slice)); } /** -- 2.11.0