diff --git a/app/event_guard/event_guard_log_edit.php b/app/event_guard/event_guard_log_edit.php new file mode 100644 index 0000000000..d86c12eeb5 --- /dev/null +++ b/app/event_guard/event_guard_log_edit.php @@ -0,0 +1,307 @@ + + 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"; + +//check permissions + if (permission_exists('event_guard_log_add') || permission_exists('event_guard_log_edit')) { + //access granted + } + else { + echo "access denied"; + exit; + } + +//add multi-lingual support + $language = new text; + $text = $language->get(); + +//action add or update + if (is_uuid($_REQUEST["id"])) { + $action = "update"; + $event_guard_log_uuid = $_REQUEST["id"]; + $id = $_REQUEST["id"]; + } + else { + $action = "add"; + } + +//get http post variables and set them to php variables + if (is_array($_POST)) { + $hostname = $_POST["hostname"]; + $log_date = $_POST["log_date"]; + $filter = $_POST["filter"]; + $ip_address = $_POST["ip_address"]; + $extension = $_POST["extension"]; + $log_status = $_POST["log_status"]; + } + +//process the user data and save it to the database + if (count($_POST) > 0 && strlen($_POST["persistformvar"]) == 0) { + + //validate the token + $token = new token; + if (!$token->validate($_SERVER['PHP_SELF'])) { + message::add($text['message-invalid_token'],'negative'); + header('Location: event_guard_logs.php'); + exit; + } + + //process the http post data by submitted action + if ($_POST['action'] != '' && strlen($_POST['action']) > 0) { + + //prepare the array(s) + //send the array to the database class + switch ($_POST['action']) { + case 'copy': + if (permission_exists('event_guard_log_add')) { + $obj = new database; + $obj->copy($array); + } + break; + case 'delete': + if (permission_exists('event_guard_log_delete')) { + $obj = new database; + $obj->delete($array); + } + break; + case 'toggle': + if (permission_exists('event_guard_log_update')) { + $obj = new database; + $obj->toggle($array); + } + break; + } + + //redirect the user + if (in_array($_POST['action'], array('copy', 'delete', 'toggle'))) { + header('Location: event_guard_log_edit.php?id='.$id); + exit; + } + } + + //check for all required data + $msg = ''; + if (strlen($hostname) == 0) { $msg .= $text['message-required']." ".$text['label-hostname']."
\n"; } + if (strlen($log_date) == 0) { $msg .= $text['message-required']." ".$text['label-log_date']."
\n"; } + if (strlen($filter) == 0) { $msg .= $text['message-required']." ".$text['label-filter']."
\n"; } + if (strlen($ip_address) == 0) { $msg .= $text['message-required']." ".$text['label-ip_address']."
\n"; } + if (strlen($extension) == 0) { $msg .= $text['message-required']." ".$text['label-extension']."
\n"; } + if (strlen($log_status) == 0) { $msg .= $text['message-required']." ".$text['label-log_status']."
\n"; } + if (strlen($msg) > 0 && strlen($_POST["persistformvar"]) == 0) { + require_once "resources/header.php"; + require_once "resources/persist_form_var.php"; + echo "
\n"; + echo "
\n"; + echo $msg."
"; + echo "
\n"; + persistformvar($_POST); + echo "
\n"; + require_once "resources/footer.php"; + return; + } + + //add the event_guard_log_uuid + if (!is_uuid($_POST["event_guard_log_uuid"])) { + $event_guard_log_uuid = uuid(); + } + + //prepare the array + $array['event_guard_logs'][0]['event_guard_log_uuid'] = $event_guard_log_uuid; + $array['event_guard_logs'][0]['hostname'] = $hostname; + $array['event_guard_logs'][0]['log_date'] = $log_date; + $array['event_guard_logs'][0]['filter'] = $filter; + $array['event_guard_logs'][0]['ip_address'] = $ip_address; + $array['event_guard_logs'][0]['extension'] = $extension; + $array['event_guard_logs'][0]['log_status'] = $log_status; + + //save the data + $database = new database; + $database->app_name = 'event guard'; + $database->app_uuid = 'c5b86612-1514-40cb-8e2c-3f01a8f6f637'; + $database->save($array); + + //redirect the user + if (isset($action)) { + if ($action == "add") { + $_SESSION["message"] = $text['message-add']; + } + if ($action == "update") { + $_SESSION["message"] = $text['message-update']; + } + //header('Location: event_guard_logs.php'); + header('Location: event_guard_log_edit.php?id='.urlencode($event_guard_log_uuid)); + return; + } + } + +//pre-populate the form + if (is_array($_GET) && $_POST["persistformvar"] != "true") { + $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 "; + $sql .= "where event_guard_log_uuid = :event_guard_log_uuid "; + $parameters['event_guard_log_uuid'] = $event_guard_log_uuid; + $database = new database; + $row = $database->select($sql, $parameters, 'row'); + if (is_array($row) && @sizeof($row) != 0) { + $hostname = $row["hostname"]; + $log_date = $row["log_date"]; + $filter = $row["filter"]; + $ip_address = $row["ip_address"]; + $extension = $row["extension"]; + $log_status = $row["log_status"]; + } + unset($sql, $parameters, $row); + } + +//create token + $object = new token; + $token = $object->create($_SERVER['PHP_SELF']); + +//show the header + $document['title'] = $text['title-event_guard_log']; + require_once "resources/header.php"; + +//show the content + echo "
\n"; + echo "\n"; + + echo "
\n"; + echo "
".$text['title-event_guard_log']."
\n"; + echo "
\n"; + echo button::create(['type'=>'button','label'=>$text['button-back'],'icon'=>$_SESSION['theme']['button_icon_back'],'id'=>'btn_back','collapse'=>'hide-xs','style'=>'margin-right: 15px;','link'=>'event_guard_logs.php']); + if ($action == 'update') { + if (permission_exists('_add')) { + 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('_delete')) { + echo button::create(['type'=>'button','label'=>$text['button-delete'],'icon'=>$_SESSION['theme']['button_icon_delete'],'id'=>'btn_delete','name'=>'btn_delete','style'=>'display: none; margin-right: 15px;','onclick'=>"modal_open('modal-delete','btn_delete');"]); + } + } + echo button::create(['type'=>'submit','label'=>$text['button-save'],'icon'=>$_SESSION['theme']['button_icon_save'],'id'=>'btn_save','collapse'=>'hide-xs']); + echo "
\n"; + echo "
\n"; + echo "
\n"; + + echo $text['title_description-event_guard_logs']."\n"; + echo "

