]> git.ipfire.org Git - thirdparty/bugzilla.git/commitdiff
Bug 276543: createaccount.cgi should not be displayed if account creation is disabled...
authorlpsolit%gmail.com <>
Wed, 30 Mar 2005 17:57:29 +0000 (17:57 +0000)
committerlpsolit%gmail.com <>
Wed, 30 Mar 2005 17:57:29 +0000 (17:57 +0000)
createaccount.cgi

index de8dc6fde37e63b2dda402610e9a3bdc3172e763..c89de38199e08342c8bbf7885f3aa67f390221e1 100755 (executable)
@@ -38,17 +38,20 @@ use vars qw(
   $vars
 );
 
+# Just in case someone already has an account, let them get the correct footer
+# on an error message.  The user is logged out just before the account is
+# actually created.
+Bugzilla->login();
+
 # If we're using LDAP for login, then we can't create a new account here.
 unless (Bugzilla::Auth->can_edit('new')) {
-  # Just in case someone already has an account, let them get the correct
-  # footer on the error message
-  Bugzilla->login();
-  ThrowUserError("auth_cant_create_account");
+    ThrowUserError("auth_cant_create_account");
 }
 
-# Clear out the login cookies.  Make people log in again if they create an
-# account; otherwise, they'll probably get confused.
-Bugzilla->logout();
+my $createexp = Param('createemailregexp');
+unless ($createexp) {
+    ThrowUserError("account_creation_disabled");
+}
 
 my $cgi = Bugzilla->cgi;
 print $cgi->header();
@@ -68,12 +71,13 @@ if (defined($login)) {
         exit;
     }
 
-    my $createexp = Param('createemailregexp');
-    if (!($createexp)
-        || ($login !~ /$createexp/)) {
+    if ($login !~ /$createexp/) {
         ThrowUserError("account_creation_disabled");
     }
     
+    # Clear out the login cookies in case the user is currently logged in.
+    Bugzilla->logout();
+
     # Create account
     my $password = insert_new_user($login, $realname);
     MailPassword($login, $password);