diff options
Diffstat (limited to 'mod/register.php')
-rw-r--r-- | mod/register.php | 11 |
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); |