]> git.ipfire.org Git - thirdparty/bugzilla.git/commitdiff
Added stuff to make it more obvious how to create an account.
authorterry%netscape.com <>
Sat, 27 Mar 1999 10:28:51 +0000 (10:28 +0000)
committerterry%netscape.com <>
Sat, 27 Mar 1999 10:28:51 +0000 (10:28 +0000)
CGI.pl
createaccount.cgi [new file with mode: 0755]
index.html
query.cgi

diff --git a/CGI.pl b/CGI.pl
index 74d383646f76213f8abace851062f680e37560aa..fa3acb93e6c6439b9bc9a35e232917c68760fa9c 100644 (file)
--- a/CGI.pl
+++ b/CGI.pl
@@ -260,6 +260,25 @@ sub quietly_check_login() {
 
 
 
+sub CheckEmailSyntax {
+    my ($addr) = (@_);
+    if ($addr !~ /^[^@, ]*@[^@, ]*\.[^@, ]*$/) {
+        print "Content-type: text/html\n\n";
+
+        print "<H1>Invalid e-mail address entered.</H1>\n";
+        print "The e-mail address you entered\n";
+        print "(<b>$addr</b>) didn't match our minimal\n";
+        print "syntax checking for a legal email address.  A legal\n";
+        print "address must contain exactly one '\@', and at least one\n";
+        print "'.' after the \@, and may not contain any commas or.\n";
+        print "spaces.\n";
+        print "<p>Please click <b>back</b> and try again.\n";
+        exit;
+    }
+}
+
+
+
 sub confirm_login {
     my ($nexturl) = (@_);
 
@@ -272,19 +291,8 @@ sub confirm_login {
 
        my $enteredlogin = $::FORM{"Bugzilla_login"};
         my $enteredpwd = $::FORM{"Bugzilla_password"};
-       if ($enteredlogin !~ /^[^@, ]*@[^@, ]*\.[^@, ]*$/) {
-            print "Content-type: text/html\n\n";
+        CheckEmailSyntax($enteredlogin);
 
-            print "<H1>Invalid e-mail address entered.</H1>\n";
-            print "The e-mail address you entered\n";
-            print "(<b>$enteredlogin</b>) didn't match our minimal\n";
-            print "syntax checking for a legal email address.  A legal\n";
-            print "address must contain exactly one '\@', and at least one\n";
-            print "'.' after the \@, and may not contain any commas or.\n";
-           print "spaces.\n";
-            print "<p>Please click <b>back</b> and try again.\n";
-            exit;
-        }
         my $realcryptpwd  = PasswordForLogin($::FORM{"Bugzilla_login"});
         
         if (defined $::FORM{"PleaseMailAPassword"}) {
diff --git a/createaccount.cgi b/createaccount.cgi
new file mode 100755 (executable)
index 0000000..c6bef90
--- /dev/null
@@ -0,0 +1,79 @@
+#!/usr/bonsaitools/bin/perl -w
+# -*- Mode: perl; indent-tabs-mode: nil -*-
+#
+# The contents of this file are subject to the Mozilla Public License
+# Version 1.0 (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): Terry Weissman <terry@mozilla.org>
+#                 David Gardiner <david.gardiner@unisa.edu.au>
+
+use diagnostics;
+use strict;
+
+require "CGI.pl";
+
+# Shut up misguided -w warnings about "used only once":
+
+use vars %::FORM;
+
+ConnectToDatabase();
+
+# Clear out the login cookies.  Make people log in again if they create an
+# account; otherwise, they'll probably get confused.
+
+print "Set-Cookie: Bugzilla_login= ; path=/; expires=Sun, 30-Jun-80 00:00:00 GMT
+Set-Cookie: Bugzilla_logincookie= ; path=/; expires=Sun, 30-Jun-80 00:00:00 GMT
+Set-Cookie: Bugzilla_password= ; path=/; expires=Sun, 30-Jun-80 00:00:00 GMT
+Content-type: text/html
+
+";
+
+PutHeader("Create a new bugzilla account");
+
+my $login = $::FORM{'login'};
+if (defined $login) {
+    CheckEmailSyntax($login);
+    if (DBname_to_id($login) != 0) {
+       print "A bugzilla account for the name <tt>$login</tt> already\n";
+       print "exists.  If you have forgotten the password for it, then\n";
+       print "<a href=query.cgi?GoAheadAndLogIn>click here</a> and use\n";
+       print "the <b>E-mail me a password</b> button.\n";
+       exit;
+    }
+    DBNameToIdAndCheck($login, 1);
+    print "A bugzilla account for <tt>$login</tt> has been created.  The\n";
+    print "password has been e-mailed to that address.  When it is\n";
+    print "received, you may <a href=query.cgi?GoAheadAndLogIn>click\n";
+    print "here</a> and log in.  Or, you can just <a href=\"\">go back to\n";
+    print "the top</a>.";
+    exit;
+}
+
+print q{
+To create a bugzilla account, all that you need to do is to enter a
+legitimate e-mail address.  The account will be created, and its
+password will be mailed to you.
+
+<FORM method=get>
+<table>
+<tr>
+<td align=right><b>E-mail address:</b></td>
+<td><input size=35 name=login></td>
+</tr>
+</table>
+<input type=submit>
+};
+
index a8e36662f4d7a69ed01b7707eab623c7edd35aaa..7cef3c1e2cc9e610d0eecfe553c4b688a2d4de3d 100644 (file)
@@ -69,7 +69,8 @@ But it all boils down to a choice of:
 <br>
 <a href="query.cgi">Go to the query page to start.</a><br>
 <a href="enter_bug.cgi">Enter a new bug</a><br>
-<a href="reports.cgi">Bug reports</a>
+<a href="reports.cgi">Bug reports</a><br>
+<a href="createaccount.cgi">Open a new Bugzilla account</a><br>
 <FORM METHOD=GET ACTION=show_bug.cgi><INPUT TYPE=SUBMIT VALUE="Find"> bug
 # <INPUT NAME=id SIZE=6></FORM></TD>
 
index b34f87b137ff38ab10ffc0fe641680c946aa007c..38d95589b79348eaaf64656449624565f2ea455a 100755 (executable)
--- a/query.cgi
+++ b/query.cgi
@@ -546,4 +546,5 @@ if (defined $::COOKIE{"Bugzilla_login"}) {
 }
 print "<a href=changepassword.cgi>Change your password.</a><br>\n";
 print "<a href=\"enter_bug.cgi\">Create a new bug.</a><br>\n";
+print "<a href=\"createaccount.cgi\">Open a new Bugzilla account</a><br>\n";
 print "<a href=\"reports.cgi\">Bug reports</a><br>\n";