ave-cms/functions/func.logs.php

112 lines
2.3 KiB
PHP
Raw Permalink Normal View History

2017-06-24 00:58:56 +03:00
<?php
2018-04-19 19:11:58 +03:00
/**
* AVE.cms
*
* @package AVE.cms
* @version 3.x
* @filesource
* @copyright © 2007-2014 AVE.cms, http://www.ave-cms.ru
*
* @license GPL v.2
*/
/**
* Запись события в лог
*
* @param string $message Текст сообщения
* @param int $typ тип сообщения
* @param int $rub номер рубрики
2024-10-18 12:31:03 +03:00
* @return void
2018-04-19 19:11:58 +03:00
*/
2024-10-18 12:31:03 +03:00
function reportLog(string $message, int $typ = 0, int $rub = 0)
2018-04-19 19:11:58 +03:00
{
2024-10-18 12:31:03 +03:00
$logfile = BASE_DIR . '/tmp/logs/log.csv';
2018-04-19 19:11:58 +03:00
2024-10-18 12:31:03 +03:00
$logData = [
2018-04-19 19:11:58 +03:00
'log_time' => time(),
'log_ip' => $_SERVER['REMOTE_ADDR'],
2020-06-17 19:35:46 +03:00
'log_url' => $_SERVER['REQUEST_URI'],
2024-10-18 12:31:03 +03:00
'log_user_id' => ($_SESSION['user_id'] ?? '0'),
'log_user_name' => ($_SESSION['user_name'] ?? 'Anonymous'),
2018-04-19 19:11:58 +03:00
'log_text' => $message,
'log_type' => (int)$typ,
'log_rubric' => (int)$rub
2024-10-18 12:31:03 +03:00
];
if ($f_log = @fopen($logfile, 'ab'))
{
if (flock($f_log, LOCK_EX))
{
fputcsv($f_log, $logData);
flock($f_log, LOCK_UN);
}
fclose($f_log);
}
2018-04-19 19:11:58 +03:00
}
/**
* Запись события в лог для Sql ошибок
*
* @param string $message Текст сообщения
2024-10-18 12:31:03 +03:00
* @return void
2018-04-19 19:11:58 +03:00
*/
function reportSqlLog($message)
{
2024-10-18 12:31:03 +03:00
$logfile = BASE_DIR . '/tmp/logs/sql.csv';
2018-04-19 19:11:58 +03:00
2024-10-18 12:31:03 +03:00
$logData = [
2018-04-19 19:11:58 +03:00
'log_time' => time(),
'log_ip' => $_SERVER['REMOTE_ADDR'],
2020-06-17 19:35:46 +03:00
'log_url' => $_SERVER['REQUEST_URI'],
2018-04-19 19:11:58 +03:00
'log_user_id' => $_SESSION['user_id'],
'log_user_name' => $_SESSION['user_name'],
2024-10-18 12:31:03 +03:00
'log_text' => base64_encode(serialize($message))
];
if ($f_log = @fopen($logfile, 'ab'))
{
if (flock($f_log, LOCK_EX))
{
fputcsv($f_log, $logData);
flock($f_log, LOCK_UN);
}
fclose($f_log);
}
2018-04-19 19:11:58 +03:00
}
/**
* Запись события в лог для 404 ошибок
*
* @param string $message Текст сообщения
2024-10-18 12:31:03 +03:00
* @return void
2018-04-19 19:11:58 +03:00
*/
function report404()
{
2024-10-18 12:31:03 +03:00
$logfile = BASE_DIR . '/tmp/logs/404.csv';
2018-04-19 19:11:58 +03:00
2024-10-18 12:31:03 +03:00
$logData = [
2018-04-19 19:11:58 +03:00
'log_time' => time(),
'log_ip' => @$_SERVER['REMOTE_ADDR'],
2020-06-17 19:35:46 +03:00
'log_query' => @$_SERVER['REQUEST_URI'],
2018-04-19 19:11:58 +03:00
'log_user_agent' => @$_SERVER['HTTP_USER_AGENT'],
2024-10-18 12:31:03 +03:00
'log_user_referer' => ($_SERVER['HTTP_REFERER'] ?? ''),
2018-04-19 19:11:58 +03:00
'log_request_uri' => @$_SERVER['REQUEST_URI']
2024-10-18 12:31:03 +03:00
];
if ($f_log = @fopen($logfile, 'ab'))
{
if (flock($f_log, LOCK_EX))
{
fputcsv($f_log, $logData);
flock($f_log, LOCK_UN);
}
fclose($f_log);
}
2018-04-19 19:11:58 +03:00
}
2017-06-24 00:58:56 +03:00
?>