alecpl
2009-08-28 b8ae99a6b38838045257c7dac6f52c66a0f6ef39
program/lib/imap.inc
@@ -301,8 +301,8 @@
}
function iil_ParseResult($string) {
   $a = explode(' ', $string);
   if (count($a) > 2) {
   $a = explode(' ', trim($string));
   if (count($a) >= 2) {
      if (strcasecmp($a[1], 'OK') == 0) {
         return 0;
      } else if (strcasecmp($a[1], 'NO') == 0) {
@@ -2125,8 +2125,8 @@
   $query = 'sub1 SUBSCRIBE "' . iil_Escape($folder). '"';
   iil_PutLine($fp, $query);
   $line = trim(iil_ReadLine($fp, 10000));
   return iil_ParseResult($line);
   $line = trim(iil_ReadLine($fp, 512));
   return (iil_ParseResult($line) == 0);
}
function iil_C_UnSubscribe(&$conn, $folder) {
@@ -2135,8 +2135,8 @@
   $query = 'usub1 UNSUBSCRIBE "' . iil_Escape($folder) . '"';
   iil_PutLine($fp, $query);
    
   $line = trim(iil_ReadLine($fp, 10000));
   return iil_ParseResult($line);
   $line = trim(iil_ReadLine($fp, 512));
   return (iil_ParseResult($line) == 0);
}
function iil_C_FetchMIMEHeaders(&$conn, $mailbox, $id, $parts) {
@@ -2386,8 +2386,16 @@
   $request = 'a APPEND "' . iil_Escape($folder) .'" (\\Seen) {' . $len . '}';
    
   if (iil_PutLine($fp, $request)) {
      $line = iil_ReadLine($fp, 100);
      $sent = iil_PutLine($fp, $message);
      $line = iil_ReadLine($fp, 512);
      $result = (iil_ParseResult($line) == 0);
      if (!$result) {
         $conn->error .= "Cannot write to folder: $line\n";
         return false;
      }
      iil_PutLine($fp, $message);
      do {
         $line=iil_ReadLine($fp);
      } while (!iil_StartsWith($line, 'a ', true));
@@ -2426,14 +2434,18 @@
    
   //send APPEND command
   $request    = 'a APPEND "' . iil_Escape($folder) . '" (\\Seen) {' . $len . '}';
   $bytes_sent = 0;
   if (iil_PutLine($fp, $request)) {
      $line = iil_ReadLine($fp, 100);
      $line = iil_ReadLine($fp, 512);
      $result = (iil_ParseResult($line) == 0);
      if (!$result) {
         $conn->error .= "Cannot write to folder: $line\n";
         return false;
      }
            
      //send file
      while (!feof($in_fp)) {
         $buffer      = fgets($in_fp, 4096);
         $bytes_sent += strlen($buffer);
         iil_PutLine($fp, $buffer, false);
      }
      fclose($in_fp);