for corp and edu sites, allow registration only to certain email addrs
This commit is contained in:
parent
aedae07af6
commit
4c2fbc81a0
2 changed files with 36 additions and 0 deletions
30
boot.php
30
boot.php
|
@ -848,6 +848,36 @@ function allowed_url($url) {
|
|||
return $found;
|
||||
}}
|
||||
|
||||
if(! function_exists('allowed_email')) {
|
||||
function allowed_email($email) {
|
||||
|
||||
|
||||
$domain = strtolower(substr($email,strpos($email,'@') + 1));
|
||||
if(! $domain)
|
||||
return false;
|
||||
|
||||
$str_allowed = get_config('system','allowed_email');
|
||||
if(! $str_allowed)
|
||||
return true;
|
||||
|
||||
$found = false;
|
||||
|
||||
$fnmatch = function_exists('fnmatch');
|
||||
$allowed = explode(',',$str_allowed);
|
||||
|
||||
if(count($allowed)) {
|
||||
foreach($allowed as $a) {
|
||||
$pat = strtolower(trim($a));
|
||||
if(($fnmatch && fnmatch($pat,$host)) || ($pat == $host)) {
|
||||
$found = true;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
return $found;
|
||||
}}
|
||||
|
||||
|
||||
if(! function_exists('format_like')) {
|
||||
function format_like($cnt,$arr,$type,$id) {
|
||||
if($cnt == 1)
|
||||
|
|
|
@ -65,6 +65,12 @@ function register_post(&$a) {
|
|||
dbesc($email)
|
||||
);
|
||||
|
||||
if(!eregi('[A-Za-z0-9._%-]+@[A-Za-z0-9._%-]+\.[A-Za-z]{2,6}',$email))
|
||||
$err .= t(' Not valid email.');
|
||||
|
||||
if(! allowed_email($email))
|
||||
$err .= t(' Your email domain is not among those allowed on this site.');
|
||||
|
||||
if($r !== false && count($r))
|
||||
$err .= t(' Your email address is already registered on this system.') ;
|
||||
|
||||
|
|
Loading…
Reference in a new issue