diff --git a/functions/imap_search.php b/functions/imap_search.php index 300beaad5..e1cc1de27 100644 --- a/functions/imap_search.php +++ b/functions/imap_search.php @@ -11,165 +11,152 @@ * $Id$ */ -/*****************************************************************/ -/*** THIS FILE NEEDS TO HAVE ITS FORMATTING FIXED!!! ***/ -/*** PLEASE DO SO AND REMOVE THIS COMMENT SECTION. ***/ -/*** + Base level indent should begin at left margin, as ***/ -/*** the require_once below. ***/ -/*** + All identation should consist of four space blocks ***/ -/*** + Tab characters are evil. ***/ -/*** + all comments should use "slash-star ... star-slash" ***/ -/*** style -- no pound characters, no slash-slash style ***/ -/*** + FLOW CONTROL STATEMENTS (if, while, etc) SHOULD ***/ -/*** ALWAYS USE { AND } CHARACTERS!!! ***/ -/*** + Please use ' instead of ", when possible. Note " ***/ -/*** should always be used in _( ) function calls. ***/ -/*** Thank you for your help making the SM code more readable. ***/ -/*****************************************************************/ - require_once('../functions/imap.php'); require_once('../functions/date.php'); 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) { + global $msgs, $message_highlight_list, $squirrelmail_language, $languages, $index_order; - global $msgs, $message_highlight_list, $squirrelmail_language, $languages, $index_order; + $urlMailbox = urlencode($mailbox); + $isid = sqimap_session_id(); - $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"; + } else { + $ss .= " SEARCH ALL $search_where \"$search_what\"\r\n"; + } + fputs($imapConnection,$ss); - /* 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"; - } else { - $ss .= " SEARCH ALL $search_where \"$search_what\"\r\n"; - } - fputs($imapConnection,$ss); - - # Read Data Back From IMAP - $readin = sqimap_read_data ($imapConnection, $isid, false, $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); - } - - unset($messagelist); $msgs=""; $c = 0; - - /* Keep going till we find the SEARCH responce */ - while ($c < count( $readin )) { - - /* Check to see if a SEARCH Responce was recived */ - if (substr($readin[$c],0,9) == "* SEARCH ") - $messagelist = explode(" ",substr($readin[$c],9)); - else if (isset($errors)) - $errors = $errors.$readin[$c]; - else - $errors = $readin[$c]; - $c++; - } - - #If nothing is found * SEARCH should be the first error else echo errors - if (isset($errors) && strstr($errors,"* SEARCH")) { - echo '
' . _("No Messages Found") . '
'; - return; - } else if (isset($errors)) { - echo ""; - } - - # 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++) { - $id[$q] = trim($messagelist[$q]); - } - $issent = ($mailbox == $sent_folder); - $hdr_list = sqimap_get_small_header_list($imapConnection, $id, $issent); - $flags = sqimap_get_flags_list($imapConnection, $id, $issent); - foreach ($hdr_list as $hdr) { - $from[] = $hdr->from; - $date[] = $hdr->date; - $subject[] = $hdr->subject; - $to[] = $hdr->to; - $priority[] = $hdr->priority; - $cc[] = $hdr->cc; - $size[] = $hdr->size; - $type[] = $hdr->type0; - } - - $j = 0; - while ($j < count($messagelist)) { - $date[$j] = ereg_replace(' ', ' ', $date[$j]); - $tmpdate = explode(" ", trim($date[$j])); - - $messages[$j]["TIME_STAMP"] = getTimeStamp($tmpdate); - $messages[$j]["DATE_STRING"] = getDateString($messages[$j]["TIME_STAMP"]); - $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]; - $messages[$j]["SIZE"] = $size[$j]; - $messages[$j]["TYPE0"] = $type[$j]; - - $num = 0; - while ($num < count($flags[$j])) { - if ($flags[$j][$num] == 'Deleted') { - $messages[$j]['FLAG_DELETED'] = true; - } else if ($flags[$j][$num] == 'Answered') { - $messages[$j]['FLAG_ANSWERED'] = true; - } else if ($flags[$j][$num] == 'Seen') { - $messages[$j]['FLAG_SEEN'] = true; - } else if ($flags[$j][$num] == 'Flagged') { - $messages[$j]['FLAG_FLAGGED'] = true; - } - $num++; - } - $j++; - } - - /** Find and remove the ones that are deleted */ - $i = 0; - $j = 0; - while ($j < count($messagelist)) { - if (isset($messages[$j]["FLAG_DELETED"]) && $messages[$j]["FLAG_DELETED"] == true) { - $j++; - continue; - } - $msgs[$i] = $messages[$j]; - - $i++; - $j++; - } - $numMessages = $i; - - // There's gotta be messages in the array for it to sort them. - - if (count($messagelist) > 0) { - $j=0; - if (!isset ($msg)) { $msg = ""; } - mail_message_listing_beginning($imapConnection, - "move_messages.php?msg=$msg&mailbox=$urlMailbox&where=".urlencode($search_where)."&what=".urlencode($search_what), - $mailbox, -1, '' . _("Found") . ' ' . count($messagelist) . ' ' . _("messages") . '', - ' '); - - - while ($j < count($msgs)) { - printMessageInfo($imapConnection, $msgs[$j]["ID"], 0, $j, $mailbox, "", 0, $search_where, $search_what); - $j++; - } - echo ''; - } + /* Read Data Back From IMAP */ + $readin = sqimap_read_data ($imapConnection, $isid, false, $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); } -?> + unset($messagelist); $msgs=""; $c = 0; + + /* Keep going till we find the SEARCH responce */ + while ($c < count( $readin )) { + + /* Check to see if a SEARCH Responce was recived */ + if (substr($readin[$c],0,9) == "* SEARCH ") + $messagelist = explode(" ",substr($readin[$c],9)); + else if (isset($errors)) + $errors = $errors.$readin[$c]; + else + $errors = $readin[$c]; + $c++; + } + + /* If nothing is found * SEARCH should be the first error else echo errors */ + if (isset($errors) && strstr($errors,"* SEARCH")) { + echo '
' . _("No Messages Found") . '
'; + return; + } else if (isset($errors)) { + echo ""; + } + + /* + 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++) { + $id[$q] = trim($messagelist[$q]); + } + $issent = ($mailbox == $sent_folder); + $hdr_list = sqimap_get_small_header_list($imapConnection, $id, $issent); + $flags = sqimap_get_flags_list($imapConnection, $id, $issent); + foreach ($hdr_list as $hdr) { + $from[] = $hdr->from; + $date[] = $hdr->date; + $subject[] = $hdr->subject; + $to[] = $hdr->to; + $priority[] = $hdr->priority; + $cc[] = $hdr->cc; + $size[] = $hdr->size; + $type[] = $hdr->type0; + } + + $j = 0; + while ($j < count($messagelist)) { + $date[$j] = ereg_replace(' ', ' ', $date[$j]); + $tmpdate = explode(" ", trim($date[$j])); + + $messages[$j]["TIME_STAMP"] = getTimeStamp($tmpdate); + $messages[$j]["DATE_STRING"] = getDateString($messages[$j]["TIME_STAMP"]); + $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]; + $messages[$j]["SIZE"] = $size[$j]; + $messages[$j]["TYPE0"] = $type[$j]; + + $num = 0; + while ($num < count($flags[$j])) { + if ($flags[$j][$num] == 'Deleted') { + $messages[$j]['FLAG_DELETED'] = true; + } else if ($flags[$j][$num] == 'Answered') { + $messages[$j]['FLAG_ANSWERED'] = true; + } else if ($flags[$j][$num] == 'Seen') { + $messages[$j]['FLAG_SEEN'] = true; + } else if ($flags[$j][$num] == 'Flagged') { + $messages[$j]['FLAG_FLAGGED'] = true; + } + $num++; + } + $j++; + } + + /* Find and remove the ones that are deleted */ + $i = 0; + $j = 0; + while ($j < count($messagelist)) { + if (isset($messages[$j]["FLAG_DELETED"]) && $messages[$j]["FLAG_DELETED"] == true) { + $j++; + continue; + } + $msgs[$i] = $messages[$j]; + + $i++; + $j++; + } + $numMessages = $i; + + /* There's gotta be messages in the array for it to sort them. */ + + if (count($messagelist) > 0) { + $j=0; + if (!isset ($msg)) { $msg = ""; } + + mail_message_listing_beginning( $imapConnection, + "move_messages.php?msg=$msg&mailbox=$urlMailbox&where=" . urlencode($search_where) . "&what=".urlencode($search_what), + $mailbox, + -1, + '' . _("Found") . ' ' . count($messagelist) . ' ' . _("messages") . '', + get_selectall_link($start_msg, $sort) ); + + + while ($j < count($msgs)) { + printMessageInfo($imapConnection, $msgs[$j]["ID"], 0, $j, $mailbox, '', 0, $search_where, $search_what); + $j++; + } + echo ''; + } +} + +?> \ No newline at end of file diff --git a/functions/mailbox_display.php b/functions/mailbox_display.php index 46f5f6cfd..fbf271c6e 100644 --- a/functions/mailbox_display.php +++ b/functions/mailbox_display.php @@ -385,8 +385,7 @@ function displayMessageArray($imapConnection, $num_msgs, $start_msg, &$msgs, $ms $msg = ''; } - mail_message_listing_beginning - ($imapConnection, + mail_message_listing_beginning( $imapConnection, "move_messages.php?msg=$msg&mailbox=$urlMailbox&startMessage=$start_msg", $mailbox, $sort, $msg_cnt_str, $paginator_str, $start_msg); diff --git a/src/search.php b/src/search.php index 9fedb9559..d385c90b5 100644 --- a/src/search.php +++ b/src/search.php @@ -9,98 +9,87 @@ * $Id$ */ -/*****************************************************************/ -/*** THIS FILE NEEDS TO HAVE ITS FORMATTING FIXED!!! ***/ -/*** PLEASE DO SO AND REMOVE THIS COMMENT SECTION. ***/ -/*** + Base level indent should begin at left margin, as ***/ -/*** the require_once below looks. ***/ -/*** + All identation should consist of four space blocks ***/ -/*** + Tab characters are evil. ***/ -/*** + all comments should use "slash-star ... star-slash" ***/ -/*** style -- no pound characters, no slash-slash style ***/ -/*** + FLOW CONTROL STATEMENTS (if, while, etc) SHOULD ***/ -/*** ALWAYS USE { AND } CHARACTERS!!! ***/ -/*** + Please use ' instead of ", when possible. Note " ***/ -/*** should always be used in _( ) function calls. ***/ -/*** Thank you for your help making the SM code more readable. ***/ -/*****************************************************************/ - require_once('../src/validate.php'); require_once('../functions/imap.php'); require_once('../functions/imap_search.php'); require_once('../functions/array.php'); - function s_opt( $val, $sel, $tit ) { - echo " \n"; +function s_opt( $val, $sel, $tit ) { + echo " \n"; +} - displayPageHeader($color, $mailbox); - $imapConnection = sqimap_login($username, $key, $imapServerAddress, $imapPort, 0); +displayPageHeader($color, $mailbox); +$imapConnection = sqimap_login($username, $key, $imapServerAddress, $imapPort, 0); - do_hook('search_before_form'); - echo "
\n". - " \n". - " \n". - '
\n". - "
"._("Search")."
\n". - "
'. +do_hook('search_before_form'); +echo "
\n". + " \n". + " \n". + ' \n". + " \n". + " \n". + "
\n". + "
"._("Search")."
\n". + "
'. - "
\n". - " \n". - " \n". - "
\n". - ' \n". + " \n". + " \n". - " '. - "\n". + " '. + "\n". - " \n". - " \n". - "
\n". + ' '. - " \n"; - if (!isset($what)) - $what = ''; - $what_disp = ereg_replace(',', ' ', $what); - $what_disp = str_replace('\\\\', '\\', $what_disp); - $what_disp = str_replace('\\"', '"', $what_disp); - $what_disp = str_replace('"', '"', $what_disp); - echo " \n". - '\n". - ''. + " \n"; +if (!isset($what)) { + $what = ''; +} +$what_disp = ereg_replace(',', ' ', $what); +$what_disp = str_replace('\\\\', '\\', $what_disp); +$what_disp = str_replace('\\"', '"', $what_disp); +$what_disp = str_replace('"', '"', $what_disp); +echo " \n". + '\n". + '\n" . - " \n". - " \n". - "
\n". - "". - "
"; - do_hook("search_after_form"); - if (isset($where) && $where && isset($what) && $what) { - sqimap_mailbox_select($imapConnection, $mailbox); - sqimap_search($imapConnection, $where, $what, $mailbox, $color); - } - do_hook("search_bottom"); - sqimap_logout ($imapConnection); -?> - +echo " \n" . + "
\n". + " \n". + "
\n". + "". + "
"; +do_hook("search_after_form"); +if (isset($where) && $where && isset($what) && $what) { + sqimap_mailbox_select($imapConnection, $mailbox); + sqimap_search($imapConnection, $where, $what, $mailbox, $color); +} +do_hook("search_bottom"); +sqimap_logout ($imapConnection); + +echo ''; + +?> \ No newline at end of file