X-Git-Url: https://vcs.fsf.org/?a=blobdiff_plain;f=functions%2Fimap_search.php;h=d765c65f31c627260a52e56d3d87ce3401988c94;hb=4dc802325c7420b8d257b32ea2ce597e82711a83;hp=b40cb4f7d3bc92e67ef73d6665a5d117c3ae8467;hpb=98fe1e9ffb8c254a739f853d3b83c667b9f9f65e;p=squirrelmail.git diff --git a/functions/imap_search.php b/functions/imap_search.php index b40cb4f7..d765c65f 100644 --- a/functions/imap_search.php +++ b/functions/imap_search.php @@ -13,13 +13,19 @@ if (!isset($mime_php)) include("../functions/mime.php"); + $imap_search_php = true; + function sqimap_search($imapConnection,$search_where,$search_what,$mailbox,$color) { - global $msgs; + global $msgs, $message_highlight_list, $squirrelmail_language, $languages, $index_order; $urlMailbox = urlencode($mailbox); # Construct the Search QuERY - $ss = "a001 SEARCH ALL $search_where \"$search_what\"\r\n"; + if ($languages[$squirrelmail_language]["CHARSET"]) { + $ss = "a001 SEARCH CHARSET ".$languages[$squirrelmail_language]["CHARSET"]." ALL $search_where \"$search_what\"\r\n"; + } else { + $ss = "a001 SEARCH ALL $search_where \"$search_what\"\r\n"; + } fputs($imapConnection,$ss); # Read Data Back From IMAP @@ -48,6 +54,7 @@ function sqimap_search($imapConnection,$search_where,$search_what,$mailbox,$colo # HACKED CODED FROM ANOTHER FUNCTION, Could Probably dump this and mondify # exsitising code with a search true/false varible. + global $sent_folder; for ($q = 0; $q < count($messagelist); $q++) { $messagelist[$q] = trim($messagelist[$q]); @@ -55,9 +62,13 @@ function sqimap_search($imapConnection,$search_where,$search_what,$mailbox,$colo $hdr = sqimap_get_small_header ($imapConnection, $messagelist[$q], true); else $hdr = sqimap_get_small_header ($imapConnection, $messagelist[$q], false); - $from[$q] = $hdr->from; - $date[$q] = $hdr->date; - $subject[$q] = $hdr->subject; + + $from[$q] = $hdr->from; + $date[$q] = $hdr->date; + $subject[$q] = $hdr->subject; + $to[$q] = $hdr->to; + $priority[$q] = $hdr->priority; + $cc[$q] = $hdr->cc; $id[$q] = $messagelist[$q]; $flags[$q] = sqimap_get_flags ($imapConnection, $messagelist[$q]); @@ -70,9 +81,14 @@ function sqimap_search($imapConnection,$search_where,$search_what,$mailbox,$colo $messages[$j]["TIME_STAMP"] = getTimeStamp($tmpdate); $messages[$j]["DATE_STRING"] = getDateString($messages[$j]["TIME_STAMP"]); - $messages[$j]["ID"] = $id[$j]; + $messages[$j]["ID"] = $id[$j]; $messages[$j]["FROM"] = decodeHeader($from[$j]); + $messages[$j]["FROM-SORT"] = strtolower(sqimap_find_displayable_name(decodeHeader($from[$j]))); $messages[$j]["SUBJECT"] = decodeHeader($subject[$j]); + $messages[$j]["SUBJECT-SORT"] = strtolower(decodeHeader($subject[$j])); + $messages[$j]["TO"] = decodeHeader($to[$j]); + $messages[$j]["PRIORITY"] = $priority[$j]; + $messages[$j]["CC"] = $cc[$j]; $num = 0; while ($num < count($flags[$j])) { @@ -110,63 +126,16 @@ function sqimap_search($imapConnection,$search_where,$search_what,$mailbox,$colo // There's gotta be messages in the array for it to sort them. - # Carn't Use the Display messages function it assumes messages are in order. - # Again More code Hacked from else where - # AT THE MOMENT YOU CARN'T SORT SEARCH RESULTS - # ACTULLY THE CODE IS PROLLY BROKEN ANY HOW! - if (count($messagelist) > 0) { $j=0; - echo "
" . _("Found") . " " . count($messagelist) . " " . _("messages") . "
\n"; - echo "
\n"; - echo ""; - echo ""; - echo "
"; - - echo "\n\n\n
"; - echo "\n"; - echo " \n"; - echo " \n"; - echo " "; - echo " \n"; - - echo "
\n"; - echo " ". _("Move selected to:") .""; - echo " "; - echo " \n"; - - echo " \n"; - echo "  ". _("checked messages") ."\n"; - echo "
\n\n\n"; - echo "
"; - echo ""; - echo ""; - echo " "; - /** FROM HEADER **/ - if ($mailbox == $sent_folder) - echo " "; - else - echo " "; - /** DATE HEADER **/ - echo " "; - echo " \n"; - /** SUBJECT HEADER **/ - echo " \n"; - echo ""; + mail_message_listing_beginning($imapConnection, + "move_messages.php?msg=$msg&mailbox=$urlMailbox&where=".urlencode($search_where)."&what=".urlencode($search_what), + '', -1, '' . _("Found") . ' ' . count($messagelist) . ' ' . _("messages") . '', + ' '); + while ($j < count($msgs)) { printMessageInfo($imapConnection, $msgs[$j]["ID"], 0, $j, $mailbox, "", 0, $search_where, $search_what); - //echo $msgs[$j]["SUBJECT"]."
"; $j++; } echo "
 ". _("To") ."". _("From") ."". _("Date") ." ". _("Subject") ."
";