3 # Display a form for editing or creating a user
5 require './postgresql-lib.pl';
7 $access{'users'} || &error($text{'user_ecannot'});
9 &ui_print_header(undef, $text{'user_create'}, "");
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]};
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);
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) :
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));
39 # For existing users, can select empty, leave unchanged or
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));
48 # Can create databases?
49 print &ui_table_row($text{'user_db'},
50 &ui_yesno_radio("db", $user[2] =~ /t|1/));
52 # Create create other users?
53 print &ui_table_row($text{'user_other'},
54 &ui_yesno_radio("other", $user[4] =~ /t|1/));
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'}));
62 # End of form and buttons
63 print &ui_table_end();
65 print &ui_form_end([ [ undef, $text{'create'} ] ]);
68 print &ui_form_end([ [ undef, $text{'save'} ],
69 [ 'delete', $text{'delete'} ] ]);
72 &ui_print_footer("list_users.cgi", $text{'user_return'});