createaccount.cgi 3.05 KB
Newer Older
1 2 3
#!/usr/bonsaitools/bin/perl -w
# -*- Mode: perl; indent-tabs-mode: nil -*-
#
4 5 6 7 8 9 10 11 12 13
# 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.
#
14
# The Original Code is the Bugzilla Bug Tracking System.
15
#
16
# The Initial Developer of the Original Code is Netscape Communications
17 18 19 20
# Corporation. Portions created by Netscape are
# Copyright (C) 1998 Netscape Communications Corporation. All
# Rights Reserved.
#
21 22
# Contributor(s): Terry Weissman <terry@mozilla.org>
#                 David Gardiner <david.gardiner@unisa.edu.au>
23
#                 Joe Robins <jmrobins@tgix.com>
24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45

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

";

46 47 48 49 50 51 52 53
# If we're using LDAP for login, then we can't create a new account here.
if(Param('useLDAP')) {
  PutHeader("Can't create LDAP accounts");
  print "This site is using LDAP for authentication.  Please contact an LDAP ";
  print "administrator to get a new account created.\n";
  PutFooter();
  exit;
}
54 55

my $login = $::FORM{'login'};
56
my $realname = $::FORM{'realname'};
57 58 59
if (defined $login) {
    CheckEmailSyntax($login);
    if (DBname_to_id($login) != 0) {
60
	PutHeader("Account exists");
61 62 63 64
	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";
65
        PutFooter();
66 67
	exit;
    }
68
    PutHeader("Account created");
69
    my $password = InsertNewUser($login, $realname);
70
    MailPassword($login, $password);
71 72
    print " You can also <a href=query.cgi?GoAheadAndLogIn>click\n";
    print "here</a> to log in for the first time.";
73
    PutFooter();
74 75 76
    exit;
}

77
PutHeader("Create a new bugzilla account");
78 79 80
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
81 82
password will be mailed to you. Optionally you may enter your real name 
as well.
83 84 85 86 87 88 89

<FORM method=get>
<table>
<tr>
<td align=right><b>E-mail address:</b></td>
<td><input size=35 name=login></td>
</tr>
90 91 92 93
<tr>
<td align=right><b>Real name:</b></td>
<td><input size=35 name=realname></td>
</tr>
94
</table>
95
<input type="submit" value="Create Account">
96 97
};

98
PutFooter();