diff --git a/core/user_logs/user_logs.php b/core/user_logs/user_logs.php
index b497244ad7..976158cc0a 100644
--- a/core/user_logs/user_logs.php
+++ b/core/user_logs/user_logs.php
@@ -1,270 +1,283 @@
-
- Portions created by the Initial Developer are Copyright (C) 2018 - 2020
- the Initial Developer. All Rights Reserved.
-*/
-
-//includes
- require_once "root.php";
- require_once "resources/require.php";
- require_once "resources/check_auth.php";
- require_once "resources/paging.php";
-
-//check permissions
- if (permission_exists('user_log_view')) {
- //access granted
- }
- else {
- echo "access denied";
- exit;
- }
-
-//add multi-lingual support
- $language = new text;
- $text = $language->get();
-
-//get the http post data
- if (is_array($_POST['user_logs'])) {
- $action = $_POST['action'];
- $search = $_POST['search'];
- $user_logs = $_POST['user_logs'];
- }
-
-//process the http post data by action
- if ($action != '' && is_array($user_logs) && @sizeof($user_logs) != 0) {
-
- //validate the token
- $token = new token;
- if (!$token->validate($_SERVER['PHP_SELF'])) {
- message::add($text['message-invalid_token'],'negative');
- header('Location: user_logs.php');
- exit;
- }
-
- //prepare the array
- foreach($user_logs as $row) {
- $array['user_logs'][$x]['checked'] = $row['checked'];
- $array['user_logs'][$x]['user_log_uuid'] = $row['user_log_uuid'];
- $x++;
- }
-
- //prepare the database object
- $database = new database;
- $database->app_name = 'user_logs';
- $database->app_uuid = '582a13cf-7d75-4ea3-b2d9-60914352d76e';
-
- //send the array to the database class
- if ($action == 'delete') {
- if (permission_exists('user_log_delete')) {
- $database->delete($array);
- }
- }
-
- //redirect the user
- header('Location: user_logs.php'.($search != '' ? '?search='.urlencode($search) : null));
- exit;
- }
-
-//get order and order by
- $order_by = $_GET["order_by"];
- $order = $_GET["order"];
-
-//add the search
- if (isset($_GET["search"])) {
- $search = strtolower($_GET["search"]);
- }
-
-//get the count
- $sql = "select count(user_log_uuid) ";
- $sql .= "from v_user_logs ";
- if (permission_exists('user_log_all') && $_GET['show'] == 'all') {
- $sql .= "where true ";
- }
- else {
- $sql .= "where (domain_uuid = :domain_uuid or domain_uuid is null) ";
- $parameters['domain_uuid'] = $_SESSION['domain_uuid'];
- }
- if (isset($search)) {
- $sql .= "and (";
- $sql .= " lower(username) like :search ";
- $sql .= " or lower(type) like :search ";
- $sql .= " or lower(result) like :search ";
- $sql .= " or lower(remote_address) like :search ";
- $sql .= " or lower(user_agent) like :search ";
- $sql .= ") ";
- $parameters['search'] = '%'.$search.'%';
- }
- $database = new database;
- $num_rows = $database->select($sql, $parameters, 'column');
- unset($sql, $parameters);
-
-//prepare to page the results
- $rows_per_page = ($_SESSION['domain']['paging']['numeric'] != '') ? $_SESSION['domain']['paging']['numeric'] : 50;
- $param = $search ? "&search=".$search : null;
- $param = ($_GET['show'] == 'all' && permission_exists('user_log_all')) ? "&show=all" : null;
- $page = is_numeric($_GET['page']) ? $_GET['page'] : 0;
- list($paging_controls, $rows_per_page) = paging($num_rows, $param, $rows_per_page);
- list($paging_controls_mini, $rows_per_page) = paging($num_rows, $param, $rows_per_page, true);
- $offset = $rows_per_page * $page;
-
-//get the list
- $sql = "select ";
- $sql .= "domain_uuid, ";
- $sql .= "user_log_uuid, ";
- $sql .= "timestamp, ";
- $sql .= "username, ";
- $sql .= "type, ";
- $sql .= "result, ";
- $sql .= "remote_address, ";
- $sql .= "user_agent ";
- $sql .= "from v_user_logs ";
- if (permission_exists('user_log_all') && $_GET['show'] == 'all') {
- $sql .= "where true ";
- }
- else {
- $sql .= "where (domain_uuid = :domain_uuid or domain_uuid is null) ";
- $parameters['domain_uuid'] = $_SESSION['domain_uuid'];
- }
- if (isset($search)) {
- $sql .= "and ( ";
- $sql .= " lower(username) like :search ";
- $sql .= " or lower(type) like :search ";
- $sql .= " or lower(result) like :search ";
- $sql .= " or lower(remote_address) like :search ";
- $sql .= " or lower(user_agent) like :search ";
- $sql .= ") ";
- $parameters['search'] = '%'.$search.'%';
- }
- $sql .= order_by($order_by, $order, 'timestamp', 'desc');
- $sql .= limit_offset($rows_per_page, $offset);
- $database = new database;
- $user_logs = $database->select($sql, $parameters, 'all');
- unset($sql, $parameters);
-
-//create token
- $object = new token;
- $token = $object->create($_SERVER['PHP_SELF']);
-
-//additional includes
- $document['title'] = $text['title-user_logs'];
- require_once "resources/header.php";
-
-//show the content
- echo "
\n";
- echo "
".$text['title-user_logs']." (".$num_rows.")
\n";
- echo "
\n";
- if (permission_exists('user_log_delete') && $user_logs) {
- echo button::create(['type'=>'button','label'=>$text['button-delete'],'icon'=>$_SESSION['theme']['button_icon_delete'],'id'=>'btn_delete','name'=>'btn_delete','style'=>'display:none;','onclick'=>"modal_open('modal-delete','btn_delete');"]);
- }
- echo "\n";
- echo "
\n";
- echo "
\n";
- echo "
\n";
-
- if (permission_exists('user_log_delete') && $user_logs) {
- echo modal::create(['id'=>'modal-delete','type'=>'delete','actions'=>button::create(['type'=>'button','label'=>$text['button-continue'],'icon'=>'check','id'=>'btn_delete','style'=>'float: right; margin-left: 15px;','collapse'=>'never','onclick'=>"modal_close(); list_action_set('delete'); list_form_submit('form_list');"])]);
- }
-
- echo $text['title_description-user_logs']."\n";
- echo "
\n";
-
- echo "\n";
-
-//include the footer
- require_once "resources/footer.php";
-
-?>
+
+ Portions created by the Initial Developer are Copyright (C) 2018 - 2021
+ the Initial Developer. All Rights Reserved.
+*/
+
+//includes
+ require_once "root.php";
+ require_once "resources/require.php";
+ require_once "resources/check_auth.php";
+ require_once "resources/paging.php";
+
+//check permissions
+ if (permission_exists('user_log_view')) {
+ //access granted
+ }
+ else {
+ echo "access denied";
+ exit;
+ }
+
+//add multi-lingual support
+ $language = new text;
+ $text = $language->get();
+
+//get the http post data
+ if (is_array($_POST['user_logs'])) {
+ $action = $_POST['action'];
+ $search = $_POST['search'];
+ $user_logs = $_POST['user_logs'];
+ }
+
+//process the http post data by action
+ if ($action != '' && is_array($user_logs) && @sizeof($user_logs) != 0) {
+
+ //validate the token
+ $token = new token;
+ if (!$token->validate($_SERVER['PHP_SELF'])) {
+ message::add($text['message-invalid_token'],'negative');
+ header('Location: user_logs.php');
+ exit;
+ }
+
+ //prepare the array
+ foreach($user_logs as $row) {
+ $array['user_logs'][$x]['checked'] = $row['checked'];
+ $array['user_logs'][$x]['user_log_uuid'] = $row['user_log_uuid'];
+ $x++;
+ }
+
+ //prepare the database object
+ $database = new database;
+ $database->app_name = 'user_logs';
+ $database->app_uuid = '582a13cf-7d75-4ea3-b2d9-60914352d76e';
+
+ //send the array to the database class
+ if ($action == 'delete') {
+ if (permission_exists('user_log_delete')) {
+ $database->delete($array);
+ }
+ }
+
+ //redirect the user
+ header('Location: user_logs.php'.($search != '' ? '?search='.urlencode($search) : null));
+ exit;
+ }
+
+//get order and order by
+ $order_by = $_GET["order_by"];
+ $order = $_GET["order"];
+
+//add the search
+ if (isset($_GET["search"])) {
+ $search = strtolower($_GET["search"]);
+ }
+
+//get the count
+ $sql = "select count(user_log_uuid) ";
+ $sql .= "from v_user_logs ";
+ if (permission_exists('user_log_all') && $_GET['show'] == 'all') {
+ $sql .= "where true ";
+ }
+ else {
+ $sql .= "where (domain_uuid = :domain_uuid or domain_uuid is null) ";
+ $parameters['domain_uuid'] = $_SESSION['domain_uuid'];
+ }
+ if (isset($search)) {
+ $sql .= "and (";
+ $sql .= " lower(username) like :search ";
+ $sql .= " or lower(type) like :search ";
+ $sql .= " or lower(result) like :search ";
+ $sql .= " or lower(remote_address) like :search ";
+ $sql .= " or lower(user_agent) like :search ";
+ $sql .= ") ";
+ $parameters['search'] = '%'.$search.'%';
+ }
+ $database = new database;
+ $num_rows = $database->select($sql, $parameters, 'column');
+ unset($sql, $parameters);
+
+//prepare to page the results
+ $rows_per_page = ($_SESSION['domain']['paging']['numeric'] != '') ? $_SESSION['domain']['paging']['numeric'] : 50;
+ $param = $search ? "&search=".$search : null;
+ $param = ($_GET['show'] == 'all' && permission_exists('user_log_all')) ? "&show=all" : null;
+ $page = is_numeric($_GET['page']) ? $_GET['page'] : 0;
+ list($paging_controls, $rows_per_page) = paging($num_rows, $param, $rows_per_page);
+ list($paging_controls_mini, $rows_per_page) = paging($num_rows, $param, $rows_per_page, true);
+ $offset = $rows_per_page * $page;
+
+//set the time zone
+ if (isset($_SESSION['domain']['time_zone']['name'])) {
+ $time_zone = $_SESSION['domain']['time_zone']['name'];
+ }
+ else {
+ $time_zone = date_default_timezone_get();
+ }
+ $parameters['time_zone'] = $time_zone;
+
+//get the list
+ $sql = "select ";
+ $sql .= "domain_uuid, ";
+ $sql .= "user_log_uuid, ";
+ $sql .= "timestamp, ";
+ $sql .= "to_char(timezone(:time_zone, timestamp), 'DD Mon YYYY') as date_formatted, \n";
+ $sql .= "to_char(timezone(:time_zone, timestamp), 'HH12:MI:SS am') as time_formatted, \n";
+ $sql .= "username, ";
+ $sql .= "type, ";
+ $sql .= "result, ";
+ $sql .= "remote_address, ";
+ $sql .= "user_agent ";
+ $sql .= "from v_user_logs ";
+ if (permission_exists('user_log_all') && $_GET['show'] == 'all') {
+ $sql .= "where true ";
+ }
+ else {
+ $sql .= "where (domain_uuid = :domain_uuid or domain_uuid is null) ";
+ $parameters['domain_uuid'] = $_SESSION['domain_uuid'];
+ }
+ if (isset($search)) {
+ $sql .= "and ( ";
+ $sql .= " lower(username) like :search ";
+ $sql .= " or lower(type) like :search ";
+ $sql .= " or lower(result) like :search ";
+ $sql .= " or lower(remote_address) like :search ";
+ $sql .= " or lower(user_agent) like :search ";
+ $sql .= ") ";
+ $parameters['search'] = '%'.$search.'%';
+ }
+ $sql .= order_by($order_by, $order, 'timestamp', 'desc');
+ $sql .= limit_offset($rows_per_page, $offset);
+ $database = new database;
+ $user_logs = $database->select($sql, $parameters, 'all');
+ unset($sql, $parameters);
+
+//create token
+ $object = new token;
+ $token = $object->create($_SERVER['PHP_SELF']);
+
+//additional includes
+ $document['title'] = $text['title-user_logs'];
+ require_once "resources/header.php";
+
+//show the content
+ echo "\n";
+ echo "
".$text['title-user_logs']." (".$num_rows.")
\n";
+ echo "
\n";
+ if (permission_exists('user_log_delete') && $user_logs) {
+ echo button::create(['type'=>'button','label'=>$text['button-delete'],'icon'=>$_SESSION['theme']['button_icon_delete'],'id'=>'btn_delete','name'=>'btn_delete','style'=>'display:none;','onclick'=>"modal_open('modal-delete','btn_delete');"]);
+ }
+ echo "\n";
+ echo "
\n";
+ echo "
\n";
+ echo "
\n";
+
+ if (permission_exists('user_log_delete') && $user_logs) {
+ echo modal::create(['id'=>'modal-delete','type'=>'delete','actions'=>button::create(['type'=>'button','label'=>$text['button-continue'],'icon'=>'check','id'=>'btn_delete','style'=>'float: right; margin-left: 15px;','collapse'=>'never','onclick'=>"modal_close(); list_action_set('delete'); list_form_submit('form_list');"])]);
+ }
+
+ echo $text['title_description-user_logs']."\n";
+ echo "
\n";
+
+ echo "\n";
+
+//include the footer
+ require_once "resources/footer.php";
+
+?>
\ No newline at end of file