\n"; + + if ($action == 'update') { + if (permission_exists('event_guard_log_add')) { + echo modal::create(['id'=>'modal-copy','type'=>'copy','actions'=>button::create(['type'=>'submit','label'=>$text['button-continue'],'icon'=>'check','id'=>'btn_copy','style'=>'float: right; margin-left: 15px;','collapse'=>'never','name'=>'action','value'=>'copy','onclick'=>"modal_close();"])]); + } + if (permission_exists('event_guard_log_delete')) { + echo modal::create(['id'=>'modal-delete','type'=>'delete','actions'=>button::create(['type'=>'submit','label'=>$text['button-continue'],'icon'=>'check','id'=>'btn_delete','style'=>'float: right; margin-left: 15px;','collapse'=>'never','name'=>'action','value'=>'delete','onclick'=>"modal_close();"])]); + } + } + + echo "\n"; + + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + + echo "
\n"; + echo " ".$text['label-hostname']."\n"; + echo "\n"; + echo " \n"; + echo "
\n"; + echo $text['description-hostname']."\n"; + echo "
\n"; + echo " ".$text['label-log_date']."\n"; + echo "\n"; + echo " \n"; + echo "
\n"; + echo $text['description-log_date']."\n"; + echo "
\n"; + echo " ".$text['label-filter']."\n"; + echo "\n"; + echo " \n"; + echo "
\n"; + echo $text['description-filter']."\n"; + echo "
\n"; + echo " ".$text['label-ip_address']."\n"; + echo "\n"; + echo " \n"; + echo "
\n"; + echo $text['description-ip_address']."\n"; + echo "
\n"; + echo " ".$text['label-extension']."\n"; + echo "\n"; + echo " \n"; + echo "
\n"; + echo $text['description-extension']."\n"; + echo "
\n"; + echo " ".$text['label-log_status']."\n"; + echo "\n"; + echo " \n"; + echo "
\n"; + echo $text['description-log_status']."\n"; + echo "
"; + echo "

"; + + echo "\n"; + + echo "
"; + +//include the footer + require_once "resources/footer.php"; + +?>