Handle hostnames with upper-case letters
[webmin.git] / mysql / edit_cnf.cgi
1 #!/usr/local/bin/perl
2 # Show mysql server configuration options
3
4 require './mysql-lib.pl';
5 $access{'perms'} == 1 || &error($text{'cnf_ecannot'});
6 &ui_print_header(undef, $text{'cnf_title'}, "", "cnf");
7
8 # Make sure config exists
9 $conf = &get_mysql_config();
10 if (!$conf) {
11         print &text('cnf_efile', "<tt>$config{'my_cnf'}</tt>",
12                     "../config.cgi?$module_name"),"<p>\n";
13         &ui_print_footer("", $text{'index_return'});
14         exit;
15         }
16 ($mysqld) = grep { $_->{'name'} eq 'mysqld' } @$conf;
17 $mysqld || &error($text{'cnf_emysqld'});
18 $mems = $mysqld->{'members'};
19
20 print &ui_form_start("save_cnf.cgi", "post");
21 print &ui_table_start($text{'cnf_header'}, "width=100%", 4);
22
23 # Show mysqld section options
24 $port = &find_value("port", $mems);
25 print &ui_table_row($text{'cnf_port'},
26                     &ui_opt_textbox("port", $port, 5, $text{'default'}));
27
28 $bind = &find_value("bind-address", $mems);
29 print &ui_table_row($text{'cnf_bind'},
30                     &ui_opt_textbox("bind", $bind, 20, $text{'cnf_all'}));
31
32 print &ui_table_row($text{'cnf_skip-locking'},
33     &ui_yesno_radio("skip-locking", &find("skip-locking", $mems) ? 1 : 0));
34
35 print &ui_table_row($text{'cnf_big-tables'},
36     &ui_yesno_radio("big-tables", &find("big-tables", $mems) ? 1 : 0));
37
38 $socket = &find_value("socket", $mems);
39 print &ui_table_row($text{'cnf_socket'},
40                     &ui_opt_textbox("socket", $socket, 50, $text{'default'}).
41                     " ".&file_chooser_button("socket"), 3);
42
43 $datadir = &find_value("datadir", $mems);
44 print &ui_table_row($text{'cnf_datadir'},
45                     &ui_opt_textbox("datadir", $datadir, 50, $text{'default'}).
46                     " ".&file_chooser_button("datadir"), 3);
47
48 $stor = &find_value("default-storage-engine", $mems);
49 print &ui_table_row($text{'cnf_stor'},
50                     &ui_select("stor", $stor,
51                                [ [ '', $text{'default'} ],
52                                  'MyISAM', 'InnoDB', 'MERGE',
53                                  'NDB', 'ARCHIVE', 'CSV',
54                                  'BLACKHOLE' ], 1, 0, 1));
55
56 $fpt = &find_value("innodb_file_per_table", $mems);
57 print &ui_table_row($text{'cnf_fpt'},
58                     &ui_yesno_radio("fpt", $fpt));
59
60 # Show set variables
61 print &ui_table_hr();
62
63 %vars = &parse_set_variables(&find_value("set-variable", $mems));
64 foreach $v (@mysql_set_variables) {
65         print &ui_table_row($text{'cnf_'.$v},
66                 &ui_radio($v."_def", defined($vars{$v}) ? 0 : 1,
67                           [ [ 1, $text{'default'} ], [ 0, " " ] ])."\n".
68                 &mysql_size_input($v, $vars{$v}), 3);
69         }
70 foreach $v (@mysql_number_variables) {
71         print &ui_table_row($text{'cnf_'.$v},
72                 &ui_radio($v."_def", defined($vars{$v}) ? 0 : 1,
73                           [ [ 1, $text{'default'} ], [ 0, " " ] ])."\n".
74                 &ui_textbox($v, $vars{$v}, 8), 3);
75         }
76
77 print &ui_table_end();
78 print &ui_form_end([ [ "save", $text{'save'} ],
79                      [ "restart", $text{'cnf_restart'} ] ]);
80
81 &ui_print_footer("", $text{'index_return'});
82