}
}
+ if (!empty($newuser->email)) {
+ if (email_is_not_allowed($newuser->email)) {
+ unset($newuser->email);
+ }
+ }
+
$newuser->auth = (empty($auth)) ? $CFG->auth : $auth;
$newuser->username = $username;
$newuser->password = md5($password);
}
+function email_is_not_allowed($email) {
+/// Check that an email is allowed. It returns an error message if there
+/// was a problem.
+
+ global $CFG;
+
+ if (!empty($CFG->allowemailaddresses)) {
+ $allowed = explode(' ', $CFG->allowemailaddresses);
+ foreach ($allowed as $allowedpattern) {
+ $allowedpattern = trim($allowedpattern);
+ if (!$allowedpattern) {
+ continue;
+ }
+ if (strpos($email, $allowedpattern) !== false) { // Match!
+ return false;
+ }
+ }
+ return get_string("emailonlyallowed", '', $CFG->allowemailaddresses);
+
+ } else if (!empty($CFG->denyemailaddresses)) {
+ $denied = explode(' ', $CFG->denyemailaddresses);
+ foreach ($denied as $deniedpattern) {
+ $deniedpattern = trim($deniedpattern);
+ if (!$deniedpattern) {
+ continue;
+ }
+ if (strpos($email, $deniedpattern) !== false) { // Match!
+ return get_string("emailnotallowed", '', $CFG->denyemailaddresses);
+ }
+ }
+ }
+
+ return false;
+}
/// FILE HANDLING /////////////////////////////////////////////
}
if (empty($err->email)) {
- if (!empty($CFG->allowemailaddresses)) {
- $allowed = explode(' ', $CFG->allowemailaddresses);
- $err->email = get_string("emailonlyallowed", '', $CFG->allowemailaddresses); // Default
- foreach ($allowed as $allowedpattern) {
- $allowedpattern = trim($allowedpattern);
- if (!$allowedpattern) {
- continue;
- }
- if (strpos($user->email, $allowedpattern) !== false) {
- unset($err->email);
- }
- }
- } else if (!empty($CFG->denyemailaddresses)) {
- $denied = explode(' ', $CFG->denyemailaddresses);
- foreach ($denied as $deniedpattern) {
- $deniedpattern = trim($deniedpattern);
- if (!$deniedpattern) {
- continue;
- }
- if (strpos($user->email, $deniedpattern) !== false) {
- $err->email = get_string("emailnotallowed", '', $CFG->denyemailaddresses);
- }
- }
+ if ($error = email_is_not_allowed($user->email)) {
+ $err->email = $error;
}
}
}
if (empty($err["email"]) and !isadmin()) {
- if (!empty($CFG->allowemailaddresses)) {
- $allowed = explode(' ', $CFG->allowemailaddresses);
- $err["email"] = get_string("emailonlyallowed", '', $CFG->allowemailaddresses); // Default
- foreach ($allowed as $allowedpattern) {
- $allowedpattern = trim($allowedpattern);
- if (!$allowedpattern) {
- continue;
- }
- if (strpos($usernew->email, $allowedpattern) !== false) {
- unset($err["email"]);
- }
- }
- } else if (!empty($CFG->denyemailaddresses)) {
- $denied = explode(' ', $CFG->denyemailaddresses);
- foreach ($denied as $deniedpattern) {
- $deniedpattern = trim($deniedpattern);
- if (!$deniedpattern) {
- continue;
- }
- if (strpos($usernew->email, $deniedpattern) !== false) {
- $err->email = get_string("emailnotallowed", '', $CFG->denyemailaddresses);
- }
- }
+ if ($error = email_is_not_allowed($usernew->email)) {
+ $err["email"] = $error;
}
}