Handle hostnames with upper-case letters
[webmin.git] / webmin / edit_log.cgi
1 #!/usr/local/bin/perl
2 # edit_log.cgi
3 # Logging config form
4
5 require './webmin-lib.pl';
6 &ui_print_header(undef, $text{'log_title'}, "");
7 &foreign_require("acl", "acl-lib.pl");
8 &get_miniserv_config(\%miniserv);
9
10 print &text('log_desc', "<tt>$miniserv{'logfile'}</tt>"),"<p>\n";
11 print &text('log_desc2', "<tt>$webmin_logfile</tt>"),"<p>\n";
12
13 print &ui_form_start("change_log.cgi", "post");
14 print &ui_table_start($text{'log_header'}, undef, 2);
15
16 # Is logging enabled?
17 print &ui_table_row($text{'log_status'},
18         &ui_radio("log", $miniserv{'log'} ? 1 : 0,
19                   [ [ 1, $text{'log_enable'} ],
20                     [ 0, $text{'log_disable'} ] ]));
21
22 # Log resolved hostnames
23 print &ui_table_row($text{'log_resolv'},
24         &ui_yesno_radio("loghost", int($miniserv{'loghost'})));
25
26 # Use common log format
27 print &ui_table_row($text{'log_clf'},
28         &ui_yesno_radio("logclf", int($miniserv{'logclf'})));
29
30 # Clear logs regularly
31 print &ui_table_row($text{'log_clear2'},
32         &ui_radio("logclear", int($miniserv{'logclear'}),
33                   [ [ 1, &text('log_period',
34                         &ui_textbox("logtime", $miniserv{'logtime'}, 10)) ],
35                     [ 0, $text{'no'} ] ]));
36
37 # Webmin users to log for
38 print &ui_table_row($text{'log_forusers'},
39         &ui_radio("uall", $gconfig{'logusers'} ? 0 : 1,
40                   [ [ 1, $text{'log_uall'} ], [ 0, $text{'log_users'} ] ]).
41         "<br>\n".
42         &ui_select("users", [ split(/\s+/, $gconfig{'logusers'}) ],
43                    [ map { [ $_->{'name'} ] }
44                          sort { $a->{'name'} cmp $b->{'name'} } 
45                               &acl::list_users() ],
46                    5, 1));
47
48 # Modules to log in
49 print &ui_table_row($text{'log_inmods'},
50         &ui_radio("mall", $gconfig{'logmodules'} ? 0 : 1,
51                   [ [ 1, $text{'log_mall'} ], [ 0, $text{'log_modules'} ] ]).
52         "<br>\n".
53         &ui_select("modules", [ split(/\s+/, $gconfig{'logmodules'}) ],
54                    [ map { [ $_->{'dir'}, $_->{'desc'} ] }
55                          grep { -r &module_root_directory($_)."/log_parser.pl" }
56                               sort { $a->{'desc'} cmp $b->{'desc'} }
57                                    &get_all_module_infos() ],
58                    5, 1));
59
60 # Log logins and logouts?
61 if (!$miniserv{'login_script'} ||
62     $miniserv{'login_script'} eq $record_login_cmd) {
63         print &ui_table_row($text{'log_login'},
64                 &ui_yesno_radio("login",
65                     $miniserv{'login_script'} eq $record_login_cmd));
66         }
67
68 print &ui_table_row($text{'log_files'},
69         &ui_yesno_radio("logfiles", int($gconfig{'logfiles'})));
70
71 print &ui_table_row($text{'log_fullfiles'},
72         &ui_yesno_radio("logfullfiles", int($gconfig{'logfullfiles'})));
73
74 print &ui_table_row($text{'log_perms'},
75         &ui_opt_textbox("perms", $gconfig{'logperms'}, 5, $text{'default'}));
76
77 eval "use Sys::Syslog qw(:DEFAULT setlogsock)";
78 if (!$@) {
79         print &ui_table_row($text{'log_syslog'},
80                 &ui_yesno_radio("logsyslog", int($gconfig{'logsyslog'})));
81         }
82
83 print &ui_table_end();
84 print &ui_form_end([ [ "save", $text{'save'} ] ]);
85
86 &ui_print_footer("", $text{'index_return'});
87