From 8779206311f4f47c2f35b6f1d147be480a88c589 Mon Sep 17 00:00:00 2001 From: FusionPBX Date: Thu, 28 Jul 2022 09:30:41 -0600 Subject: [PATCH] Create event_guard_logs.php --- app/event_guard/event_guard_logs.php | 246 +++++++++++++++++++++++++++ 1 file changed, 246 insertions(+) create mode 100644 app/event_guard/event_guard_logs.php diff --git a/app/event_guard/event_guard_logs.php b/app/event_guard/event_guard_logs.php new file mode 100644 index 0000000000..fe5b9a02f3 --- /dev/null +++ b/app/event_guard/event_guard_logs.php @@ -0,0 +1,246 @@ + + 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('event_guard_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['event_guard_logs'])) { + $action = $_POST['action']; + $search = $_POST['search']; + $event_guard_logs = $_POST['event_guard_logs']; + } + +//process the http post data by action + if ($action != '' && is_array($event_guard_logs) && @sizeof($event_guard_logs) != 0) { + + switch ($action) { + case 'copy': + if (permission_exists('event_guard_log_add')) { + $obj = new event_guard_logs; + $obj->copy($event_guard_logs); + } + break; + case 'toggle': + if (permission_exists('event_guard_log_edit')) { + $obj = new event_guard_logs; + $obj->toggle($event_guard_logs); + } + break; + case 'delete': + if (permission_exists('event_guard_log_delete')) { + $obj = new event_guard_logs; + $obj->delete($event_guard_logs); + } + break; + } + + //redirect the user + header('Location: event_guard_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(event_guard_log_uuid) "; + $sql .= "from v_event_guard_logs "; + if (isset($search)) { + $sql .= "where ("; + $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; + $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 .= "event_guard_log_uuid, "; + $sql .= "hostname, "; + $sql .= "log_date, "; + $sql .= "filter, "; + $sql .= "ip_address, "; + $sql .= "extension, "; + $sql .= "log_status "; + $sql .= "from v_event_guard_logs "; + if (isset($_GET["search"])) { + $sql .= "where ("; + $sql .= ") "; + $parameters['search'] = '%'.$search.'%'; + } + $sql .= order_by($order_by, $order, 'log_date', 'desc'); + $sql .= limit_offset($rows_per_page, $offset); + $database = new database; + $event_guard_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-event_guard_logs']; + require_once "resources/header.php"; + +//show the content + echo "
\n"; + echo "
".$text['title-event_guard_logs']." (".$num_rows.")
\n"; + echo "
\n"; + if (permission_exists('event_guard_log_add')) { + echo button::create(['type'=>'button','label'=>$text['button-add'],'icon'=>$_SESSION['theme']['button_icon_add'],'id'=>'btn_add','name'=>'btn_add','link'=>'event_guard_log_edit.php']); + } + if (permission_exists('event_guard_log_add') && $event_guard_logs) { + echo button::create(['type'=>'button','label'=>$text['button-copy'],'icon'=>$_SESSION['theme']['button_icon_copy'],'id'=>'btn_copy','name'=>'btn_copy','style'=>'display:none;','onclick'=>"modal_open('modal-copy','btn_copy');"]); + } + if (permission_exists('event_guard_log_edit') && $event_guard_logs) { + echo button::create(['type'=>'button','label'=>$text['button-toggle'],'icon'=>$_SESSION['theme']['button_icon_toggle'],'id'=>'btn_toggle','name'=>'btn_toggle','style'=>'display:none;','onclick'=>"modal_open('modal-toggle','btn_toggle');"]); + } + if (permission_exists('event_guard_log_delete') && $event_guard_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('event_guard_log_add') && $event_guard_logs) { + echo modal::create(['id'=>'modal-copy','type'=>'copy','actions'=>button::create(['type'=>'button','label'=>$text['button-continue'],'icon'=>'check','id'=>'btn_copy','style'=>'float: right; margin-left: 15px;','collapse'=>'never','onclick'=>"modal_close(); list_action_set('copy'); list_form_submit('form_list');"])]); + } + if (permission_exists('event_guard_log_edit') && $event_guard_logs) { + echo modal::create(['id'=>'modal-toggle','type'=>'toggle','actions'=>button::create(['type'=>'button','label'=>$text['button-continue'],'icon'=>'check','id'=>'btn_toggle','style'=>'float: right; margin-left: 15px;','collapse'=>'never','onclick'=>"modal_close(); list_action_set('toggle'); list_form_submit('form_list');"])]); + } + if (permission_exists('event_guard_log_delete') && $event_guard_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-event_guard_logs']."\n"; + echo "

\n"; + + echo "
\n"; + echo "\n"; + echo "\n"; + + echo "\n"; + echo "\n"; + if (permission_exists('event_guard_log_add') || permission_exists('event_guard_log_edit') || permission_exists('event_guard_log_delete')) { + echo " \n"; + } + echo th_order_by('hostname', $text['label-hostname'], $order_by, $order); + echo th_order_by('log_date', $text['label-log_date'], $order_by, $order); + echo th_order_by('filter', $text['label-filter'], $order_by, $order); + echo th_order_by('ip_address', $text['label-ip_address'], $order_by, $order); + echo th_order_by('extension', $text['label-extension'], $order_by, $order); + echo th_order_by('log_status', $text['label-log_status'], $order_by, $order); + if (permission_exists('event_guard_log_edit') && $_SESSION['theme']['list_row_edit_button']['boolean'] == 'true') { + echo " \n"; + } + echo "\n"; + + if (is_array($event_guard_logs) && @sizeof($event_guard_logs) != 0) { + $x = 0; + foreach ($event_guard_logs as $row) { + if (permission_exists('event_guard_log_edit')) { + $list_row_url = "event_guard_log_edit.php?id=".urlencode($row['event_guard_log_uuid']); + } + echo "\n"; + if (permission_exists('event_guard_log_add') || permission_exists('event_guard_log_edit') || permission_exists('event_guard_log_delete')) { + echo " \n"; + } + echo " \n"; + echo " \n"; + echo " \n"; + echo " \n"; + echo " \n"; + echo " \n"; + if (permission_exists('event_guard_log_edit') && $_SESSION['theme']['list_row_edit_button']['boolean'] == 'true') { + echo " \n"; + } + echo "\n"; + $x++; + } + unset($event_guard_logs); + } + + echo "
\n"; + echo " \n"; + echo "  
\n"; + echo " \n"; + echo " \n"; + echo " \n"; + if (permission_exists('event_guard_log_edit')) { + echo " ".escape($row['hostname'])."\n"; + } + else { + echo " ".escape($row['hostname']); + } + echo " ".escape($row['log_date'])."".escape($row['filter'])."".escape($row['ip_address'])."".escape($row['extension'])."".escape($row['log_status'])."\n"; + echo button::create(['type'=>'button','title'=>$text['button-edit'],'icon'=>$_SESSION['theme']['button_icon_edit'],'link'=>$list_row_url]); + echo "
\n"; + echo "
\n"; + echo "
".$paging_controls."
\n"; + echo "\n"; + echo "
\n"; + +//include the footer + require_once "resources/footer.php"; + +?>