aboutsummaryrefslogtreecommitdiffstats
path: root/mod/register.php
diff options
context:
space:
mode:
Diffstat (limited to 'mod/register.php')
-rw-r--r--mod/register.php11
1 files changed, 8 insertions, 3 deletions
diff --git a/mod/register.php b/mod/register.php
index 7aaf74792..5fac9d79c 100644
--- a/mod/register.php
+++ b/mod/register.php
@@ -103,10 +103,15 @@ function register_post(&$a) {
$err .= t('Not a valid email address.') . EOL;
// Disallow somebody creating an account using openid that uses the admin email address,
- // since openid bypasses email verification.
+ // since openid bypasses email verification. We'll allow it if there is not yet an admin account.
- if((x($a->config,'admin_email')) && (strcasecmp($email,$a->config['admin_email']) == 0) && strlen($openid_url))
- $err .= t('Cannot use that email.') . EOL;
+ if((x($a->config,'admin_email')) && (strcasecmp($email,$a->config['admin_email']) == 0) && strlen($openid_url)) {
+ $r = q("SELECT * FROM `user` WHERE `email` = '%s' LIMIT 1",
+ dbesc($email)
+ );
+ if(count($r))
+ $err .= t('Cannot use that email.') . EOL;
+ }
$nickname = $_POST['nickname'] = strtolower($nickname);