Add the session status to user logs
This commit is contained in:
parent
ffd0545a22
commit
452ddc9539
|
|
@ -19,7 +19,6 @@
|
||||||
$apps[$x]['permissions'][$y]['groups'][] = 'superadmin';
|
$apps[$x]['permissions'][$y]['groups'][] = 'superadmin';
|
||||||
$y++;
|
$y++;
|
||||||
$apps[$x]['permissions'][$y]['name'] = 'user_log_delete';
|
$apps[$x]['permissions'][$y]['name'] = 'user_log_delete';
|
||||||
//$apps[$x]['permissions'][$y]['groups'][] = 'superadmin';
|
|
||||||
$y++;
|
$y++;
|
||||||
|
|
||||||
//User Logs
|
//User Logs
|
||||||
|
|
@ -80,6 +79,11 @@
|
||||||
$apps[$x]['db'][$y]['fields'][$z]['search_by'] = 'true';
|
$apps[$x]['db'][$y]['fields'][$z]['search_by'] = 'true';
|
||||||
$apps[$x]['db'][$y]['fields'][$z]['description']['en-us'] = 'Enter the user agent.';
|
$apps[$x]['db'][$y]['fields'][$z]['description']['en-us'] = 'Enter the user agent.';
|
||||||
$z++;
|
$z++;
|
||||||
|
$apps[$x]['db'][$y]['fields'][$z]['name'] = 'session_id';
|
||||||
|
$apps[$x]['db'][$y]['fields'][$z]['type'] = 'text';
|
||||||
|
$apps[$x]['db'][$y]['fields'][$z]['search_by'] = 'true';
|
||||||
|
$apps[$x]['db'][$y]['fields'][$z]['description']['en-us'] = '';
|
||||||
|
$z++;
|
||||||
$apps[$x]['db'][$y]['fields'][$z]['name'] = "insert_date";
|
$apps[$x]['db'][$y]['fields'][$z]['name'] = "insert_date";
|
||||||
$apps[$x]['db'][$y]['fields'][$z]['type']['pgsql'] = 'timestamptz';
|
$apps[$x]['db'][$y]['fields'][$z]['type']['pgsql'] = 'timestamptz';
|
||||||
$apps[$x]['db'][$y]['fields'][$z]['type']['sqlite'] = 'date';
|
$apps[$x]['db'][$y]['fields'][$z]['type']['sqlite'] = 'date';
|
||||||
|
|
|
||||||
|
|
@ -17,7 +17,7 @@
|
||||||
|
|
||||||
The Initial Developer of the Original Code is
|
The Initial Developer of the Original Code is
|
||||||
Mark J Crane <markjcrane@fusionpbx.com>
|
Mark J Crane <markjcrane@fusionpbx.com>
|
||||||
Portions created by the Initial Developer are Copyright (C) 2019-2021
|
Portions created by the Initial Developer are Copyright (C) 2019-2024
|
||||||
the Initial Developer. All Rights Reserved.
|
the Initial Developer. All Rights Reserved.
|
||||||
|
|
||||||
Contributor(s):
|
Contributor(s):
|
||||||
|
|
@ -63,8 +63,9 @@ if (!class_exists('user_logs')) {
|
||||||
* add user_logs
|
* add user_logs
|
||||||
*/
|
*/
|
||||||
public static function add($result) {
|
public static function add($result) {
|
||||||
$array = [];
|
|
||||||
//prepare the array
|
//prepare the array
|
||||||
|
$array = [];
|
||||||
$array['user_logs'][0]["timestamp"] = 'now()';
|
$array['user_logs'][0]["timestamp"] = 'now()';
|
||||||
$array['user_logs'][0]["domain_uuid"] = $result['domain_uuid'];
|
$array['user_logs'][0]["domain_uuid"] = $result['domain_uuid'];
|
||||||
$array['user_logs'][0]["user_uuid"] = $result['user_uuid'];
|
$array['user_logs'][0]["user_uuid"] = $result['user_uuid'];
|
||||||
|
|
@ -72,6 +73,7 @@ if (!class_exists('user_logs')) {
|
||||||
$array['user_logs'][0]["type"] = 'login';
|
$array['user_logs'][0]["type"] = 'login';
|
||||||
$array['user_logs'][0]["remote_address"] = $_SERVER['REMOTE_ADDR'];
|
$array['user_logs'][0]["remote_address"] = $_SERVER['REMOTE_ADDR'];
|
||||||
$array['user_logs'][0]["user_agent"] = $_SERVER['HTTP_USER_AGENT'];
|
$array['user_logs'][0]["user_agent"] = $_SERVER['HTTP_USER_AGENT'];
|
||||||
|
$array['user_logs'][0]["session_id"] = session_id();
|
||||||
$array['user_logs'][0]["type"] = 'login';
|
$array['user_logs'][0]["type"] = 'login';
|
||||||
if ($result["authorized"] == "true") {
|
if ($result["authorized"] == "true") {
|
||||||
$array['user_logs'][0]["result"] = 'success';
|
$array['user_logs'][0]["result"] = 'success';
|
||||||
|
|
|
||||||
|
|
@ -17,7 +17,7 @@
|
||||||
|
|
||||||
The Initial Developer of the Original Code is
|
The Initial Developer of the Original Code is
|
||||||
Mark J Crane <markjcrane@fusionpbx.com>
|
Mark J Crane <markjcrane@fusionpbx.com>
|
||||||
Portions created by the Initial Developer are Copyright (C) 2018 - 2023
|
Portions created by the Initial Developer are Copyright (C) 2018 - 2024
|
||||||
the Initial Developer. All Rights Reserved.
|
the Initial Developer. All Rights Reserved.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
|
@ -81,6 +81,9 @@
|
||||||
exit;
|
exit;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//get the session path
|
||||||
|
$session_path = session_save_path();
|
||||||
|
|
||||||
//get order and order by
|
//get order and order by
|
||||||
$order_by = $_GET["order_by"] ?? null;
|
$order_by = $_GET["order_by"] ?? null;
|
||||||
$order = $_GET["order"] ?? null;
|
$order = $_GET["order"] ?? null;
|
||||||
|
|
@ -153,7 +156,8 @@
|
||||||
$sql .= "type, ";
|
$sql .= "type, ";
|
||||||
$sql .= "result, ";
|
$sql .= "result, ";
|
||||||
$sql .= "remote_address, ";
|
$sql .= "remote_address, ";
|
||||||
$sql .= "user_agent ";
|
$sql .= "user_agent, ";
|
||||||
|
$sql .= "session_id ";
|
||||||
$sql .= "from v_user_logs as u, v_domains as d ";
|
$sql .= "from v_user_logs as u, v_domains as d ";
|
||||||
if (permission_exists('user_log_all') && $show == 'all') {
|
if (permission_exists('user_log_all') && $show == 'all') {
|
||||||
$sql .= "where true ";
|
$sql .= "where true ";
|
||||||
|
|
@ -236,6 +240,7 @@
|
||||||
}
|
}
|
||||||
echo "<th class='left'>".$text['label-date']."</th>\n";
|
echo "<th class='left'>".$text['label-date']."</th>\n";
|
||||||
echo "<th class='left hide-md-dn'>".$text['label-time']."</th>\n";
|
echo "<th class='left hide-md-dn'>".$text['label-time']."</th>\n";
|
||||||
|
echo "<th class='right'>".$text['label-status']."</th>\n";
|
||||||
echo th_order_by('username', $text['label-username'], $order_by, $order);
|
echo th_order_by('username', $text['label-username'], $order_by, $order);
|
||||||
echo th_order_by('type', $text['label-type'], $order_by, $order);
|
echo th_order_by('type', $text['label-type'], $order_by, $order);
|
||||||
echo th_order_by('result', $text['label-result'], $order_by, $order);
|
echo th_order_by('result', $text['label-result'], $order_by, $order);
|
||||||
|
|
@ -246,6 +251,10 @@
|
||||||
if (!empty($user_logs) && is_array($user_logs) && @sizeof($user_logs) != 0) {
|
if (!empty($user_logs) && is_array($user_logs) && @sizeof($user_logs) != 0) {
|
||||||
$x = 0;
|
$x = 0;
|
||||||
foreach ($user_logs as $row) {
|
foreach ($user_logs as $row) {
|
||||||
|
//check the session status
|
||||||
|
$session_file = 'sess_'.$row['session_id'];
|
||||||
|
$session_status = (!empty($row['session_id']) && file_exists($session_path.'/'.$session_file)) ? 'active' : 'inactive';
|
||||||
|
|
||||||
echo "<tr class='list-row'>\n";
|
echo "<tr class='list-row'>\n";
|
||||||
if (permission_exists('user_log_delete')) {
|
if (permission_exists('user_log_delete')) {
|
||||||
echo " <td class='checkbox'>\n";
|
echo " <td class='checkbox'>\n";
|
||||||
|
|
@ -258,6 +267,7 @@
|
||||||
}
|
}
|
||||||
echo " <td>".escape($row['date_formatted'])."</td>\n";
|
echo " <td>".escape($row['date_formatted'])."</td>\n";
|
||||||
echo " <td class='left hide-md-dn'>".escape($row['time_formatted'])."</td>\n";
|
echo " <td class='left hide-md-dn'>".escape($row['time_formatted'])."</td>\n";
|
||||||
|
echo " <td><div class='list-status-".$session_status."'></div></td>\n";
|
||||||
echo " <td>".escape($row['username'])."</td>\n";
|
echo " <td>".escape($row['username'])."</td>\n";
|
||||||
echo " <td>".escape($row['type'])."</td>\n";
|
echo " <td>".escape($row['type'])."</td>\n";
|
||||||
echo " <td>".escape($row['result'])."</td>\n";
|
echo " <td>".escape($row['result'])."</td>\n";
|
||||||
|
|
|
||||||
|
|
@ -3230,6 +3230,22 @@ else { //default: white
|
||||||
white-space: nowrap;
|
white-space: nowrap;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.list-status-active {
|
||||||
|
width: 10px;
|
||||||
|
height: 10px;
|
||||||
|
background-color: green;
|
||||||
|
border-radius: 50%;
|
||||||
|
display: inline-block;
|
||||||
|
}
|
||||||
|
|
||||||
|
.list-status-inactive {
|
||||||
|
width: 10px;
|
||||||
|
height: 10px;
|
||||||
|
background-color: #ccc;
|
||||||
|
border-radius: 50%;
|
||||||
|
display: inline-block;
|
||||||
|
}
|
||||||
|
|
||||||
/* EDIT ********************************************************************************/
|
/* EDIT ********************************************************************************/
|
||||||
|
|
||||||
td.edit_delete_checkbox_all {
|
td.edit_delete_checkbox_all {
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue