From 719a021de596cc93273118f4082a0c9611314a1b Mon Sep 17 00:00:00 2001 From: Michael M Slusarz Date: Mon, 26 Apr 2010 01:15:17 -0600 Subject: [PATCH] Add date-time IMAP output format --- framework/Imap_Client/lib/Horde/Imap/Client.php | 11 ++++++----- framework/Imap_Client/lib/Horde/Imap/Client/Base.php | 4 ++++ framework/Imap_Client/lib/Horde/Imap/Client/Socket.php | 5 ++++- 3 files changed, 14 insertions(+), 6 deletions(-) diff --git a/framework/Imap_Client/lib/Horde/Imap/Client.php b/framework/Imap_Client/lib/Horde/Imap/Client.php index 0123c7151..4beb721b6 100644 --- a/framework/Imap_Client/lib/Horde/Imap/Client.php +++ b/framework/Imap_Client/lib/Horde/Imap/Client.php @@ -153,11 +153,12 @@ class Horde_Imap_Client /* IMAP data types (RFC 3501 [4]) */ const DATA_ASTRING = 1; const DATA_ATOM = 2; - const DATA_LISTMAILBOX = 3; - const DATA_MAILBOX = 4; - const DATA_NSTRING = 5; - const DATA_NUMBER = 6; - const DATA_STRING = 7; + const DATA_DATETIME = 3; + const DATA_LISTMAILBOX = 4; + const DATA_MAILBOX = 5; + const DATA_NSTRING = 6; + const DATA_NUMBER = 7; + const DATA_STRING = 8; /** * The key used to encrypt the password when serializing. diff --git a/framework/Imap_Client/lib/Horde/Imap/Client/Base.php b/framework/Imap_Client/lib/Horde/Imap/Client/Base.php index e357be27d..3340b4c9c 100644 --- a/framework/Imap_Client/lib/Horde/Imap/Client/Base.php +++ b/framework/Imap_Client/lib/Horde/Imap/Client/Base.php @@ -2863,6 +2863,10 @@ abstract class Horde_Imap_Client_Base $out .= $this->utils->escape($val['v'], true); break; + case Horde_Imap_Client::DATA_DATETIME: + $out .= '"' . $val['v'] . '"'; + break; + case Horde_Imap_Client::DATA_LISTMAILBOX: $out .= $this->utils->escape($val['v'], preg_match('/[\x00-\x1f\x7f\(\)\{\s"\\\\]/', $val['v'])); break; diff --git a/framework/Imap_Client/lib/Horde/Imap/Client/Socket.php b/framework/Imap_Client/lib/Horde/Imap/Client/Socket.php index fee4f61b9..f8ac27aaa 100644 --- a/framework/Imap_Client/lib/Horde/Imap/Client/Socket.php +++ b/framework/Imap_Client/lib/Horde/Imap/Client/Socket.php @@ -1403,7 +1403,10 @@ class Horde_Imap_Client_Socket extends Horde_Imap_Client_Base } if (!empty($data[$key]['internaldate'])) { - $cmd[] = $data[$key]['internaldate']->format('j-M-Y H:i:s O'); + $cmd[] = array( + 't' => Horde_Imap_Client::DATA_DATETIME, + 'v' => $data[$key]['internaldate']->format('j-M-Y H:i:s O') + ); } if (is_array($data[$key]['data'])) { -- 2.11.0