X-Git-Url: https://vcs.fsf.org/?a=blobdiff_plain;f=src%2Fsearch.php;h=72482acb3cd7dd66257bc664d5fb757bf4f1009f;hb=b65c5db0af524fb167e8cd73feb572e7cf0af90b;hp=b3ad10440b54393db443b24f8acb07d37d763c3f;hpb=3dffe83ff7a657794208f04e87e3ca7f6448d2cc;p=squirrelmail.git diff --git a/src/search.php b/src/search.php index b3ad1044..72482acb 100644 --- a/src/search.php +++ b/src/search.php @@ -14,10 +14,11 @@ define('SM_PATH','../'); /* SquirrelMail required files. */ require_once(SM_PATH . 'include/validate.php'); -require_once(SM_PATH . 'functions/imap.php'); +require_once(SM_PATH . 'functions/strings.php'); require_once(SM_PATH . 'functions/imap_asearch.php'); require_once(SM_PATH . 'functions/imap_mailbox.php'); -require_once(SM_PATH . 'functions/strings.php'); +require_once(SM_PATH . 'functions/imap_messages.php'); +require_once(SM_PATH . 'functions/mailbox_display.php'); //getButton()... function asearch_unhtml_strcoll($a, $b) { @@ -357,7 +358,7 @@ function asearch_get_query_display($color, $mailbox_array, $biop_array, $unop_ar if ($what_type == 'adate') $what_display = asearch_get_date_display($what); else - $what_display = htmlspecialchars($what); + $what_display = htmlentities($what); $what_display = ' ' . $what_display . ''; } } @@ -394,8 +395,8 @@ function asearch_print_query_array($query_array, $query_keys, $action_array, $ti global $color; echo "
\n"; - echo html_tag( 'table', '', 'center', $color[9], 'width="95%" cellpadding="1" cellspacing="1" border="0"' ); - echo html_tag( 'tr', html_tag( 'td', asearch_get_title_display($color, $title), 'center', $color[5], 'colspan=5')); + echo html_tag('table', '', 'center', $color[9], 'width="95%" cellpadding="1" cellspacing="1" border="0"'); + echo html_tag('tr', html_tag('td', asearch_get_title_display($color, $title), 'center', $color[5], 'colspan=5')); $main_key = $query_keys[0]; $query_count = count($query_array[$main_key]); for ($query_num=0, $row_num=0; $query_num<$query_count; $query_num++) { @@ -414,8 +415,8 @@ function asearch_print_query_array($query_array, $query_keys, $action_array, $ti $exclude_array = $search_array[5]; $query_display = asearch_get_query_display($color, $mailbox_array, $biop_array, $unop_array, $where_array, $what_array, $exclude_array); - echo html_tag( 'td', $query_num+1, 'right'); - echo html_tag( 'td', $query_display, 'center', '', 'width="80%"'); + echo html_tag('td', $query_num+1, 'right'); + echo html_tag('td', $query_display, 'center', '', 'width="80%"'); foreach ($action_array as $action => $action_display) { echo html_tag('td', '' . $action_display . '', 'center'); } @@ -459,9 +460,9 @@ function asearch_print_recent($data_dir, $username) } /* build an ' . "\n"; + return '' . "\n"; } /* build a ' .*/ '' . _("In") . ''; echo "\n"; - echo html_tag( 'td', '', 'center' ); + echo html_tag('td', '', 'center'); /* Mailbox list */ - echo ''; + if (($mailbox != 'All Folders') && (!asearch_mailbox_exists($mailbox, $boxes))) + echo asearch_opt($mailbox, $mailbox, '[' . _("Missing") . '] ' . asearch_get_mailbox_display($mailbox)); + echo asearch_opt('All Folders', $mailbox, '[' . asearch_get_mailbox_display('All Folders') . ']'); echo sqimap_mailbox_option_list($imapConnection, array(strtolower($mailbox)), 0, $boxes); echo '' . "\n"; /* Unary operator and Search location */ if (empty($where)) $where = 'FROM'; - echo html_tag( 'td', + echo html_tag('td', asearch_opt_array('unop[' . $row_num . ']', $imap_asearch_unops, $unop) . asearch_opt_array('where[' . $row_num . ']', $imap_asearch_options, $where), 'center'); @@ -513,11 +523,11 @@ function asearch_print_form_row($imapConnection, $boxes, $mailbox, $biop, $unop, $what_disp = str_replace('\\\\', '\\', $what_disp); $what_disp = str_replace('\\"', '"', $what_disp); $what_disp = str_replace('"', '"', $what_disp);*/ - $what_disp = htmlspecialchars($what, ENT_QUOTES); - echo html_tag( 'td', '', 'center' ) . "\n"; + $what_disp = htmlspecialchars($what); + echo html_tag('td', '', 'center') . "\n"; /* Exclude criteria */ - echo html_tag( 'td', + echo html_tag('td', _("Exclude Criteria:") . '', 'center', '') . "\n"; echo "\n"; @@ -533,8 +543,8 @@ function asearch_print_form($imapConnection, $boxes, $mailbox_array, $biop_array echo "
\n"; echo '
' . "\n"; - echo html_tag( 'table', '', 'center', $color[9], 'width="100%" cellpadding="1" cellspacing="1" border="0"' ); - echo html_tag( 'tr', html_tag( 'td', asearch_get_title_display($color, _("Search Criteria")), 'center', $color[5], 'colspan=5')); + echo html_tag('table', '', 'center', $color[9], 'width="100%" cellpadding="1" cellspacing="1" border="0"'); + echo html_tag('tr', html_tag('td', asearch_get_title_display($color, _("Search Criteria")), 'center', $color[5], 'colspan=5')); $row_count = count($where_array) + $add_criteria; $mailbox = ''; for ($row_num = 0; $row_num < $row_count; $row_num++) { @@ -545,7 +555,7 @@ function asearch_print_form($imapConnection, $boxes, $mailbox_array, $biop_array $mailbox = $boxes[0]['unformatted']; $biop = strip_tags(asearch_nz($biop_array[$row_num])); $unop = strip_tags(asearch_nz($unop_array[$row_num])); - $where = strip_tags(asearch_nz($where_array[$row_num])); + $where = asearch_nz($where_array[$row_num]); $what = asearch_nz($what_array[$row_num]); $exclude = strip_tags(asearch_nz($exclude_array[$row_num])); asearch_print_form_row($imapConnection, $boxes, $mailbox, $biop, $unop, $where, $what, $exclude, $row_num); @@ -553,7 +563,7 @@ function asearch_print_form($imapConnection, $boxes, $mailbox_array, $biop_array echo '' . "\n"; /* Submit buttons */ - echo html_tag('table', '', 'center', $color[9], 'width="100%" cellpadding="1" cellspacing="0" border="0"' ); + echo html_tag('table', '', 'center', $color[9], 'width="100%" cellpadding="1" cellspacing="0" border="0"'); echo html_tag('tr', html_tag('td', getButton('SUBMIT', 'submit', $search_button_html), 'center') . "\n" . html_tag('td', getButton('SUBMIT', 'submit', $add_criteria_button_html), 'center') . "\n" @@ -573,7 +583,7 @@ function asearch_print_mailbox_msgs($msgs, $mailbox, $cnt, $imapConnection, $whe if ($cnt > 0) { $msort = calc_msort($msgs, $sort); $showbox = asearch_get_mailbox_display($mailbox); - echo html_tag( 'div', '' . _("Folder:") . ' '. $showbox.'','center') . "\n"; + echo html_tag('div', '' . _("Folder:") . ' '. $showbox.'','center') . "\n"; $msg_cnt_str = get_msgcnt_str(1, $cnt, $cnt); $toggle_all = get_selectall_link(1, $sort); @@ -828,12 +838,13 @@ else { $imapConnection = sqimap_login($username, $key, $imapServerAddress, $imapPort, 0); /* get mailbox names once here */ $boxes = sqimap_mailbox_list($imapConnection); - -if (isset($mailbox_array[0])) { - $mailbox = strip_tags($mailbox_array[0]); -} -if (empty($mailbox)) +/* ensure we have a valid default mailbox name */ +$mailbox = strip_tags(asearch_nz($mailbox_array[0])); +if (($mailbox == '') || ($mailbox == 'None')) { //Workaround for sm quirk IMHO (what if I really have a mailbox called None?) $mailbox = $boxes[0]['unformatted']; + $mailbox_array[0] = $mailbox; +} + if (isset($composenew) && $composenew) { $comp_uri = "../src/compose.php?mailbox=" . urlencode($mailbox) . "&session=$composesession&attachedmessages=true&"; @@ -845,9 +856,9 @@ else do_hook('search_before_form'); if (!$search_silent) { - echo html_tag( 'table', - html_tag( 'tr', "\n" . - html_tag( 'td', asearch_get_title_display($color, _("Search")), 'center', $color[0] ) + echo html_tag('table', + html_tag('tr', "\n" . + html_tag('td', asearch_get_title_display($color, _("Search")), 'center', $color[0]) ) , '', '', 'width="100%"') . "\n"; asearch_print_saved($data_dir, $username); @@ -877,7 +888,7 @@ if (! isset($use_mailbox_cache)) { /* There is a problem with registered vars in 4.1 */ /* -if( substr( phpversion(), 0, 3 ) == '4.1' ) { +if(substr(phpversion(), 0, 3) == '4.1') { $use_mailbox_cache = FALSE; } */ @@ -885,14 +896,14 @@ if( substr( phpversion(), 0, 3 ) == '4.1' ) { do_hook('search_after_form'); if ($submit == $search_button_text) { - echo html_tag( 'table', '', 'center', $color[9], 'width="100%" cellpadding="1" cellspacing="0" border="0"' ); - echo html_tag( 'tr', html_tag( 'td', asearch_get_title_display($color, _("Search Results")), 'center', $color[5])); - echo html_tag( 'tr', html_tag( 'td', asearch_get_query_display($color, $mailbox_array, $biop_array, $unop_array, $where_array, $what_array, $exclude_array), 'center', $color[4])); + echo html_tag('table', '', 'center', $color[9], 'width="100%" cellpadding="1" cellspacing="0" border="0"'); + echo html_tag('tr', html_tag('td', asearch_get_title_display($color, _("Search Results")), 'center', $color[5])); + echo html_tag('tr', html_tag('td', asearch_get_query_display($color, $mailbox_array, $biop_array, $unop_array, $where_array, $what_array, $exclude_array), 'center', $color[4])); echo '
' . "\n"; $query_error = asearch_check_query($where_array, $what_array, $exclude_array); if ($query_error != '') - echo '
' . html_tag( 'div', asearch_get_error_display($color, $query_error), 'center' ) . "\n"; + echo '
' . html_tag('div', asearch_get_error_display($color, $query_error), 'center') . "\n"; else { $old_allow_thread_sort = 0; if ($allow_thread_sort == TRUE) { @@ -908,7 +919,7 @@ if ($submit == $search_button_text) { $mboxes_msgs = sqimap_asearch($imapConnection, $mailbox_array, $biop_array, $unop_array, $where_array, $what_array, $exclude_array, $mboxes_array); if (empty($mboxes_msgs)) - echo '
' . html_tag( 'div', asearch_get_error_display($color, _("No Messages Found")), 'center' ) . "\n"; + echo '
' . html_tag('div', asearch_get_error_display($color, _("No Messages Found")), 'center') . "\n"; else { foreach($mboxes_msgs as $mailbox => $msgs) { sqimap_mailbox_select($imapConnection, $mailbox);