Add date-time IMAP output format
authorMichael M Slusarz <slusarz@curecanti.org>
Mon, 26 Apr 2010 07:15:17 +0000 (01:15 -0600)
committerMichael M Slusarz <slusarz@curecanti.org>
Mon, 26 Apr 2010 07:15:33 +0000 (01:15 -0600)
framework/Imap_Client/lib/Horde/Imap/Client.php
framework/Imap_Client/lib/Horde/Imap/Client/Base.php
framework/Imap_Client/lib/Horde/Imap/Client/Socket.php

index 0123c71..4beb721 100644 (file)
@@ -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.
index e357be2..3340b4c 100644 (file)
@@ -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;
index fee4f61..f8ac27a 100644 (file)
@@ -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'])) {