$responses = sqimap_read_data_list($imap_stream, $sid, true, $responses, $message);
if (!eregi("^\\* ([0-9]+) FETCH", $responses[0][0], $regs)) {
$responses = array ();
- }
+ }
return $responses;
}
$internal_date_sort, $server_sort_array,
$sent_folder, $mailbox, $uid_support;
- if (session_is_registered('server_sort_array')) {
- session_unregister('server_sort_array');
+ if (sqsession_is_registered('server_sort_array')) {
+ sqsession_unregister('server_sort_array');
}
$sid = sqimap_session_id($uid_support);
if ($sort == 6) {
if ($uid_support) {
- $uidnext = $mbxresponse['UIDNEXT']-1;
+ if (isset($mbxresponse['UIDNEXT']) && $mbxresponse['UIDNEXT']) {
+ $uidnext = $mbxresponse['UIDNEXT']-1;
+ } else {
+ $uidnext = '*';
+ }
$uid_query = "$sid SEARCH UID 1:$uidnext\r\n";
fputs($imap_stream, $uid_query);
- $uids = sqimap_read_data($imap_stream, $sid, true ,&$response, $message);
+ $uids = sqimap_read_data($imap_stream, $sid, true ,$response, $message);
if (isset($uids[0])) {
if (preg_match("/^\* SEARCH (.+)$/", $uids[0], $regs)) {
$server_sort_array = preg_split("/ /", trim($regs[1]));
$qty = $mbxresponse['EXISTS'];
$server_sort_array = range(1, $qty);
}
- session_register('server_sort_array');
+ sqsession_register($server_sort_array, 'server_sort_array');
return $server_sort_array;
}
if (!empty($sort_on[$sort])) {
$sort_query = "$sid SORT ($sort_on[$sort]) ".strtoupper($default_charset)." ALL\r\n";
fputs($imap_stream, $sort_query);
- $sort_test = sqimap_read_data($imap_stream, $sid, true ,&$response, $message);
+ $sort_test = sqimap_read_data($imap_stream, $sid, true ,$response, $message);
}
if (isset($sort_test[0])) {
if (preg_match("/^\* SORT (.+)$/", $sort_test[0], $regs)) {
if (!preg_match("/OK/", $response)) {
$server_sort_array = 'no';
}
- session_register('server_sort_array');
+ sqsession_register($server_sort_array, 'server_sort_array');
return $server_sort_array;
}
function sqimap_get_php_sort_order ($imap_stream, $mbxresponse) {
global $uid_support;
- if (session_is_registered('php_sort_array')) {
- session_unregister('php_sort_array');
+ if (sqsession_is_registered('php_sort_array')) {
+ sqsession_unregister('php_sort_array');
}
$sid = sqimap_session_id($uid_support);
}
$uid_query = "$sid SEARCH UID 1:$uidnext\r\n";
fputs($imap_stream, $uid_query);
- $uids = sqimap_read_data($imap_stream, $sid, true ,&$response, $message);
+ $uids = sqimap_read_data($imap_stream, $sid, true ,$response, $message);
if (isset($uids[0])) {
if (preg_match("/^\* SEARCH (.+)$/", $uids[0], $regs)) {
$php_sort_array = preg_split("/ /", trim($regs[1]));
$qty = $mbxresponse['EXISTS'];
$php_sort_array = range(1, $qty);
}
- session_register('php_sort_array');
+ sqsession_register($php_sort_array, 'php_sort_array');
return $php_sort_array;
}
function get_thread_sort ($imap_stream) {
global $thread_new, $sort_by_ref, $default_charset, $server_sort_array, $uid_support;
- if (session_is_registered('thread_new')) {
- session_unregister('thread_new');
+ if (sqsession_is_registered('thread_new')) {
+ sqsession_unregister('thread_new');
}
- if (session_is_registered('server_sort_array')) {
- session_unregister('server_sort_array');
+ if (sqsession_is_registered('server_sort_array')) {
+ sqsession_unregister('server_sort_array');
}
$sid = sqimap_session_id($uid_support);
$thread_temp = array ();
}
}
}
- session_register('thread_new');
+ sqsession_register($thread_new, 'thread_new');
$thread_new = array_reverse($thread_new);
$thread_list = implode(" ", $thread_new);
$thread_list = str_replace("(", " ", $thread_list);
$thread_list = str_replace(")", " ", $thread_list);
$thread_list = preg_split("/\s/", $thread_list, -1, PREG_SPLIT_NO_EMPTY);
$server_sort_array = $thread_list;
- session_register('server_sort_array');
+ sqsession_register($server_sort_array, 'server_sort_array');
return $thread_list;
}
foreach ($read as $read_part) {
//unfold multi-line headers
- while ($prevline && strspn($read_part, "\t ") > 0) {
- $read_part = substr($prevline, 0, -2) . ' ' . ltrim($read_part);
- }
+ if ($prevline && strpos($read_part, "\t ") === true) {
+ $read_part = substr($prevline, 0, -2) . preg_replace('/(\t\s+)/',' ',$read_part);
+ }
$prevline = $read_part;
if ($read_part{0} == '*') {
if ($internaldate) {
$bodystructure = implode('',$read);
$msg = mime_structure($bodystructure,$flags);
$read = sqimap_run_command ($imap_stream, "FETCH $id BODY[HEADER]", true, $response, $message, $uid_support);
- $rfc822_header = new rfc822_header();
+ $rfc822_header = new Rfc822Header();
$rfc822_header->parseHeader($read);
$msg->rfc822_header = $rfc822_header;
return $msg;