Viewing file: list_hosts.cgi (1.76 KB) -rwxr-xr-x Select action/file-type: (+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
#!/usr/bin/perl # list_hosts.cgi # Display host-level permissions
require './mysql-lib.pl'; $access{'perms'} || &error($text{'perms_ecannot'}); &ui_print_header(undef, $text{'hosts_title'}, "");
$d = &execute_sql_safe($master_db, "select * from host order by host"); %fieldmap = map { $_->{'field'}, $_->{'index'} } &table_structure($master_db, "host"); @rowlinks = ( &ui_link("edit_host.cgi?new=1",$text{'hosts_add'}) ); if (@{$d->{'data'}}) { print &ui_form_start("delete_hosts.cgi"); unshift(@rowlinks, &select_all_link("d", 0), &select_invert_link("d", 0) ); print &ui_links_row(\@rowlinks); @tds = ( "width=5" ); print &ui_columns_start([ "", $text{'hosts_db'}, $text{'hosts_host'}, $text{'hosts_perms'} ], 100, 0, \@tds); $i = -1; foreach $u (@{$d->{'data'}}) { $i++; next if ($access{'perms'} == 2 && !&can_edit_db($u->[1])); local @cols; push(@cols, "<a href='edit_host.cgi?idx=$i'>". ($u->[1] eq '%' || $u->[1] eq '' ? $text{'hosts_any'} : &html_escape($u->[1]))."</a>"); push(@cols, $u->[0] eq '%' || $u->[0] eq '' ? $text{'hosts_any'} : &html_escape($u->[0])); my @priv; my ($allprivs, $noprivs) = (1, 1); foreach my $f (&priv_fields('host')) { if ($u->[$fieldmap{$f->[0]}] eq 'Y') { push(@priv, $f->[1]); $noprivs = 0; } else { $allprivs = 0; } } push(@cols, $allprivs ? $text{'users_all'} : $noprivs ? $text{'users_none'} : join(" | ", @priv)); print &ui_checked_columns_row(\@cols, \@tds, "d", $u->[0]." ".$u->[1]); } print &ui_columns_end(); } else { print "<b>$text{'hosts_empty'}</b> <p>\n"; } print &ui_links_row(\@rowlinks); print &ui_form_end([ [ "delete", $text{'users_delete'} ]]) if (@{$d->{'data'}});
&ui_print_footer("", $text{'index_return'});
|