File "fetch_users_log.php"
Full path: /home/mysamm/public_html/mysamm_login/fetch_users_log.php
File
size: 2.41 B
MIME-type: text/x-php; charset=us-ascii
Charset: utf-8
Download Open Edit Advanced Editor &nnbsp; Back
<?php
require_once "/home/mysamm/price_checker/lib/connections.php";
if (isset($_SESSION['user_type']) && $_SESSION['user_type'] !== 'superadmin') {
header("Location: login.php");
exit();
}
$db = new Connection();
// Get parameters from DataTables request
$start = isset($_GET['start']) ? $_GET['start'] : 0;
$length = isset($_GET['length']) ? $_GET['length'] : 10;
$searchValue = isset($_GET['search']['value']) ? $_GET['search']['value'] : '';
$orderColumnIndex = isset($_GET['order'][0]['column']) ? $_GET['order'][0]['column'] : 0;
$orderDir = isset($_GET['order'][0]['dir']) ? $_GET['order'][0]['dir'] : 'desc';
// Define columns mapping for ordering
$columns = ['id', 'user_name', 'admin_name', 'last_login', 'ip_address', 'last_page'];
$orderColumn = isset($columns[$orderColumnIndex]) ? $columns[$orderColumnIndex] : 'id';
// Base query
$query = "SELECT * FROM users_log WHERE 1";
//$query = "SELECT * FROM users_log WHERE last_login >= DATE_SUB(NOW(), INTERVAL 1 MONTH)";
// Apply search filter
if (!empty($searchValue)) {
$query .= " AND (user_name LIKE '%$searchValue%'
OR admin_name LIKE '%$searchValue%'
OR last_login LIKE '%$searchValue%'
OR ip_address LIKE '%$searchValue%'
OR last_page LIKE '%$searchValue%')";
}
// Get total records without filtering
$totalRecordsQuery = $db->Query("SELECT COUNT(*) as total FROM users_log ");
$totalRecords = $totalRecordsQuery[0]['total'];
// Get filtered records count
$filteredQuery = $db->Query("SELECT COUNT(*) as total FROM ($query) as filtered");
$filteredRecords = $filteredQuery[0]['total'];
// Apply ordering and pagination
$query .= " ORDER BY $orderColumn $orderDir LIMIT $start, $length";
$users = $db->Query($query);
// Prepare response
$data = [];
foreach ($users as $row) {
$data[] = [
"id" => $row['id'],
"user_name" => htmlspecialchars(ucfirst($row['user_name'])),
"admin_name" => htmlspecialchars($row['admin_name']),
"last_login" => date("F j, Y, g:i a", strtotime($row['last_login'])),
"ip_address" => $row['ip_address'],
"last_page" => htmlspecialchars($row['last_page'])
];
}
echo json_encode([
"draw" => isset($_GET['draw']) ? intval($_GET['draw']) : 1,
"recordsTotal" => $totalRecords,
"recordsFiltered" => $filteredRecords,
"data" => $data
]);
?>