Support for temporary passwords which must be changed at the next login
[webmin.git] / password_form.cgi
1 #!/usr/local/bin/perl
2 # password_form.cgi
3 # Display the form that allows users to change their passwords at login time
4
5 $ENV{'MINISERV_INTERNAL'} || die "Can only be called by miniserv.pl";
6 require './web-lib.pl';
7 &init_config();
8 require './ui-lib.pl';
9 &ReadParse();
10 &header(undef, undef, undef, undef, 1, 1);
11
12 print "<center>\n";
13 if ($in{'expired'} == 2) {
14         print &ui_subheading($text{'password_temp'});
15         }
16 else {
17         print &ui_subheading($text{'password_expired'});
18         }
19
20 # Start of the form
21 print "$text{'password_prefix'}\n";
22 print &ui_form_start("$gconfig{'webprefix'}/password_change.cgi", "post");
23 print &ui_hidden("user", $in{'user'});
24 print &ui_hidden("pam", $in{'pam'});
25 print &ui_hidden("expired", $in{'expired'});
26 print &ui_table_start($text{'password_header'}, "width=50% style='width:50%'", 2);
27
28 # Current username
29 print &ui_table_row($text{'password_user'},
30         &html_escape($in{'user'}));
31
32 # Old password
33 print &ui_table_row($text{'password_old'},
34         &ui_password("old", undef, 20));
35
36 # New password, twice
37 print &ui_table_row($text{'password_new1'},
38         &ui_password("new1", undef, 20));
39 print &ui_table_row($text{'password_new2'},
40         &ui_password("new2", undef, 20));
41
42 # End of form
43 print &ui_table_end();
44 print &ui_form_end([ [ undef, $text{'password_ok'} ] ]);
45 print "</center>\n";
46 print "$text{'password_postfix'}\n";
47
48 &footer();
49