mirror of
https://github.com/phpbb/phpbb.git
synced 2025-08-06 08:47:45 +02:00
[ticket/10073] Split email validation from email ban and taken checks
PHPBB3-10073
This commit is contained in:
@@ -1746,24 +1746,20 @@ function validate_password($password)
|
||||
}
|
||||
|
||||
/**
|
||||
* Check to see if email address is banned or already present in the DB
|
||||
* Check to see if email address is a valid address and contains a MX record
|
||||
*
|
||||
* @param string $email The email to check
|
||||
* @param string $allowed_email An allowed email, default being $user->data['user_email']
|
||||
*
|
||||
* @return mixed Either false if validation succeeded or a string which will be used as the error message (with the variable name appended)
|
||||
*/
|
||||
function validate_email($email, $allowed_email = false)
|
||||
function phpbb_validate_email($email, $config = null)
|
||||
{
|
||||
global $config, $db, $user;
|
||||
if ($config === null)
|
||||
{
|
||||
global $config;
|
||||
}
|
||||
|
||||
$email = strtolower($email);
|
||||
$allowed_email = ($allowed_email === false) ? strtolower($user->data['user_email']) : strtolower($allowed_email);
|
||||
|
||||
if ($allowed_email == $email)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
if (!preg_match('/^' . get_preg_expression('email') . '$/i', $email))
|
||||
{
|
||||
@@ -1782,6 +1778,35 @@ function validate_email($email, $allowed_email = false)
|
||||
}
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* Check to see if email address is banned or already present in the DB
|
||||
*
|
||||
* @param string $email The email to check
|
||||
* @param string $allowed_email An allowed email, default being $user->data['user_email']
|
||||
*
|
||||
* @return mixed Either false if validation succeeded or a string which will be used as the error message (with the variable name appended)
|
||||
*/
|
||||
function validate_user_email($email, $allowed_email = false)
|
||||
{
|
||||
global $config, $db, $user;
|
||||
|
||||
$email = strtolower($email);
|
||||
$allowed_email = ($allowed_email === false) ? strtolower($user->data['user_email']) : strtolower($allowed_email);
|
||||
|
||||
if ($allowed_email == $email)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
$validate_email = phpbb_validate_email($email, $config);
|
||||
if ($validate_email)
|
||||
{
|
||||
return $validate_email;
|
||||
}
|
||||
|
||||
if (($ban_reason = $user->check_ban(false, false, $email, true)) !== false)
|
||||
{
|
||||
return ($ban_reason === true) ? 'EMAIL_BANNED' : $ban_reason;
|
||||
|
Reference in New Issue
Block a user