Handle hostnames with upper-case letters
[webmin.git] / custom / edit_file.cgi
1 #!/usr/local/bin/perl
2 # edit_file.cgi
3 # Display a file editor and its options
4
5 require './custom-lib.pl';
6 &ReadParse();
7
8 $access{'edit'} || &error($text{'file_ecannot'});
9 if ($in{'new'}) {
10         &ui_print_header(undef, $text{'fcreate_title'}, "", "fcreate");
11         if ($in{'clone'}) {
12                 $edit = &get_command($in{'id'}, $in{'idx'});
13                 }
14         }
15 else {
16         &ui_print_header(undef, $text{'fedit_title'}, "", "fedit");
17         $edit = &get_command($in{'id'}, $in{'idx'});
18         }
19
20 print &ui_form_start("save_file.cgi", "post");
21 print &ui_hidden("new", $in{'new'});
22 print &ui_hidden("id", $edit->{'id'});
23 print &ui_table_start($text{'file_details'}, "width=100%", 2);
24
25 if (!$in{'new'}) {
26         print &ui_table_row(&hlink($text{'file_id'}, "fileid"),
27                 "<tt>$edit->{'id'}</tt>");
28         }
29
30 # Description, text and HTML
31 print &ui_table_row(&hlink($text{'edit_desc'}, "desc"),
32         &ui_textbox("desc", $edit->{'desc'}, 60));
33 print &ui_table_row(&hlink($text{'edit_desc2'}, "desc2"),
34         &ui_textarea("html", $edit->{'html'}, 2, 60));
35
36 # File to edit, and environment checkbox
37 print &ui_table_row(&hlink($text{'file_edit'}, "file"),
38         &ui_textbox("edit", $edit->{'edit'}, 60)." ".
39         &file_chooser_button("edit", 0)."<br>".
40         &ui_checkbox("envs", 1, $text{'file_envs'}, $edit->{'envs'}));
41
42 # File owner and group
43 print &ui_table_row(&hlink($text{'file_owner'}, "owner"),
44         &ui_radio("owner_def", $edit->{'user'} ? 0 : 1,
45                   [ [ 1, $text{'file_leave'} ],
46                     [ 0, $text{'file_user'}." ".
47                          &ui_textbox("user", $edit->{'user'}, 13)." ".
48                          $text{'file_group'}." ".
49                          &ui_textbox("group", $edit->{'group'}, 13) ] ]));
50
51 # File permissions
52 print &ui_table_row(&hlink($text{'file_perms'}, "perms"),
53         &ui_opt_textbox("perms", $edit->{'perms'}, 3, $text{'file_leave'},
54                         $text{'file_set'}));
55
56 # Commands to run before and after
57 print &ui_table_row(&hlink($text{'file_beforeedit'}, "beforeedit"),
58         &ui_textbox("beforeedit", $edit->{'beforeedit'}, 60));
59 print &ui_table_row(&hlink($text{'file_before'}, "before"),
60         &ui_textbox("before", $edit->{'before'}, 60));
61 print &ui_table_row(&hlink($text{'file_after'}, "after"),
62         &ui_textbox("after", $edit->{'after'}, 60));
63
64 # Command ordering on main page
65 print &ui_table_row(&hlink($text{'edit_order'},"order"),
66         &ui_opt_textbox("order", $edit->{'order'} || "", 6, $text{'default'}));
67
68 # Visible in Usermin?
69 print &ui_table_row(&hlink($text{'edit_usermin'},"usermin"),
70         &ui_yesno_radio("usermin", $edit->{'usermin'}));
71
72 print &ui_table_end();
73
74 # Show parameters
75 &show_params_inputs($edit, 1, 1);
76
77 if ($in{'new'}) {
78         print &ui_form_end([ [ undef, $text{'create'} ] ]);
79         }
80 else {
81         print &ui_form_end([ [ undef, $text{'save'} ],
82                              [ 'clone', $text{'edit_clone'} ],
83                              [ 'delete', $text{'delete'} ] ]);
84         }
85
86 &ui_print_footer("", $text{'index_return'});
87