Handle hostnames with upper-case letters
[webmin.git] / phpini / edit_errors.cgi
1 #!/usr/local/bin/perl
2 # Show options related to error reporting and logging
3
4 require './phpini-lib.pl';
5 &ReadParse();
6 &can_php_config($in{'file'}) || &error($text{'list_ecannot'});
7 $conf = &get_config($in{'file'});
8
9 &ui_print_header("<tt>$in{'file'}</tt>", $text{'errors_title'}, "");
10
11 print &ui_form_start("save_errors.cgi", "post");
12 print &ui_hidden("file", $in{'file'}),"\n";
13 print &ui_table_start($text{'errors_header'}, "width=100%", 4);
14
15 # Show and log errors
16 print &ui_table_row($text{'errors_display'},
17                     &onoff_radio("display_errors"));
18 print &ui_table_row($text{'errors_log'},
19                     &onoff_radio("log_errors"));
20
21 # Ignore repeated
22 print &ui_table_row($text{'errors_ignore'},
23                     &onoff_radio("ignore_repeated_errors"));
24 print &ui_table_row($text{'errors_source'},
25                     &onoff_radio("ignore_repeated_source"));
26
27 # Error types to show
28 $errs = &find_value("error_reporting", $conf);
29 if ($errs =~ /^[A-Z_\|]*$/) {
30         # An | of error bits
31         @errs = split(/\|/, $errs);
32         $i = 0;
33         $etable = "<table>\n";
34         foreach $et ("E_ALL", "E_ERROR", "E_WARNING", "E_PARSE", "E_NOTICE",
35                      "E_CORE_ERROR", "E_CORE_WARNING", "E_COMPILE_ERROR",
36                      "E_COMPILE_WARNING", "E_USER_ERROR", "E_USER_WARNING",
37                      "E_USER_NOTICE") {
38                 $etable .= "<tr>\n" if ($i%4 == 0);
39                 $etable .= "<td>".
40                     &ui_checkbox("error_bits", $et,
41                         $text{'errors_'.$et}, &indexof($et, @errs) >= 0).
42                     "</td>\n";
43                 $etable .= "</tr>\n" if ($i++%4 == 3);
44                 }
45         $etable .= "</table>\n";
46         print &ui_table_row($text{'errors_bits'}, $etable, 3);
47         }
48 else {
49         # Custom expression
50         print &ui_table_row($text{'errors_reporting'},
51             &ui_opt_textbox("error_reporting", $errs, 60, $text{'default'}), 3);
52         }
53
54 # Max error length
55 $ml = &find_value("log_errors_max_len", $conf);
56 print &ui_table_row($text{'errors_maxlen'},
57                     &ui_opt_textbox("log_errors_max_len", $ml || undef, 5,
58                                     $text{'errors_unlimited'}));
59
60 # Where to log errors
61 $el = &find_value("error_log", $conf);
62 print &ui_table_row($text{'errors_file'},
63         &ui_radio("error_log_def", $el eq "syslog" ? 1 : $el ? 2 : 0,
64                   [ [ 0, $text{'errors_none'} ],
65                     [ 1, $text{'errors_syslog'} ],
66                     [ 2, &text('errors_other',
67                        &ui_textbox("error_log", $el eq "syslog" ? "" : $el, 40))
68                     ] ]), 3);
69
70 print &ui_table_end();
71 print &ui_form_end([ [ "save", $text{'save'} ] ]);
72
73 &ui_print_footer("list_ini.cgi?file=".&urlize($in{'file'}),
74                  $text{'list_return'});