1#!/usr/local/bin/perl
2# Delete several selected table permissions
3
4require './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
11if (!$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	}
24else {
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
43