Handle hostnames with upper-case letters
[webmin.git] / postgresql / edit_user.cgi
1 #!/usr/local/bin/perl
2 # edit_user.cgi
3 # Display a form for editing or creating a user
4
5 require './postgresql-lib.pl';
6 &ReadParse();
7 $access{'users'} || &error($text{'user_ecannot'});
8 if ($in{'new'}) {
9         &ui_print_header(undef, $text{'user_create'}, "");
10         }
11 else {
12         &ui_print_header(undef, $text{'user_edit'}, "");
13         $s = &execute_sql_safe($config{'basedb'}, "select * from pg_shadow ".
14                                              "where usename = '$in{'user'}'");
15         @user = @{$s->{'data'}->[0]};
16         }
17
18 # Start of the form
19 print &ui_form_start("save_user.cgi");
20 print &ui_hidden("new", $in{'new'});
21 print &ui_hidden("user", $in{'user'});
22 print &ui_table_start($text{'user_header'}, undef, 2);
23
24 # Username, not always editable
25 print &ui_table_row($text{'user_name'},
26         $in{'new'} || &get_postgresql_version() >= 7.4 ?
27                 &ui_textbox("pname", $user[0], 40) :
28                 $user[0]);
29
30 if ($in{'new'}) {
31         # For new users, can select empty or specific password
32         print &ui_table_row($text{'user_passwd'},
33               &ui_radio("ppass_def", 1,
34                         [ [ 1, $text{'user_none'} ],
35                           [ 0, $text{'user_setto'} ] ])." ".
36                      &ui_password("ppass", undef, 20));
37         }
38 else {
39         # For existing users, can select empty, leave unchanged or
40         # specific password
41         print &ui_table_row($text{'user_passwd'},
42               &ui_radio("ppass_def", 2,
43                         [ [ 2, $text{'user_nochange'} ],
44                           [ 0, $text{'user_setto'} ] ])." ".
45                      &ui_password("ppass", undef, 20));
46         }
47
48 # Can create databases?
49 print &ui_table_row($text{'user_db'},
50         &ui_yesno_radio("db", $user[2] =~ /t|1/));
51
52 # Create create other users?
53 print &ui_table_row($text{'user_other'},
54         &ui_yesno_radio("other", $user[4] =~ /t|1/));
55
56 # Valid until
57 $user[6] = '' if ($user[6] !~ /\S/);
58 print &ui_table_row($text{'user_until'},
59         $user[6] ? &ui_textbox("until", $user[6], 40) :
60                 &ui_opt_textbox("until", $user[6], 40, $text{'user_forever'}));
61
62 # End of form and buttons
63 print &ui_table_end();
64 if ($in{'new'}) {
65         print &ui_form_end([ [ undef, $text{'create'} ] ]);
66         }
67 else {
68         print &ui_form_end([ [ undef, $text{'save'} ],
69                              [ 'delete', $text{'delete'} ] ]);
70         }
71
72 &ui_print_footer("list_users.cgi", $text{'user_return'});
73