Handle hostnames with upper-case letters
[webmin.git] / postgresql / edit_group.cgi
1 #!/usr/local/bin/perl
2 # edit_group.cgi
3 # Display a form for editing or creating a group
4
5 require './postgresql-lib.pl';
6 &ReadParse();
7 $access{'users'} || &error($text{'group_ecannot'});
8 if ($in{'new'}) {
9         &ui_print_header(undef, $text{'group_create'}, "");
10         }
11 else {
12         &ui_print_header(undef, $text{'group_edit'}, "");
13         $s = &execute_sql_safe($config{'basedb'}, "select * from pg_group ".
14                                              "where grosysid = '$in{'gid'}'");
15         @group = @{$s->{'data'}->[0]};
16         }
17
18 # Start of form block
19 print &ui_form_start("save_group.cgi");
20 print &ui_hidden("new", $in{'new'});
21 print &ui_table_start($text{'group_header'}, undef, 2);
22
23 # Group name
24 print &ui_table_row($text{'group_name'},
25         &ui_textbox("name", $group[0], 40));
26
27 # Group ID, dynamically selected for new ones
28 if ($in{'new'}) {
29         $s = &execute_sql($config{'basedb'},
30                           "select max(grosysid) from pg_group");
31         $gid = $s->{'data'}->[0]->[0] + 1;
32         print &ui_table_row($text{'group_id'},
33                 &ui_textbox("gid", $gid, 10));
34         }
35 else {
36         print &ui_table_row($text{'group_id'}, $group[1]);
37         print &ui_hidden("gid", $in{'gid'});
38         print &ui_hidden("oldname", $group[0]);
39         }
40
41 # Group members
42 $s = &execute_sql($config{'basedb'}, "select * from pg_shadow");
43 %uidtouser = map { $_->[1], $_->[0] } @{$s->{'data'}};
44 if (!$in{'new'}) {
45         @mems = map { [ $_, $uidtouser{$_} || $_ ] } &split_array($group[2]);
46         }
47 @users = map { [ $_->[1], $_->[0] ] } @{$s->{'data'}};
48 print &ui_table_row($text{'group_mems'},
49         &ui_multi_select("mems", \@mems, \@users, 10, 1, 0,
50                          $text{'group_memsopts'}, $text{'group_memsvals'}));
51
52 # End of the form buttons
53 print &ui_table_end();
54 if ($in{'new'}) {
55         print &ui_form_end([ [ undef, $text{'create'} ] ]);
56         }
57 else {
58         print &ui_form_end([ [ undef, $text{'save'} ],
59                              [ 'delete', $text{'delete'} ] ]);
60         }
61
62 &ui_print_footer("list_groups.cgi", $text{'group_return'});
63