Handle hostnames with upper-case letters
[webmin.git] / mysql / drop_dbases.cgi
1 #!/usr/local/bin/perl
2 # Drops multiple databases
3
4 require './mysql-lib.pl';
5 &ReadParse();
6 &error_setup($text{'ddrops_err'});
7 @dbs = split(/\0/, $in{'d'});
8 @dbs || &error($text{'ddrops_enone'});
9 $access{'delete'} || &error($text{'ddrops_ecannot'});
10 foreach $db (@dbs) {
11         &can_edit_db($db) || &error(&text('ddrops_ecannotdb', $db));
12         }
13 $access{'edonly'} && &error($text{'dbase_ecannot'});
14
15 if ($in{'confirm'}) {
16         # Drop the databases
17         foreach $db (@dbs) {
18                 &execute_sql_logged($master_db,"drop database ".&quotestr($db));
19                 }
20         &webmin_log("delete", "dbs", scalar(@dbs), \%in);
21         &redirect("");
22         }
23 else {
24         # Ask the user if he is sure..
25         &ui_print_header(undef, $text{'ddrops_title'}, "");
26
27         $rows = 0;
28         $tables = 0;
29         foreach $db (@dbs) {
30                 @tables = &list_tables($db);
31                 foreach $t (@tables) {
32                         $d = &execute_sql($db,
33                                 "select count(*) from ".&quotestr($t));
34                         $rows += $d->{'data'}->[0]->[0];
35                         $tables++;
36                         }
37                 }
38
39         print "<center><b>",&text($tables ? 'ddrops_rusure' : 'ddrops_rusure2',
40                                   scalar(@dbs), $tables, $rows),"\n";
41         if (&indexof($master_db, @dbs) >= 0) {
42                 print $text{'ddrop_mysql'},"\n";
43                 }
44         print "</b><p>\n";
45         print "<form action=drop_dbases.cgi>\n";
46         foreach $db (@dbs) {
47                 print &ui_hidden("d", $db),"\n";
48                 }
49         print "<input type=submit name=confirm value='$text{'ddrops_ok'}'>\n";
50         print "</form></center>\n";
51         &ui_print_footer("edit_dbase.cgi?db=$in{'db'}", $text{'dbase_return'},
52                 "", $text{'index_return'});
53         }
54
55