A bit better error handling for empty MIME IDs
authorMichael M Slusarz <slusarz@curecanti.org>
Mon, 8 Jun 2009 22:16:17 +0000 (16:16 -0600)
committerMichael M Slusarz <slusarz@curecanti.org>
Mon, 8 Jun 2009 22:16:17 +0000 (16:16 -0600)
framework/Imap_Client/lib/Horde/Imap/Client/Socket.php

index 8f9b8ae..d00bbe5 100644 (file)
@@ -2122,14 +2122,11 @@ class Horde_Imap_Client_Socket extends Horde_Imap_Client_Base
             case Horde_Imap_Client::FETCH_BODYPART:
             case Horde_Imap_Client::FETCH_HEADERS:
                 foreach ($c_val as $val) {
+                    $cmd = empty($val['id'])
+                        ? ''
+                        : $val['id'] . '.';
                     $main_cmd = 'BODY';
 
-                    if (empty($val['id'])) {
-                        $cmd = '';
-                    } else {
-                        $cmd = $val['id'] . '.';
-                    }
-
                     switch ($type) {
                     case Horde_Imap_Client::FETCH_HEADERTEXT:
                         $cmd .= 'HEADER';
@@ -2141,14 +2138,14 @@ class Horde_Imap_Client_Socket extends Horde_Imap_Client_Base
 
                     case Horde_Imap_Client::FETCH_MIMEHEADER:
                         if (empty($val['id'])) {
-                            throw new Horde_Imap_Client_Exception('Need a MIME ID when retrieving a MIME header.');
+                            throw new Horde_Imap_Client_Exception('Need a non-zero MIME ID when retrieving a MIME header.');
                         }
                         $cmd .= 'MIME';
                         break;
 
                     case Horde_Imap_Client::FETCH_BODYPART:
                         if (empty($val['id'])) {
-                            throw new Horde_Imap_Client_Exception('Need a MIME ID when retrieving a MIME body part.');
+                            throw new Horde_Imap_Client_Exception('Need a non-zero MIME ID when retrieving a MIME body part.');
                         }
                         // Remove the last dot from the string.
                         $cmd = substr($cmd, 0, -1);
@@ -2196,7 +2193,7 @@ class Horde_Imap_Client_Socket extends Horde_Imap_Client_Base
             case Horde_Imap_Client::FETCH_BODYPARTSIZE:
                 foreach ($c_val as $val) {
                     if (empty($val['id'])) {
-                        throw new Horde_Imap_Client_Exception('Need a MIME ID when retrieving unencoded MIME body part size.');
+                        throw new Horde_Imap_Client_Exception('Need a non-zero MIME ID when retrieving unencoded MIME body part size.');
                     }
                     $fetch[] = 'BINARY.SIZE[' . $val['id'] . ']';
                 }