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