Handle hostnames with upper-case letters
[webmin.git] / mailcap / edit.cgi
1 #!/usr/local/bin/perl
2 # Show a form for editing or creating a mailcap entry
3
4 require './mailcap-lib.pl';
5 &ReadParse();
6 if ($in{'new'}) {
7         &ui_print_header(undef, $text{'edit_title1'}, "");
8         $mailcap = { 'enabled' => 1 };
9         }
10 else {
11         &ui_print_header(undef, $text{'edit_title2'}, "");
12         @mailcap = &list_mailcap();
13         ($mailcap) = grep { $_->{'index'} == $in{'index'} } @mailcap;
14         $mailcap || &error($text{'edit_egone'});
15         }
16 $args = $mailcap->{'args'};
17
18 # Form header
19 print &ui_form_start("save.cgi", "post");
20 print &ui_hidden("new", $in{'new'}),"\n";
21 print &ui_hidden("index", $in{'index'}),"\n";
22 print &ui_table_start($text{'edit_header'}, "width=100%", 2);
23
24 # MIME type, program and description fields
25 print &ui_table_row($text{'edit_type'},
26                     &ui_textbox("type", $mailcap->{'type'}, 30));
27 print &ui_table_row($text{'edit_enabled'},
28                     &ui_yesno_radio("enabled", int($mailcap->{'enabled'})));
29 print &ui_table_row($text{'edit_program'},
30                     &ui_textbox("program", $mailcap->{'program'}, 70));
31 if ($mailcap->{'cmt'} =~ /\n/) {
32         # Multi-line comment from file comments
33         print &ui_table_row($text{'edit_cmt'},
34                     &ui_textarea("cmt", $mailcap->{'cmt'}, 3, 70, "off"));
35         }
36 else {
37         # Single line comment from file comment
38         print &ui_table_row($text{'edit_cmt'},
39                     &ui_textbox("cmt", $mailcap->{'cmt'}, 70));
40         }
41
42 # Other options
43 print &ui_table_hr();
44
45 print &ui_table_row($text{'edit_test'},
46     &ui_opt_textbox("test", $args->{'test'}, 50, $text{'edit_none'}));
47
48 print &ui_table_row($text{'edit_term'},
49         &ui_yesno_radio("term", defined($args->{'needsterminal'}) ? 1 : 0));
50 print &ui_table_row($text{'edit_copious'},
51         &ui_yesno_radio("copious", defined($args->{'copiousoutput'}) ? 1 : 0));
52
53 print &ui_table_row($text{'edit_desc'},
54     &ui_opt_textbox("desc", $args->{'description'}, 50, $text{'edit_none'}));
55
56 # Form footer
57 print &ui_table_end();
58 print &ui_form_end([
59         $in{'new'} ? ( [ "create", $text{'create'} ] )
60                    : ( [ "save", $text{'save'} ],
61                        [ "delete", $text{'delete'} ] ) ]);
62
63 &ui_print_footer("", $text{'index_return'});
64