Записывает отладочную информацию в лог-файл и при необходимости отправляет отладочные данные на Email заданный в Система » Настройки
Синтаксис: error($text='не указана')
$text - возможность указать свою дополнительную отладочную информацию
Пример:
error('моя отладочная информация');
function error($text='не указана'){
$error = "Ошибка на странице: ".$_SERVER['REQUEST_URI']."\n".
"При переходе с страницы: ".$_SERVER['HTTP_REFERER']."\n".
"IP пользователя: ".$_SERVER['REMOTE_ADDR']."\n".
"Отладочная информация: ".$text."\n".
(mysql_errno()?"-----------------------MySQL-----------------------\n".mysql_error()."\n":'').
($_SESSION?"------------------------SESSION----------------------\n".print_r($_SESSION, true):'').
($_COOKIE?"------------------------COOKIE----------------------\n".print_r($_COOKIE, true):'').
($_GET?"-----------------------GET-----------------------\n".print_r($_GET, true)."\n":'').
($_POST?"------------------------POST----------------------\n".print_r($_POST, true)."\n":'').
($_FILES?"------------------------FILES----------------------\n".print_r($_FILES, true):'');
if($GLOBALS['SYSTEM']['config']['board_contact']
&& !mail_('error@'.statistics_host_clear($_SERVER['HTTP_HOST']), $_SERVER['HTTP_HOST'], $GLOBALS['SYSTEM']['config']['board_contact'], 'System Error', str_replace("\n", '<br>', htmlspecialchars($error)), false)){
log_('не удалось отправить лог ошибки на емэйл: '.$GLOBALS['SYSTEM']['config']['board_contact']);// если не получилось оптавить
}
log_($error);
$return = 'Извините, возникла ошибка программного характера.<br />Программный отдел уже осведомлен и решает данную проблему.<br />Приносим свои извинения за доставленное неудобство.';
return $_POST['ajax']? str_replace('<br />', " \n", $return) : $return;
}
|