More code cleanups
[squirrelmail.git] / functions / imap_messages.php
index fd592a2bfde6cbabd0a1bd325d8a76ae44716f3a..859702b59e41cf7c30f337a658bac9de5167b3c9 100755 (executable)
@@ -90,7 +90,7 @@ function get_reference_header ($imap_stream, $message) {
     $responses = sqimap_read_data_list($imap_stream, $sid, true, $responses, $message);
     if (!eregi("^\\* ([0-9]+) FETCH", $responses[0][0], $regs)) {
         $responses = array ();
-    }
+    } 
     return $responses;
 }
 
@@ -105,8 +105,8 @@ function sqimap_get_sort_order ($imap_stream, $sort, $mbxresponse) {
             $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);
@@ -118,10 +118,14 @@ function sqimap_get_sort_order ($imap_stream, $sort, $mbxresponse) {
 
     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]));
@@ -134,7 +138,7 @@ function sqimap_get_sort_order ($imap_stream, $sort, $mbxresponse) {
             $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;
     }
 
@@ -155,7 +159,7 @@ function sqimap_get_sort_order ($imap_stream, $sort, $mbxresponse) {
     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)) {
@@ -168,7 +172,7 @@ function sqimap_get_sort_order ($imap_stream, $sort, $mbxresponse) {
     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;
 }
 
@@ -176,8 +180,8 @@ function sqimap_get_sort_order ($imap_stream, $sort, $mbxresponse) {
 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);
@@ -191,7 +195,7 @@ function sqimap_get_php_sort_order ($imap_stream, $mbxresponse) {
        }
         $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]));
@@ -204,7 +208,7 @@ function sqimap_get_php_sort_order ($imap_stream, $mbxresponse) {
        $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;
 }
 
@@ -315,11 +319,11 @@ function get_parent_level ($imap_stream) {
 
 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 ();
@@ -373,14 +377,14 @@ function get_thread_sort ($imap_stream) {
                     }
             }
     }
-    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;
 }
 
@@ -492,9 +496,9 @@ function sqimap_get_small_header_list ($imap_stream, $msg_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) {
@@ -701,7 +705,7 @@ function sqimap_get_message ($imap_stream, $id, $mailbox) {
     $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;