$v) {
if (($v && (strpos($addr, $k) !== false)) || (!$v && preg_match($k, $addr))) {
return 1;
}
}
return;
}
function is_allowed_user(&$usr, $simple=0)
{
/* Check if the ban expired. */
if (($banned = $usr->users_opt & 65536) && $usr->ban_expiry && $usr->ban_expiry < __request_timestamp__) {
q('UPDATE fud30_users SET users_opt = '. q_bitand('users_opt', ~65536) .' WHERE id='. $usr->id);
$usr->users_opt ^= 65536;
$banned = 0;
}
if ($banned || is_email_blocked($usr->email) || is_login_blocked($usr->login) || is_ip_blocked(get_ip())) {
$ban_expiry = (int) $usr->ban_expiry;
$ban_reason = $usr->ban_reason;
if (!$simple) { // On login page we already have anon session.
ses_delete($usr->sid);
$usr = ses_anon_make();
}
setcookie($GLOBALS['COOKIE_NAME'].'1', 'd34db33fd34db33fd34db33fd34db33f', ($ban_expiry ? $ban_expiry : (__request_timestamp__ + 63072000)), $GLOBALS['COOKIE_PATH'], $GLOBALS['COOKIE_DOMAIN']);
if ($banned) {
error_dialog('ERROR: You have been banned.', 'Your account was '.($ban_expiry ? 'temporarily banned until '.print_date('%a, %d %B %Y %H:%M', $ban_expiry).'' : 'permanently banned' ) .' from accessing the site, due to a violation of the forum's rules.
'.$ban_reason.'');
} else {
error_dialog('ERROR: Your account has been filtered out.', 'Your account has been blocked from accessing the forum due to one of the installed user filters.');
}
}
if ($simple) {
return;
}
if ($GLOBALS['FUD_OPT_1'] & 1048576 && $usr->users_opt & 262144) {
error_dialog('ERROR: Your account is not yet confirmed', 'We have not received a confirmation from your parent and/or legal guardian, which would allow you to post messages. If you lost your COPPA form, view it again.');
}
if ($GLOBALS['FUD_OPT_2'] & 1 && !($usr->users_opt & 131072)) {
std_error('emailconf');
}
if ($GLOBALS['FUD_OPT_2'] & 1024 && $usr->users_opt & 2097152) {
error_dialog('Unverified Account', 'The administrator had chosen to review all accounts manually prior to activation. Until your account has been validated by the administrator you will not be able to utilize the full capabilities of your account.');
}
}
?>