input updtae
This commit is contained in:
parent
961e56de48
commit
0679d64287
184
html/input.php
184
html/input.php
|
|
@ -5,23 +5,24 @@ $jsonFile = __DIR__ . "/input.json";
|
|||
if (!file_exists($jsonFile)) {
|
||||
file_put_contents($jsonFile, json_encode([]));
|
||||
}
|
||||
|
||||
$data = json_decode(file_get_contents($jsonFile), true);
|
||||
|
||||
if ($_SERVER["REQUEST_METHOD"] === "POST" && isset($_POST["action"]) && $_POST["action"] === "add") {
|
||||
$new = [
|
||||
"id" => time(),
|
||||
"input_udp" => $_POST["input_udp"],
|
||||
"output_udp" => $_POST["output_udp"],
|
||||
"video_format" => $_POST["video_format"],
|
||||
"audio_format" => $_POST["audio_format"],
|
||||
"resolution" => $_POST["resolution"],
|
||||
"video_bitrate" => $_POST["video_bitrate"],
|
||||
"audio_bitrate" => $_POST["audio_bitrate"],
|
||||
"status" => $_POST["status"]
|
||||
"input_udp" => $_POST["input_udp"] ?? "",
|
||||
"output_udp" => $_POST["output_udp"] ?? "",
|
||||
"video_format" => $_POST["video_format"] ?? "",
|
||||
"audio_format" => $_POST["audio_format"] ?? "",
|
||||
"resolution" => $_POST["resolution"] ?? "",
|
||||
"video_bitrate" => $_POST["video_bitrate"] ?? "",
|
||||
"audio_bitrate" => $_POST["audio_bitrate"] ?? "",
|
||||
"status" => $_POST["status"] ?? ""
|
||||
];
|
||||
|
||||
$data[] = $new;
|
||||
file_put_contents($jsonFile, json_encode($data, JSON_PRETTY_PRINT));
|
||||
|
||||
echo "OK";
|
||||
exit;
|
||||
}
|
||||
|
|
@ -29,7 +30,7 @@ if ($_SERVER["REQUEST_METHOD"] === "POST" && isset($_POST["action"]) && $_POST["
|
|||
?>
|
||||
<style>
|
||||
body {
|
||||
font-family: Arial, sans-serif;
|
||||
font-family: Arial;
|
||||
padding: 20px;
|
||||
}
|
||||
|
||||
|
|
@ -50,119 +51,112 @@ if ($_SERVER["REQUEST_METHOD"] === "POST" && isset($_POST["action"]) && $_POST["
|
|||
width: 350px;
|
||||
}
|
||||
|
||||
#popup input,
|
||||
#popup select {
|
||||
width: 100%;
|
||||
margin-bottom: 10px;
|
||||
padding: 6px;
|
||||
}
|
||||
|
||||
#overlay {
|
||||
display: none;
|
||||
position: fixed;
|
||||
top: 0;
|
||||
left: 0;
|
||||
right: 0;
|
||||
bottom: 0;
|
||||
background: rgba(0, 0, 0, 0.6);
|
||||
inset: 0;
|
||||
background: rgba(0, 0, 0, 0.5);
|
||||
}
|
||||
|
||||
.table {
|
||||
input,
|
||||
select {
|
||||
width: 100%;
|
||||
padding: 6px;
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
|
||||
table {
|
||||
width: 100%;
|
||||
border-collapse: collapse;
|
||||
margin-top: 20px;
|
||||
}
|
||||
|
||||
.table th,
|
||||
.table td {
|
||||
padding: 10px;
|
||||
th,
|
||||
td {
|
||||
border: 1px solid #ccc;
|
||||
text-align: left;
|
||||
padding: 10px;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<div class="containerindex">
|
||||
<div class="grid">
|
||||
<h2>Service List</h2>
|
||||
<button onclick="openPopup()">Add Service</button>
|
||||
|
||||
<!-- TABLE LIST -->
|
||||
<table class="table">
|
||||
<tr>
|
||||
<th>ID</th>
|
||||
<th>Input UDP</th>
|
||||
<th>Output UDP</th>
|
||||
<th>Video Format</th>
|
||||
<th>Audio Format</th>
|
||||
<th>Resolution</th>
|
||||
<th>Video Bitrate</th>
|
||||
<th>Audio Bitrate</th>
|
||||
<th>Status</th>
|
||||
</tr>
|
||||
<h2>Service List</h2>
|
||||
<button onclick="openPopup()">Add Service</button>
|
||||
|
||||
<?php foreach ($data as $row): ?>
|
||||
<tr>
|
||||
<td><?= htmlspecialchars($row["id"]) ?></td>
|
||||
<td><?= htmlspecialchars($row["input_udp"]) ?></td>
|
||||
<td><?= htmlspecialchars($row["output_udp"]) ?></td>
|
||||
<td><?= htmlspecialchars($row["video_format"]) ?></td>
|
||||
<td><?= htmlspecialchars($row["audio_format"]) ?></td>
|
||||
<td><?= htmlspecialchars($row["resolution"]) ?></td>
|
||||
<td><?= htmlspecialchars($row["video_bitrate"]) ?></td>
|
||||
<td><?= htmlspecialchars($row["audio_bitrate"]) ?></td>
|
||||
<td><?= htmlspecialchars($row["status"]) ?></td>
|
||||
</tr>
|
||||
<?php endforeach; ?>
|
||||
</table>
|
||||
<table>
|
||||
<tr>
|
||||
<th>ID</th>
|
||||
<th>Input UDP</th>
|
||||
<th>Output UDP</th>
|
||||
<th>Video Format</th>
|
||||
<th>Audio Format</th>
|
||||
<th>Resolution</th>
|
||||
<th>Video Bitrate</th>
|
||||
<th>Audio Bitrate</th>
|
||||
<th>Status</th>
|
||||
</tr>
|
||||
|
||||
<!-- POPUP -->
|
||||
<div id="overlay"></div>
|
||||
<?php foreach ($data as $row): ?>
|
||||
<tr>
|
||||
<td><?= $row["id"] ?></td>
|
||||
<td><?= $row["input_udp"] ?></td>
|
||||
<td><?= $row["output_udp"] ?></td>
|
||||
<td><?= $row["video_format"] ?></td>
|
||||
<td><?= $row["audio_format"] ?></td>
|
||||
<td><?= $row["resolution"] ?></td>
|
||||
<td><?= $row["video_bitrate"] ?></td>
|
||||
<td><?= $row["audio_bitrate"] ?></td>
|
||||
<td><?= $row["status"] ?></td>
|
||||
</tr>
|
||||
<?php endforeach; ?>
|
||||
|
||||
<div id="popup">
|
||||
<h3>Add Service</h3>
|
||||
</table>
|
||||
|
||||
<input type="text" id="in_udp" placeholder="Input UDP">
|
||||
<input type="text" id="out_udp" placeholder="Output UDP">
|
||||
<!-- Overlay -->
|
||||
<div id="overlay"></div>
|
||||
|
||||
<select id="video_format">
|
||||
<option value="h264">H.264</option>
|
||||
<option value="h265">H.265</option>
|
||||
</select>
|
||||
<!-- Popup form -->
|
||||
<div id="popup">
|
||||
<h3>Add Service</h3>
|
||||
|
||||
<select id="audio_format">
|
||||
<option value="aac">AAC</option>
|
||||
<option value="mp3">MP3</option>
|
||||
</select>
|
||||
<input type="text" id="in_udp" name="input_udp" placeholder="Input UDP">
|
||||
<input type="text" id="out_udp" name="output_udp" placeholder="Output UDP">
|
||||
|
||||
<select id="resolution">
|
||||
<option value="1920x1080">1920x1080</option>
|
||||
<option value="1280x720">1280x720</option>
|
||||
<option value="720x576">720x576</option>
|
||||
</select>
|
||||
<select id="video_format" name="video_format">
|
||||
<option value="h264">H.264</option>
|
||||
<option value="h265">H.265</option>
|
||||
</select>
|
||||
|
||||
<input type="text" id="video_bitrate" placeholder="Video Bitrate (kbps)">
|
||||
<input type="text" id="audio_bitrate" placeholder="Audio Bitrate (kbps)">
|
||||
<select id="audio_format" name="audio_format">
|
||||
<option value="aac">AAC</option>
|
||||
<option value="mp3">MP3</option>
|
||||
</select>
|
||||
|
||||
<select id="status">
|
||||
<option value="enable">Enable</option>
|
||||
<option value="disable">Disable</option>
|
||||
</select>
|
||||
<select id="resolution" name="resolution">
|
||||
<option value="1920x1080">1920x1080</option>
|
||||
<option value="1280x720">1280x720</option>
|
||||
<option value="720x576">720x576</option>
|
||||
</select>
|
||||
|
||||
<button onclick="saveService()">Save</button>
|
||||
<button onclick="closePopup()">Close</button>
|
||||
</div>
|
||||
</div>
|
||||
<input type="text" id="video_bitrate" name="video_bitrate" placeholder="Video Bitrate (kbps)">
|
||||
<input type="text" id="audio_bitrate" name="audio_bitrate" placeholder="Audio Bitrate (kbps)">
|
||||
|
||||
<select id="status" name="status">
|
||||
<option value="enable">Enable</option>
|
||||
<option value="disable">Disable</option>
|
||||
</select>
|
||||
|
||||
<button onclick="saveService()">Save</button>
|
||||
<button onclick="closePopup()">Close</button>
|
||||
</div>
|
||||
|
||||
<script>
|
||||
function openPopup() {
|
||||
document.getElementById("popup").style.display = "block";
|
||||
document.getElementById("overlay").style.display = "block";
|
||||
document.getElementById("popup").style.display = "block";
|
||||
}
|
||||
|
||||
function closePopup() {
|
||||
document.getElementById("popup").style.display = "none";
|
||||
document.getElementById("overlay").style.display = "none";
|
||||
document.getElementById("popup").style.display = "none";
|
||||
}
|
||||
|
||||
function saveService() {
|
||||
|
|
@ -179,11 +173,17 @@ if ($_SERVER["REQUEST_METHOD"] === "POST" && isset($_POST["action"]) && $_POST["
|
|||
|
||||
fetch("input.php", {
|
||||
method: "POST",
|
||||
body: form
|
||||
body: form,
|
||||
credentials: "same-origin"
|
||||
})
|
||||
.then(r => r.text())
|
||||
.then(res => {
|
||||
if (res === "OK") location.reload();
|
||||
if (res.trim() === "OK") {
|
||||
location.reload();
|
||||
} else {
|
||||
console.log("Server response:", res);
|
||||
alert("Error saving data");
|
||||
}
|
||||
});
|
||||
}
|
||||
</script>
|
||||
|
|
|
|||
Loading…
Reference in New Issue