Handle hostnames with upper-case letters
[webmin.git] / mysql / delete_tprivs.cgi
1 #!/usr/local/bin/perl
2 # Delete several selected table permissions
3
4 require './mysql-lib.pl';
5 &ReadParse();
6 $access{'perms'} || &error($text{'perms_edb'});
7 &error_setup($text{'tprivs_derr'});
8 @d = split(/\0/, $in{'d'});
9 @d || &error($trext{'tprivs_enone'});
10
11 if (!$in{'confirm'}) {
12         # Ask first
13         &ui_print_header(undef, $text{'tprivs_dtitle'}, "");
14
15         print &ui_confirmation_form("delete_tprivs.cgi",
16                 &text('tprivs_drusure', scalar(@d)),
17                 [ map { [ "d", $_ ] } @d ],
18                 [ [ "confirm", $text{'tprivs_dok'} ] ],
19                 );
20
21         &ui_print_footer('list_tprivs.cgi', $text{'tprivs_return'},
22                          "", $text{'index_return'});
23         }
24 else {
25         # Delete the table privs
26         foreach $hdut (@d) {
27                 ($host, $db, $user, $table) = split(/ /, $hdut);
28                 $access{'perms'} == 1 || &can_edit_db($db) ||
29                         &error($text{'perms_edb'});
30                 &execute_sql_logged($master_db,
31                              "delete from tables_priv where host = '$host' ".
32                              "and db = '$db' ".
33                              "and user = '$user' ".
34                              "and table_name = '$table'");
35                 }
36         &execute_sql_logged($master_db, 'flush privileges');
37
38         # Log it
39         &webmin_log("delete", "tprivs", scalar(@d));
40         &redirect("list_tprivs.cgi");
41         }
42