Portions created by the Initial Developer are Copyright (C) 2018 - 2019 the Initial Developer. All Rights Reserved. */ //includes files require_once dirname(__DIR__, 2) . "/resources/require.php"; require_once "resources/check_auth.php"; //check permissions if (!permission_exists('bridge_add') && !permission_exists('bridge_edit')) { echo "access denied"; exit; } //add multi-lingual support $language = new text; $text = $language->get(); //action add or update if (!empty($_REQUEST["id"]) && is_uuid($_REQUEST["id"])) { $action = "update"; $bridge_uuid = $_REQUEST["id"]; $id = $_REQUEST["id"]; } else { $action = "add"; } //set the defaults $bridge_uuid = ''; $bridge_name = ''; $bridge_destination = ''; $bridge_enabled = ''; $bridge_description = ''; //get http post variables and set them to php variables if (!empty($_POST)) { $bridge_uuid = $_POST["bridge_uuid"] ?? null; $bridge_name = $_POST["bridge_name"]; $bridge_destination = $_POST["bridge_destination"]; $bridge_enabled = $_POST["bridge_enabled"] ?? 'false'; $bridge_description = $_POST["bridge_description"]; } //process the user data and save it to the database if (!empty($_POST) && empty($_POST["persistformvar"])) { //delete the bridge if (permission_exists('bridge_delete')) { if ($_POST['action'] == 'delete' && is_uuid($bridge_uuid)) { //prepare $array[0]['checked'] = 'true'; $array[0]['uuid'] = $bridge_uuid; //delete $obj = new bridges; $obj->delete($array); //redirect header('Location: bridges.php'); exit; } } //get the uuid from the POST if ($action == "update") { $bridge_uuid = $_POST["bridge_uuid"]; } //validate the token $token = new token; if (!$token->validate($_SERVER['PHP_SELF'])) { message::add($text['message-invalid_token'],'negative'); header('Location: bridges.php'); exit; } //check for all required data $msg = ''; if (empty($bridge_name)) { $msg .= $text['message-required']." ".$text['label-bridge_name']."
\n"; } if (empty($bridge_destination)) { $msg .= $text['message-required']." ".$text['label-bridge_destination']."
\n"; } if (empty($bridge_enabled)) { $msg .= $text['message-required']." ".$text['label-bridge_enabled']."
\n"; } if (!empty($msg) && empty($_POST["persistformvar"])) { 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 bridge_uuid if (empty($bridge_uuid)) { $bridge_uuid = uuid(); } //prepare the array $array['bridges'][0]['bridge_uuid'] = $bridge_uuid; $array['bridges'][0]['domain_uuid'] = $_SESSION["domain_uuid"]; $array['bridges'][0]['bridge_name'] = $bridge_name; $array['bridges'][0]['bridge_destination'] = $bridge_destination; $array['bridges'][0]['bridge_enabled'] = $bridge_enabled; $array['bridges'][0]['bridge_description'] = $bridge_description; //save to the data $database = new database; $database->app_name = 'bridges'; $database->app_uuid = 'a6a7c4c5-340a-43ce-bcbc-2ed9bab8659d'; $database->save($array); $message = $database->message; //clear the destinations session array if (isset($_SESSION['destinations']['array'])) { unset($_SESSION['destinations']['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: bridges.php'); return; } } //pre-populate the form if (!empty($_GET) && is_array($_GET) && (empty($_POST["persistformvar"]) || $_POST["persistformvar"] != "true")) { $bridge_uuid = $_GET["id"]; $sql = "select * from v_bridges "; $sql .= "where bridge_uuid = :bridge_uuid "; $parameters['bridge_uuid'] = $bridge_uuid; $database = new database; $row = $database->select($sql, $parameters ?? null, 'row'); if (!empty($row)) { $bridge_name = $row["bridge_name"]; $bridge_destination = $row["bridge_destination"]; $bridge_enabled = $row["bridge_enabled"]; $bridge_description = $row["bridge_description"]; } unset($sql, $parameters, $row); } //set the defaults if (empty($bridge_enabled)) { $bridge_enabled = 'true'; } //create token $object = new token; $token = $object->create($_SERVER['PHP_SELF']); //show the header $document['title'] = $text['title-bridge']; require_once "resources/header.php"; //show the content echo "
\n"; echo "
\n"; echo "
".$text['title-bridge']."
\n"; echo "
\n"; echo button::create(['type'=>'button','label'=>$text['button-back'],'icon'=>$_SESSION['theme']['button_icon_back'],'id'=>'btn_back','style'=>'margin-right: 15px;','link'=>'bridges.php']); if ($action == 'update' && permission_exists('bridge_delete')) { echo button::create(['type'=>'button','label'=>$text['button-delete'],'icon'=>$_SESSION['theme']['button_icon_delete'],'name'=>'btn_delete','style'=>'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','name'=>'action','value'=>'save']); echo "
\n"; echo "
\n"; echo "
\n"; if ($action == 'update' && permission_exists('bridge_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 " ".$text['label-bridge_name']."\n"; echo "\n"; echo " \n"; echo "
\n"; echo $text['description-bridge_name']."\n"; echo "
\n"; echo " ".$text['label-bridge_destination']."\n"; echo "\n"; echo " \n"; echo "
\n"; echo $text['description-bridge_destination']."\n"; echo "
\n"; echo " ".$text['label-bridge_enabled']."\n"; echo "\n"; if (substr($_SESSION['theme']['input_toggle_style']['text'], 0, 6) == 'switch') { echo " \n"; } else { echo " \n"; } echo "
\n"; echo $text['description-bridge_enabled']."\n"; echo "
\n"; echo " ".$text['label-bridge_description']."\n"; echo "\n"; echo " \n"; echo "
\n"; echo $text['description-bridge_description']."\n"; echo "
"; echo "

"; if ($action == "update") { echo "\n"; } echo "\n"; echo "
"; //include the footer require_once "resources/footer.php"; ?>