sid;
}
// Log the error.
if (defined('fud_logging') || $level !== 'INFO') {
// Build error string.
$error_msg = '[Error] '. $title .'
';
$error_msg .= '[Message to User] '. trim($msg) .'
';
$error_msg .= '[User IP] '. get_ip() .'
';
$error_msg .= '[Requested URL] http://';
$error_msg .= isset($_SERVER['HTTP_HOST']) ? htmlspecialchars($_SERVER['HTTP_HOST']) : '';
$error_msg .= isset($_SERVER['REQUEST_URI']) ? htmlspecialchars($_SERVER['REQUEST_URI']) : '';
// Mask out sensitive data.
unset($_POST['password']);
unset($_POST['quick_password']);
$error_msg .= !empty($_POST) ? '
[Post-Data] '. htmlspecialchars(serialize($_POST)) : '';
$error_msg .= '
';
if (isset($_SERVER['HTTP_REFERER'])) {
$error_msg .= '[Referring URL] '. htmlspecialchars($_SERVER['HTTP_REFERER']) .'
';
} else if (isset($_SERVER['HTTP_USER_AGENT'])) {
$error_msg .= '[User Agent] '. htmlspecialchars($_SERVER['HTTP_USER_AGENT']) .'
';
}
fud_logerror($error_msg, 'fud_errors');
}
// No need to redirect, we just want to log the error.
if ($level == 'LOG&RETURN') {
return;
}
// Store persistently.
ses_putvar($ses, array('er_msg' => $msg, 'err_t' => $title));
// Redirect to error template.
if (is_int($ses)) {
if ($GLOBALS['FUD_OPT_2'] & 32768) {
header('Location: [[relativeurl]]/index.php/e/'. _rsidl);
} else {
header('Location: [[relativeurl]]/index.php?t=error&'. _rsidl);
}
} else {
if ($GLOBALS['FUD_OPT_2'] & 32768) {
header('Location: [[relativeurl]]/index.php/e/0/'. $ses);
} else {
header('Location: [[relativeurl]]/index.php?t=error&S='. $ses);
}
}
exit;
}
/** Signal standard errors. */
function std_error($type)
{
if (!isset($_SERVER['HTTP_REFERER'])) {
$_SERVER['HTTP_REFERER'] = 'unknown';
}
$ses_id = s;
$usr_d = new stdClass();
$usr_d->email = $GLOBALS['usr']->email;
if ($type == 'login') {
if (__fud_real_user__) {
$type = 'perms';
} else {
ses_anonuser_auth($GLOBALS['usr']->sid, '
|