2007-04-12 20:24:50 +00:00
|
|
|
#!/usr/local/bin/perl
|
|
|
|
# drop_dbase.cgi
|
|
|
|
# Drop an existing database
|
|
|
|
|
|
|
|
require './mysql-lib.pl';
|
|
|
|
&ReadParse();
|
|
|
|
&error_setup($text{'ddrop_err'});
|
|
|
|
&can_edit_db($in{'db'}) || &error($text{'dbase_ecannot'});
|
|
|
|
$access{'edonly'} && &error($text{'dbase_ecannot'});
|
|
|
|
if ($in{'confirm'}) {
|
|
|
|
# Drop the database
|
2016-02-10 22:49:41 -08:00
|
|
|
$access{'delete'} || &error($text{'dbase_ecannot'});
|
2007-04-12 20:24:50 +00:00
|
|
|
&execute_sql_logged($master_db, "drop database "."estr($in{'db'}));
|
2014-09-01 10:25:30 -07:00
|
|
|
&delete_database_backup_job($in{'db'});
|
2007-04-12 20:24:50 +00:00
|
|
|
&webmin_log("delete", "db", $in{'db'});
|
|
|
|
&redirect("");
|
|
|
|
}
|
|
|
|
elsif ($in{'empty'}) {
|
|
|
|
# Delete all the tables
|
|
|
|
foreach $t (&list_tables($in{'db'})) {
|
|
|
|
&execute_sql_logged($in{'db'}, "drop table "."estr($t));
|
|
|
|
}
|
|
|
|
&webmin_log("delete", "db", $in{'db'});
|
|
|
|
&redirect("edit_dbase.cgi?db=$in{'db'}");
|
|
|
|
}
|
|
|
|
else {
|
|
|
|
# Ask the user if he is sure..
|
|
|
|
&ui_print_header(undef, $text{'ddrop_title'}, "");
|
|
|
|
@tables = &list_tables($in{'db'});
|
|
|
|
$rows = 0;
|
|
|
|
foreach $t (@tables) {
|
|
|
|
$d = &execute_sql($in{'db'}, "select count(*) from "."estr($t));
|
|
|
|
$rows += $d->{'data'}->[0]->[0];
|
|
|
|
}
|
|
|
|
|
2016-02-10 22:49:41 -08:00
|
|
|
if (!$access{'delete'}) {
|
|
|
|
# Offer to drop tables only
|
|
|
|
$msg = &text('ddrop_rusure2', "<tt>$in{'db'}</tt>", scalar(@tables), $rows);
|
|
|
|
$msg .= " ".$text{'ddrop_mysql'} if ($in{'db'} eq $master_db);
|
|
|
|
print &ui_confirmation_form(
|
|
|
|
"drop_dbase.cgi", $msg,
|
|
|
|
[ [ 'db', $in{'db'} ] ],
|
|
|
|
[ [ 'empty', $text{'ddrop_empty2'} ] ],
|
|
|
|
);
|
|
|
|
}
|
|
|
|
else {
|
|
|
|
# Offer to drop DB or tables
|
|
|
|
$msg = &text('ddrop_rusure', "<tt>$in{'db'}</tt>", scalar(@tables), $rows);
|
|
|
|
$msg .= " ".$text{'ddrop_mysql'} if ($in{'db'} eq $master_db);
|
|
|
|
print &ui_confirmation_form(
|
|
|
|
"drop_dbase.cgi", $msg,
|
|
|
|
[ [ 'db', $in{'db'} ] ],
|
|
|
|
[ [ 'confirm', $text{'ddrop_ok'} ],
|
|
|
|
@tables ? ( [ 'empty', $text{'ddrop_empty'} ] ) : ( ),
|
|
|
|
],
|
|
|
|
);
|
|
|
|
}
|
|
|
|
|
2007-04-12 20:24:50 +00:00
|
|
|
&ui_print_footer("edit_dbase.cgi?db=$in{'db'}", $text{'dbase_return'},
|
2012-07-28 17:27:22 -07:00
|
|
|
&get_databases_return_link($in{'db'}), $text{'index_return'});
|
2007-04-12 20:24:50 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
|