63 lines
2.0 KiB
PHP
63 lines
2.0 KiB
PHP
<?php if (!defined('BASEPATH')) {
|
|
exit('No direct script access allowed');
|
|
}
|
|
|
|
class Crash_log_model extends CI_Model
|
|
{
|
|
public function __constructor()
|
|
{
|
|
parrent::__constructor();
|
|
}
|
|
|
|
public function getLogQuery($params = [])
|
|
{
|
|
$whereQuery = ' WHERE 1 = 1 ';
|
|
|
|
if (!empty($params['member_id_filter'])) {
|
|
$whereQuery .= " AND a.member_id = " . pg_escape_string(trim($params['member_id_filter'])) . " ";
|
|
}
|
|
|
|
if (!empty($params['username_filter'])) {
|
|
$whereQuery .= " AND b.username ILIKE '%" . pg_escape_string(trim($params['username_filter'])) . "%' ";
|
|
}
|
|
|
|
if (!empty($params['ip_address_filter'])) {
|
|
$whereQuery .= " AND a.ip = '" . pg_escape_string(trim($params['ip_address_filter'])) . "' ";
|
|
}
|
|
|
|
if (!empty($params['number_filter'])) {
|
|
$whereQuery .= " AND a.number ILIKE '%" . pg_escape_string(trim($params['number_filter'])) . "%' ";
|
|
}
|
|
|
|
|
|
if (!empty($params['added_filter'])) {
|
|
// added_filter format: 2020-02-03 - 2020-03-01
|
|
$fromToArray = explode(' - ', $params['added_filter']);
|
|
$fromDate = $fromToArray[0];
|
|
$toDate = $fromToArray[1];
|
|
|
|
$whereQuery .= " AND to_char(a.added, 'YYYY-MM-DD') >= '" . pg_escape_string($fromDate) . "'
|
|
AND to_char(a.added, 'YYYY-MM-DD') <= '" . pg_escape_string($toDate) . "'
|
|
";
|
|
}
|
|
|
|
$query = "
|
|
SELECT
|
|
'<button type=\"button\" class=\"btn btn-info btn-xs\" onclick=\"return viewCrash(' || a.id || ',''' || a.number || ''')\">View</button>' AS edit,
|
|
a.member_id,
|
|
b.username,
|
|
a.ip,
|
|
a.number,
|
|
a.added
|
|
FROM
|
|
crash_log a
|
|
LEFT JOIN members b ON (b.id = a.member_id)
|
|
" . $whereQuery . "
|
|
ORDER BY
|
|
a.added DESC
|
|
";
|
|
|
|
return $query;
|
|
}
|
|
}
|