| | |
| | | return false; |
| | | } |
| | | |
| | | function iil_ClearCapability() |
| | | function iil_C_ClearCapability(&$conn) |
| | | { |
| | | $conn->capability = array(); |
| | | $conn->capability_readed = false; |
| | |
| | | $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 |
| | |
| | | $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"; |
| | |
| | | } |
| | | |
| | | // Now we're authenticated, capabilities need to be reread |
| | | iil_ClearCapability(); |
| | | iil_C_ClearCapability($conn); |
| | | } |
| | | } |
| | | |
| | |
| | | } |
| | | |
| | | if (is_resource($result)) { |
| | | if ($my_prefs['force_caps']) { |
| | | iil_C_ClearCapability($conn); |
| | | } |
| | | iil_C_Namespace($conn); |
| | | return $conn; |
| | | } else { |
| | |
| | | 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='') |