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