* Removed another warning that shouldn't ever pop up, but it did with a
[squirrelmail.git] / functions / imap_messages.php
index add62e7a9aed5ce0e227ba13c47e8fa79792c2fe..123b4e560b965902883cc077d74ce2f2c0738384 100755 (executable)
@@ -97,6 +97,8 @@
             if ($pos = strpos($type, ";"))
                $type = substr($type, 0, $pos);
             $type = explode("/", $type);
+           if (! isset($type[1]))
+               $type[1] = '';
          }
          
       }
 
       fputs ($imap_stream, "a003 FETCH $id RFC822.SIZE\r\n");
       $read = sqimap_read_data($imap_stream, "a003", true, $r, $m);
-      preg_match("/([0-9]+)\)\s*$/i", $read[0], $regs);
+      eregi("([0-9]+)[^0-9]*$", $read[0], $regs);
       $size = $regs[1];
       
       $header = new small_header;
       if ($sent == true)
-         $header->from = (trim($to) != '')? $to : _('(only Cc/Bcc)');
+         $header->from = (trim($to) != '')? $to : _("(only Cc/Bcc)");
       else   
          $header->from = $from;
 
       fputs ($imap_stream, "a001 FETCH $i:$i FLAGS\r\n");
       $read = sqimap_read_data ($imap_stream, "a001", true, $response, $message);
       if (ereg("FLAGS(.*)", $read[0], $regs))
-          return explode(" ", trim(ereg_replace('[\(\)\\]', '', $regs[1])));
+          return explode(" ", trim(ereg_replace('[\\(\\)\\\\]', '', $regs[1])));
       return Array('None');
    }
 
     ******************************************************************************/
    function sqimap_get_message ($imap_stream, $id, $mailbox) {
       $header = sqimap_get_message_header($imap_stream, $id, $mailbox);
-      return sqimap_get_message_body($imap_stream, &$header);
+      return sqimap_get_message_body($imap_stream, $header);
    }
 
    /******************************************************************************
       $hdr->type1 = "plain";
       $hdr->charset = "us-ascii";
 
-      preg_match("/\{([0-9]+)\}/", $read[$i], $regs);
-      preg_match("/[0-9]+/", $regs[0], $regs);
-
       while ($i < count($read)) {
          if (substr($read[$i], 0, 17) == "MIME-Version: 1.0") {
             $hdr->mime = true;
             }
 
             /** Detect the boundary of a multipart message **/
-            if (eregi("boundary=\"([^\"]+)\"", $line, $regs)) {                             
+            if (eregi('boundary="([^"]+)"', $line, $regs)) {                             
                $hdr->boundary = $regs[1];                                             
             }
 
 
          }
 
-         else if (strtolower(substr($read[$i], 0, 20)) == "content-disposition:") {   
+         else if (strtolower(substr($read[$i], 0, 20)) == "content-disposition:") {
             /** Add better dontent-disposition support **/
             
             $line = $read[$i];
          else if (strtolower(substr($read[$i], 0, 5)) == "date:") {
             $d = substr($read[$i], 5);
             $d = trim($d);
-            $d = ereg_replace("  ", " ", $d);
-            $d = explode(" ", $d);
+            $d = strtr($d, array('  ' => ' '));
+            $d = explode(' ', $d);
             $hdr->date = getTimeStamp($d);
             $i++;
          }
     ******************************************************************************/
    function sqimap_get_message_body ($imap_stream, &$header) {
       $id = $header->id;
-      return decodeMime($imap_stream, &$header);
+      return decodeMime($imap_stream, $header);
    }