Handle hostnames with upper-case letters
[webmin.git] / mysql / list_vars.cgi
1 #!/usr/local/bin/perl
2 # Show a list of MySQL runtime variables for editing
3
4 require './mysql-lib.pl';
5 $access{'perms'} == 1 || &error($text{'vars_ecannot'});
6 &ui_print_header(undef, $text{'vars_title'}, "", "vars");
7 &ReadParse();
8 %d = map { $_, 1 } split(/\0/, $in{'d'});
9
10 print &text('vars_desc', 'edit_cnf.cgi'),"<p>\n";
11
12 # Work out which ones can be edited
13 %canedit = map { $_->[0], 1 } &list_system_variables();
14
15 # Show search form
16 print &ui_form_start("list_vars.cgi");
17 print "<b>$text{'vars_search'}</b> ",
18       &ui_textbox("search", $in{'search'}, 20)," ",
19       &ui_submit($text{'vars_ok'});
20 print &ui_form_end();
21
22 $d = &execute_sql($master_db, "show variables".
23                  ($in{'search'} ? " like '%".quotemeta($in{'search'})."%'" : ""));
24 if (@{$d->{'data'}}) {
25         print &ui_form_start("save_vars.cgi");
26         print &ui_hidden("search", $in{'search'});
27         @tds = ( "width=5" );
28         print &ui_columns_start([ "",
29                                   $text{'vars_name'},
30                                   $text{'vars_value'} ], 100, 0, \@tds);
31         foreach $v (@{$d->{'data'}}) {
32                 if (!$canedit{$v->[0]}) {
33                         # Cannot edit, so just show value
34                         print &ui_columns_row(
35                                 [ "", $v->[0], &html_escape($v->[1]) ], \@tds);
36                         }
37                 elsif ($d{$v->[0]}) {
38                         # Editing now
39                         print &ui_columns_row([
40                                 "->", "<a name=$v->[0]>$v->[0]</a>",
41                                 &ui_textbox("value_".$v->[0], $v->[1], 40)
42                                 ], \@tds);
43                         }
44                 else {
45                         # Can edit
46                         print &ui_checked_columns_row([
47                                 "<a name=$v->[0]>$v->[0]</a>",
48                                 &html_escape($v->[1])
49                                 ], \@tds, "d", $v->[0]);
50                         }
51                 }
52         print &ui_columns_end();
53         print &ui_form_end([ [ "edit", $text{'vars_edit'} ],
54                              %d ? ( [ "save", $text{'save'} ] ) : ( ) ]);
55         }
56 else {
57         print "<b>",$in{'search'} ? $text{'vars_none2'}
58                                   : $text{'vars_none'},"</b><p>\n";
59         }
60
61 &ui_print_footer("", $text{'index_return'});
62