3 # Display a list of column priviliges
5 require './mysql-lib.pl';
6 $access{'perms'} || &error($text{'perms_ecannot'});
7 &ui_print_header(undef, $text{'cprivs_title'}, "", "cprivs");
9 $d = &execute_sql_safe($master_db, "select * from columns_priv order by table_name,column_name");
10 if (@{$d->{'data'}}) {
11 print &ui_form_start("delete_cprivs.cgi", "post");
12 @rowlinks = ( &select_all_link("d", 0),
13 &select_invert_link("d", 0) );
14 print &ui_links_row(\@rowlinks);
16 print &ui_columns_start([ "",
17 $text{'cprivs_field'},
18 $text{'cprivs_table'},
22 $text{'cprivs_privs'} ], 100, 0, \@tds);
24 foreach $u (@{$d->{'data'}}) {
26 next if ($access{'perms'} == 2 && !&can_edit_db($u->[1]));
28 push(@cols, "<a href='edit_cpriv.cgi?idx=$i'>".
29 &html_escape($u->[4])."</a>");
30 push(@cols, &html_escape($u->[3]));
31 push(@cols, &html_escape($u->[1]));
32 push(@cols, $u->[0] eq '' || $u->[0] eq '%' ?
33 $text{'cprivs_all'} : &html_escape($u->[0]));
34 push(@cols, $u->[2] ? &html_escape($u->[2])
35 : $text{'cprivs_anon'});
36 push(@cols, !$u->[6] ? $text{'cprivs_none'} :
37 join(" | ",split(/[, ]+/, $u->[6])));
38 print &ui_checked_columns_row(\@cols, \@tds,
39 "d", join(" ", @$u[0..4]));
41 print &ui_columns_end();
42 print &ui_links_row(\@rowlinks);
43 print &ui_form_end([ [ "delete", $text{'users_delete'} ] ]);
46 print "<b>$text{'cprivs_norows'}</b><p>\n";
50 &ui_print_footer("", $text{'index_return'});
54 print &ui_form_start("edit_cpriv.cgi");
56 local @dbs = sort { $a cmp $b } &list_databases();
57 if (@dbs > $max_dbs) {
58 # Show DB and table fields
59 print &ui_submit($text{'cprivs_add2'});
60 print $text{'cprivs_db'}," ",&ui_textbox("db", undef, 20)," ",
61 $text{'cprivs_table'}," ",&ui_textbox("table", undef, 20);
65 print &ui_submit($text{'cprivs_add'});
67 if ($access{'perms'} == 1 || &can_edit_db($d)) {
68 foreach $t (&list_tables($d)) {
73 print &ui_select("table", undef, \@opts);