diff options
author | friendica <info@friendica.com> | 2015-01-26 18:27:03 -0800 |
---|---|---|
committer | friendica <info@friendica.com> | 2015-01-26 18:27:03 -0800 |
commit | ac594183c6fdc6cf4d5a2a29ade7478a17336397 (patch) | |
tree | d38f73727da4d8697b00d2102ae10b501d1909ce /include/network.php | |
parent | e6bfe3f2c10e851ed5ba49886ec8d0a9a9de2296 (diff) | |
parent | 9f5bfca28dde23893156ad36682e20ca2fc0dd45 (diff) | |
download | volse-hubzilla-ac594183c6fdc6cf4d5a2a29ade7478a17336397.tar.gz volse-hubzilla-ac594183c6fdc6cf4d5a2a29ade7478a17336397.tar.bz2 volse-hubzilla-ac594183c6fdc6cf4d5a2a29ade7478a17336397.zip |
Merge branch 'master' into tres and add some work on the item_deleted flag refactor
Conflicts:
include/attach.php
include/onedirsync.php
include/zot.php
mod/locs.php
Diffstat (limited to 'include/network.php')
-rw-r--r-- | include/network.php | 35 |
1 files changed, 29 insertions, 6 deletions
diff --git a/include/network.php b/include/network.php index 8082d0217..5f95cf0e0 100644 --- a/include/network.php +++ b/include/network.php @@ -464,24 +464,47 @@ function allowed_email($email) { return false; $str_allowed = get_config('system','allowed_email'); - if(! $str_allowed) + $str_not_allowed = get_config('system','not_allowed_email'); + + if(! $str_allowed && ! $str_not_allowed) return true; - $found = false; - + $return = false; + $found_allowed = false; + $found_not_allowed = false; + $fnmatch = function_exists('fnmatch'); + $allowed = explode(',',$str_allowed); if(count($allowed)) { foreach($allowed as $a) { $pat = strtolower(trim($a)); - if(($fnmatch && fnmatch($pat,$domain)) || ($pat == $domain)) { - $found = true; + if(($fnmatch && fnmatch($pat,$email)) || ($pat == $domain)) { + $found_allowed = true; break; } } } - return $found; + + $not_allowed = explode(',',$str_not_allowed); + + if(count($not_allowed)) { + foreach($not_allowed as $na) { + $pat = strtolower(trim($na)); + if(($fnmatch && fnmatch($pat,$email)) || ($pat == $domain)) { + $found_not_allowed = true; + break; + } + } + } + + if ($found_allowed) { + $return = true; + } elseif (!$str_allowed && !$found_not_allowed) { + $return = true; + } + return $return; } |