for corp and edu sites, allow registration only to certain email addrs
This commit is contained in:
parent
aedae07af6
commit
4c2fbc81a0
30
boot.php
30
boot.php
|
@ -848,6 +848,36 @@ function allowed_url($url) {
|
||||||
return $found;
|
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')) {
|
if(! function_exists('format_like')) {
|
||||||
function format_like($cnt,$arr,$type,$id) {
|
function format_like($cnt,$arr,$type,$id) {
|
||||||
if($cnt == 1)
|
if($cnt == 1)
|
||||||
|
|
|
@ -65,6 +65,12 @@ function register_post(&$a) {
|
||||||
dbesc($email)
|
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))
|
if($r !== false && count($r))
|
||||||
$err .= t(' Your email address is already registered on this system.') ;
|
$err .= t(' Your email address is already registered on this system.') ;
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue