dumfolders
[squirrelmail.git] / functions / imap_search.php
index 2512eeccb04f6fd5ee7c522f5a67ca73031fa8e8..96cb7bb7d0e00c27e8bbd7b82be0bfdd9a8c71d0 100644 (file)
@@ -17,29 +17,28 @@ require_once('../functions/array.php');
 require_once('../functions/mailbox_display.php');
 require_once('../functions/mime.php');
 
-function sqimap_search($imapConnection,$search_where,$search_what,$mailbox,$color) {
+function sqimap_search($imapConnection,$search_where,$search_what,$mailbox,$color, $search_position = '') {
 
     global $msgs, $message_highlight_list, $squirrelmail_language, $languages, $index_order;
+    global $pos;
+
+    $pos = $search_position;
 
     $urlMailbox = urlencode($mailbox);
-    $isid = sqimap_session_id();
 
     /* Construct the Search QuERY */
-    $ss = $isid;
     if (isset($languages[$squirrelmail_language]['CHARSET']) &&
         $languages[$squirrelmail_language]['CHARSET']) {
-        $ss .= " SEARCH CHARSET ".$languages[$squirrelmail_language]['CHARSET']." ALL $search_where \"$search_what\"\r\n";
+        $ss = "SEARCH CHARSET ".$languages[$squirrelmail_language]['CHARSET']." ALL $search_where \"$search_what\"";
     } else {
-        $ss .= " SEARCH ALL $search_where \"$search_what\"\r\n";
+        $ss .= "SEARCH ALL $search_where \"$search_what\"";
     }
-    fputs($imapConnection,$ss);
 
     /* Read Data Back From IMAP */
-    $readin = sqimap_read_data ($imapConnection, $isid, false, $result, $message);
+    $readin = sqimap_run_command ($imapConnection, $ss, true, $result, $message);
     if (isset($languages[$squirrelmail_language]['CHARSET']) && strtolower($result) == 'no') {
-        $ss = $isid . " SEARCH CHARSET \"US-ASCII\" ALL $search_where \"$search_what\"\r\n";
-        fputs ($imapConnection, $ss);
-        $readin = sqimap_read_data ($imapConnection, $isid, true, $result, $message);
+        $ss = "SEARCH CHARSET \"US-ASCII\" ALL $search_where \"$search_what\"";
+        $readin = sqimap_run_command ($imapConnection, $ss, true, $result, $message);
     }
 
     unset($messagelist); $msgs=""; $c = 0;
@@ -141,10 +140,12 @@ function sqimap_search($imapConnection,$search_where,$search_what,$mailbox,$colo
 
     if (count($messagelist) > 0) {
         $j=0;
-        if (!isset ($msg)) { $msg = ""; }
+        if (!isset ($msg)) { 
+            $msg = ''; 
+        }
 
         mail_message_listing_beginning( $imapConnection,
-            "move_messages.php?msg=$msg&mailbox=$urlMailbox&where=" . urlencode($search_where) . "&what=".urlencode($search_what),
+            "move_messages.php?msg=$msg&mailbox=$urlMailbox&pos=$pos&where=" . urlencode($search_where) . "&what=".urlencode($search_what),
             $mailbox,
             -1,
             '<b>' . _("Found") . ' ' . count($messagelist) . ' ' . _("messages") . '</b>',
@@ -160,4 +161,4 @@ function sqimap_search($imapConnection,$search_where,$search_what,$mailbox,$colo
     }
 }
 
-?>
\ No newline at end of file
+?>