From 8685e9a274f0b6d88d0b3447662ff8db9564c8a9 Mon Sep 17 00:00:00 2001 From: "gerv%gerv.net" <> Date: Thu, 25 Jul 2002 06:13:31 +0000 Subject: Bug 158660 - confirm_login in CGI.pl should use a template for the login dialog. Patch by gerv; 2xr=jouni. --- CGI.pl | 91 +++-------------------- template/en/default/account/login.html.tmpl | 107 ++++++++++++++++++++++++++++ 2 files changed, 116 insertions(+), 82 deletions(-) create mode 100644 template/en/default/account/login.html.tmpl diff --git a/CGI.pl b/CGI.pl index c4130e14c..4dfc772e8 100644 --- a/CGI.pl +++ b/CGI.pl @@ -808,92 +808,21 @@ Content-type: text/html "send email to " . Param("maintainer") . " explaining why.", "Your account has been disabled"); } - print "Content-type: text/html\n\n"; - PutHeader("Login"); - if(Param("useLDAP")) { - print "I need a legitimate LDAP username and password to continue.\n"; - } else { - print "I need a legitimate e-mail address and password to continue.\n"; - } + if (!defined $nexturl || $nexturl eq "") { # Sets nexturl to be argv0, stripping everything up to and # including the last slash (or backslash on Windows). $0 =~ m:([^/\\]*)$:; $nexturl = $1; } - my $method = "POST"; -# We always want to use POST here, because we're submitting a password and don't -# want to see it in the location bar in the browser in case a co-worker is looking -# over your shoulder. If you have cookies off and need to bookmark the query, you -# can bookmark it from the screen asking for your password, and it should still -# work. See http://bugzilla.mozilla.org/show_bug.cgi?id=15980 -# if (defined $ENV{"REQUEST_METHOD"} && length($::buffer) > 1) { -# $method = $ENV{"REQUEST_METHOD"}; -# } - print " -
- -"; - if(Param("useLDAP")) { - print " - - - - - -"; - } else { - print " - - - - - -"; - } - print " - -
Username:
Password:E-mail address:
Password:
-"; - # Add all the form fields into the form as hidden fields - # (except for Bugzilla_login and Bugzilla_password which we - # already added as text fields above). - foreach my $i ( grep( $_ !~ /^Bugzilla_/ , keys %::FORM ) ) { - if (defined $::MFORM{$i} && scalar(@{$::MFORM{$i}}) > 1) { - # This field has multiple values; add each one separately. - foreach my $val (@{$::MFORM{$i}}) { - print qq|\n|; - } - } else { - # This field has a single value; add it. - print qq|\n|; - } - } - - print qq| - -
- |; - - # Allow the user to request a token to change their password (unless - # we are using LDAP, in which case the user must use LDAP to change it). - unless( Param("useLDAP") ) { - print qq| -
-

If you don't have a Bugzilla account, you can - create a new account.

-
- - If you have an account, but have forgotten your password, - enter your login name below and submit a request - to change your password.
- - -
-
- |; - } - + + $vars->{'target'} = $nexturl; + $vars->{'form'} = \%::FORM; + + print "Content-type: text/html\n\n"; + $template->process("account/login.html.tmpl", $vars) + || ThrowTemplateError($template->error()); + # This seems like as good as time as any to get rid of old # crufty junk in the logincookies table. Get rid of any entry # that hasn't been used in a month. @@ -902,8 +831,6 @@ Content-type: text/html "WHERE TO_DAYS(NOW()) - TO_DAYS(lastused) > 30"); } - - PutFooter(); exit; } diff --git a/template/en/default/account/login.html.tmpl b/template/en/default/account/login.html.tmpl new file mode 100644 index 000000000..b1f2377e5 --- /dev/null +++ b/template/en/default/account/login.html.tmpl @@ -0,0 +1,107 @@ + +[%# The contents of this file are subject to the Mozilla Public + # License Version 1.1 (the "License"); you may not use this file + # except in compliance with the License. You may obtain a copy of + # the License at http://www.mozilla.org/MPL/ + # + # Software distributed under the License is distributed on an "AS + # IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or + # implied. See the License for the specific language governing + # rights and limitations under the License. + # + # The Original Code is the Bugzilla Bug Tracking System. + # + # The Initial Developer of the Original Code is Netscape Communications + # Corporation. Portions created by Netscape are + # Copyright (C) 1998 Netscape Communications Corporation. All + # Rights Reserved. + # + # Contributor(s): Gervase Markham + #%] + +[%# INTERFACE: + # target: string. URL to go to after login. + # form: hash; the form values which need to be submitted to the target script + #%] + +[% PROCESS global/header.html.tmpl + title = "Login" +%] + +

+ I need a legitimate + [% Param('useLDAP') ? "LDAP username" : "email address" %] + and password to continue. +

+ +
+ + [% IF Param("useLDAP") %] + + + + + + + + + [% ELSE %] + + + + + + + + + [% END %] +
+ Username: + + +
+ Password: + + +
+ E-mail address: + + +
+ Password: + + +
+ + [% PROCESS "global/hidden-fields.html.tmpl" + exclude="^(Bugzilla|LDAP)_(login|password)$" %] + + +
+ +[%# Allow the user to create a new account, or request a token to change + # their password (unless we are using LDAP, in which case the user must + # use LDAP to change it). + #%] + +[% UNLESS Param("useLDAP") %] +
+ +

+ If you don't have a Bugzilla account, you can + create a new account. +

+ +
+ + If you have an account, but have forgotten your password, + enter your login name below and submit a request + to change your password.
+ + +
+ +
+[% END %] + +[% PROCESS global/footer.html.tmpl %] -- cgit v1.2.3-24-g4f1b