Handle hostnames with upper-case letters
[webmin.git] / mailboxes / search_form.cgi
1 #!/usr/local/bin/perl
2 # search_form.cgi
3 # Display a form for searching a mailbox
4
5 require './mailboxes-lib.pl';
6 &ReadParse();
7 &can_user($in{'user'}) || &error($text{'mail_ecannot'});
8
9 @folders = &list_user_folders_sorted($in{'user'});
10 ($folder) = grep { $_->{'index'} == $in{'folder'} } @folders;
11 &ui_print_header(undef, $text{'sform_title'}, "", undef, 0, 0, undef,
12         &folder_link($in{'user'}, $folder));
13
14 # Start of form
15 print &ui_form_start("mail_search.cgi");
16 print &ui_hidden("user", $in{'user'});
17 print &ui_hidden("ofolder", $in{'folder'});
18 print &ui_table_start($text{'sform_header'}, "width=100%", 2);
19
20 # And/or mode
21 print &ui_table_row($text{'sform_andmode'},
22                 &ui_radio("and", 1, [ [ 1, $text{'sform_and'} ],
23                                       [ 0, $text{'sform_or'} ] ]));
24
25 # Criteria table
26 $ctable = &ui_columns_start([ ], 50, 1);
27
28 for($i=0; $i<=4; $i++) {
29         local @cols;
30         push(@cols, $text{'sform_where'});
31         push(@cols, &ui_select("field_$i", undef,
32                         [ [ undef, "&nbsp;" ],
33                           map { [ $_, $_ eq 'all' ? $text{'sform_allmsg'}
34                                                   : $text{"sform_".$_} ] }
35                               ( 'from', 'subject', 'to', 'cc', 'date',
36                                 'body', 'headers', 'all', 'size') ]));
37
38         push(@cols, &ui_select("neg_$i", 0,
39                         [ [ 0, $text{'sform_neg0'} ],
40                           [ 1, $text{'sform_neg1'} ] ]));
41
42         push(@cols, $text{'sform_text'});
43         push(@cols, &ui_textbox("what_$i", undef, 30));
44         $ctable .= &ui_columns_row(\@cols, [ map { "nowrap" } @cols ]);
45         }
46 $ctable .= &ui_columns_end();
47 print &ui_table_row(" ", $ctable, 1);
48
49 # Folder to search
50 print &ui_table_row($text{'sform_folder2'},
51         &folder_select(\@folders, $folder, "folder",
52                        [ [ -1, $text{'sform_all'} ] ]));
53
54 print &ui_table_end();
55 print &ui_form_end([ [ undef, $text{'sform_ok'} ] ]);
56
57 &ui_print_footer("list_mail.cgi?folder=$in{'folder'}&user=".
58                   &urlize($in{'user'}), $text{'mail_return'},
59                  "", $text{'index_return'});
60