Current File : //usr/share/webmin/postgresql/list_hosts.cgi |
#!/usr/bin/perl
# list_hosts.cgi
# Display host access records
require './postgresql-lib.pl';
$access{'users'} || &error($text{'host_ecannot'});
&ui_print_header(undef, $text{'host_title'}, "", "list_hosts");
print "$text{'host_desc'}<p>\n";
$v = &get_postgresql_version();
@hosts = &get_hba_config($v);
print &ui_form_start("delete_hosts.cgi", "post");
@rowlinks = ( &select_all_link("d", 0),
&select_invert_link("d", 0),
&ui_link("edit_host.cgi?new=1",$text{'host_add'}) );
print &ui_links_row(\@rowlinks);
if ($v >= 7.3) {
@tds = ( "width=5", "width=25%", "width=25%", "width=25%",
"width=25%", "width=16" );
}
else {
@tds = ( "width=5", "width=33%", "width=33%", "width=33%", "width=16" );
}
print &ui_columns_start([ "",
$text{'host_address'},
$text{'host_db'},
$v >= 7.3 ? ( $text{'host_user'} ) : ( ),
$text{'host_auth'},
$text{'host_move'} ], 100, 0, \@tds);
foreach $h (@hosts) {
local @cols;
local $ssl = $h->{'type'} eq 'hostssl' ? " ($text{'host_viassl'})" : "";
push(@cols, "<a href='edit_host.cgi?idx=$h->{'index'}'>".
&html_escape(
$h->{'type'} eq 'local' ? $text{'host_local'} :
$h->{'netmask'} eq '255.255.255.255' ? $h->{'address'}.$ssl :
$h->{'netmask'} eq '0.0.0.0' ? $text{'host_any'}.$ssl :
$h->{'cidr'} ne "" ? $h->{'address'}.'/'.$h->{'cidr'}.$ssl :
$h->{'address'}.'/'.$h->{'netmask'}.$ssl)."</a>");
push(@cols, $h->{'db'} eq 'all' ? $text{'host_all'} :
$h->{'db'} eq 'sameuser' ? $text{'host_same'} :
$h->{'db'});
if ($v >= 7.3) {
push(@cols, $h->{'user'} eq 'all' ? $text{'host_uall'}
: $h->{'user'});
}
push(@cols, $text{"host_$h->{'auth'}"} || $h->{'auth'});
local $mover;
if ($h eq $hosts[@hosts-1]) {
$mover .= "<img src=images/gap.gif>";
}
else {
$mover .= "<a href='down.cgi?idx=$h->{'index'}'>".
"<img src=images/down.gif border=0></a>";
}
if ($h eq $hosts[0]) {
$mover .= "<img src=images/gap.gif>";
}
else {
$mover .= "<a href='up.cgi?idx=$h->{'index'}'>".
"<img src=images/up.gif border=0></a>";
}
push(@cols, $mover);
print &ui_checked_columns_row(\@cols, \@tds, "d", $h->{'index'});
}
print &ui_columns_end();
print &ui_links_row(\@rowlinks);
print &ui_form_end([ [ "delete", $text{'user_delete'} ] ]);
print &ui_hr();
print &ui_buttons_start();
print &ui_buttons_row("edit_manual.cgi", $text{'host_manual'},
$text{'host_manualdesc'});
print &ui_buttons_end();
&ui_print_footer("", $text{'index_return'});