",&text('search_results5', scalar(@rv), "$field", "$what")," ..
\n"; } else { # Just search by Subject and From in one folder ($mode, $words) = &parse_boolean($in{'search'}); if ($mode == 0) { # Can just do a single 'or' search @searchlist = map { ( [ 'subject', $_ ], [ 'from', $_ ] ) } @$words; @rv = &mailbox_search_mail(\@searchlist, 0, $folder); } elsif ($mode == 1) { # Need to do two 'and' searches and combine @searchlist1 = map { ( [ 'subject', $_ ] ) } @$words; @rv1 = &mailbox_search_mail(\@searchlist1, 1, $folder); @searchlist2 = map { ( [ 'from', $_ ] ) } @$words; @rv2 = &mailbox_search_mail(\@searchlist2, 1, $folder); @rv = @rv1; %gotidx = map { $_->{'idx'}, 1 } @rv; foreach $mail (@rv2) { push(@rv, $mail) if (!$gotidx{$mail->{'idx'}}); } } else { &error($text{'search_eboolean'}); } print "
",&text('search_results2', scalar(@rv), "$in{'search'}")," ..
\n"; } foreach $mail (@rv) { $mail->{'folder'} = $folder; } } else { # Complex search, perhaps over multiple folders! if ($in{'folder'} == -2) { @sfolders = grep { !$_->{'remote'} } @folders; $multi_folder = 1; } elsif ($in{'folder'} == -1) { @sfolders = @folders; $multi_folder = 1; } else { @sfolders = ( $folder ); } foreach $sf (@sfolders) { local @frv = &mailbox_search_mail(\@fields, $in{'and'}, $sf); foreach $mail (@frv) { $mail->{'folder'} = $sf; } push(@rv, @frv); } print "
",&text('search_results4', scalar(@rv))," ..
\n"; } @rv = reverse(@rv); # Show list of messages, with form if (@rv) { print &ui_form_start("delete_mail.cgi", "post"); print &ui_hidden("user", $in{'user'}); print &ui_hidden("dom", $in{'dom'}); print &ui_hidden("folder", $in{'folder'}); if ($config{'top_buttons'} && !$multi_folder) { &show_buttons(1, \@folders, $folder, \@rv, $in{'user'}, 1); } &show_mail_table(\@rv, $multi_folder ? undef : $ofolder, 0); if (!$multi_folder) { &show_buttons(2, \@folders, $folder, \@rv, $in{'user'}, 1); } print &ui_form_end(); } else { print "$text{'search_none'}
\n"; } &ui_print_footer($in{'simple'} ? ( ) : ( "search_form.cgi?folder=$in{'folder'}", $text{'sform_return'} ), "list_mail.cgi?user=$in{'user'}&folder=$in{'folder'}&dom=$in{'dom'}", $text{'mail_return'}, &user_list_link(), $text{'index_return'});