Handle hostnames with upper-case letters
[webmin.git] / postgresql / list_groups.cgi
1 #!/usr/local/bin/perl
2 # list_groups.cgi
3 # Display all groups in the database
4
5 require './postgresql-lib.pl';
6 $access{'users'} || &error($text{'group_ecannot'});
7 &ui_print_header(undef, $text{'group_title'}, "", "list_groups");
8
9 $s = &execute_sql_safe($config{'basedb'}, "select * from pg_user");
10 foreach $u (@{$s->{'data'}}) {
11         $uid{$u->[1]} = $u->[0];
12         }
13
14 $s = &execute_sql_safe($config{'basedb'}, "select * from pg_group");
15 @rowlinks = ( "<a href='edit_group.cgi?new=1'>$text{'group_add'}</a>" );
16 if (@{$s->{'data'}}) {
17         print &ui_form_start("delete_groups.cgi", "post");
18         unshift(@rowlinks, &select_all_link("d", 0),
19                            &select_invert_link("d", 0) );
20         print &ui_links_row(\@rowlinks);
21         local @tds = ( "width=5" );
22         print &ui_columns_start([ "",
23                                   $text{'group_name'},
24                                   $text{'group_name'},
25                                   $text{'group_mems'} ], 100, 0, \@tds);
26         foreach $g (@{$s->{'data'}}) {
27                 local @cols;
28                 push(@cols, "<a href='edit_group.cgi?gid=$g->[1]'>".
29                             &html_escape($g->[0])."</a>");
30                 push(@cols, $g->[1]);
31                 push(@cols, join("&nbsp;|&nbsp;",
32                      map { &html_escape($uid{$_}) } &split_array($g->[2])));
33                 print &ui_checked_columns_row(\@cols, \@tds, "d", $g->[0]);
34                 }
35         print &ui_columns_end();
36         }
37 else {
38         print "<b>$text{'group_none'}</b><p>\n";
39         }
40 print &ui_links_row(\@rowlinks);
41 print &ui_form_end([ [ "delete", $text{'user_delete'} ] ]) if (@{$s->{'data'}});
42
43 &ui_print_footer("", $text{'index_return'});
44