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