53 lines
1.3 KiB
PHP
53 lines
1.3 KiB
PHP
<?php
|
|
/*****************************************************************************
|
|
* ErrorLog.php
|
|
* Contains key class ErrorLog.
|
|
*
|
|
* Kabuki CMS (C) 2013-2015, Aaron van Geffen
|
|
*****************************************************************************/
|
|
|
|
class ErrorLog
|
|
{
|
|
public static function log(array $data)
|
|
{
|
|
if (!Registry::has('db'))
|
|
return false;
|
|
|
|
return Registry::get('db')->query('
|
|
INSERT INTO log_errors
|
|
(id_user, message, debug_info, file, line, request_uri, time, ip_address)
|
|
VALUES
|
|
({int:id_user}, {string:message}, {string:debug_info}, {string:file}, {int:line},
|
|
{string:request_uri}, CURRENT_TIMESTAMP, {string:ip_address})',
|
|
$data);
|
|
}
|
|
|
|
public static function flush()
|
|
{
|
|
return Registry::get('db')->query('DELETE FROM log_errors');
|
|
}
|
|
|
|
public static function getCount()
|
|
{
|
|
return Registry::get('db')->queryValue('
|
|
SELECT COUNT(*)
|
|
FROM log_errors');
|
|
}
|
|
|
|
public static function getOffset($offset, $limit, $order, $direction)
|
|
{
|
|
assert(in_array($order, ['id_entry', 'file', 'line', 'time', 'ipaddress', 'id_user']));
|
|
|
|
return Registry::get('db')->queryAssocs('
|
|
SELECT *
|
|
FROM log_errors
|
|
ORDER BY {raw:order}
|
|
LIMIT {int:offset}, {int:limit}',
|
|
[
|
|
'order' => $order . ($direction === 'up' ? ' ASC' : ' DESC'),
|
|
'offset' => $offset,
|
|
'limit' => $limit,
|
|
]);
|
|
}
|
|
}
|