alecpl
2010-03-25 fb7ec576ab3a353b6eb99614e9636a9096462807
program/lib/imap.inc
@@ -389,7 +389,7 @@
   return false;
}
function iil_ClearCapability()
function iil_C_ClearCapability(&$conn)
{
   $conn->capability = array();
   $conn->capability_readed = false;
@@ -550,26 +550,19 @@
   $iil_error = '';
   $iil_errornum = 0;
   // set some imap options
   // set options
   if (is_array($options)) {
      foreach($options as $optkey => $optval) {
         if ($optkey == 'auth_method') {
            $auth_method = strtoupper($optval);
         } else if ($optkey == 'rootdir') {
                $my_prefs['rootdir'] = $optval;
         } else if ($optkey == 'delimiter') {
                $my_prefs['delimiter'] = $optval;
         } else if ($optkey == 'debug_mode') {
                $my_prefs['debug_mode'] = $optval;
         }
      }
   }
   if (empty($auth_method))
        $my_prefs = $options;
    }
    // set auth method
    if (!empty($my_prefs['auth_method'])) {
            $auth_method = strtoupper($my_prefs['auth_method']);
   } else {
          $auth_method = 'CHECK';
    }
   $message = "INITIAL: $auth_method\n";
   $result = false;
   
   // initialize connection
@@ -579,13 +572,13 @@
   $conn->selected    = '';
   $conn->user        = $user;
   $conn->host        = $host;
   if ($my_prefs['sort_field'] == 'INTERNALDATE') {
      $IMAP_USE_INTERNAL_DATE = true;
   } else if ($my_prefs['sort_field'] == 'DATE') {
          $IMAP_USE_INTERNAL_DATE = false;
   }
   //check input
   if (empty($host)) {
      $iil_error = "Empty host";
@@ -660,7 +653,7 @@
         }
         
         // Now we're authenticated, capabilities need to be reread
         iil_ClearCapability();
         iil_C_ClearCapability($conn);
           }
   }
@@ -705,6 +698,9 @@
   }
   if (is_resource($result)) {
        if ($my_prefs['force_caps']) {
         iil_C_ClearCapability($conn);
        }
      iil_C_Namespace($conn);
      return $conn;
   } else {
@@ -1070,16 +1066,15 @@
        return false;
}
function iil_C_FetchUIDs(&$conn,$mailbox) {
function iil_C_FetchUIDs(&$conn, $mailbox, $message_set=null) {
   global $clock;
   if (is_array($message_set))
      $message_set = join(',', $message_set);
    else if (empty($message_set))
      $message_set = '1:*';
   
   $num = iil_C_CountMessages($conn, $mailbox);
   if ($num == 0) {
       return array();
   }
   $message_set = '1' . ($num>1?':' . $num:'');
   return iil_C_FetchHeaderIndex($conn, $mailbox, $message_set, 'UID');
   return iil_C_FetchHeaderIndex($conn, $mailbox, $message_set, 'UID', false);
}
function iil_C_FetchHeaders(&$conn, $mailbox, $message_set, $uidfetch=false, $bodystr=false, $add='')