81 lines
2.4 KiB
PHP
81 lines
2.4 KiB
PHP
<?php
|
|
include_once('esp-database.php');
|
|
|
|
$action = $id = $name = $gpio = $state = "";
|
|
|
|
if ($_SERVER["REQUEST_METHOD"] == "POST") {
|
|
$action = test_input($_POST["action"]);
|
|
if ($action == "output_create") {
|
|
$name = test_input($_POST["name"]);
|
|
$board = test_input($_POST["board"]);
|
|
$gpio = test_input($_POST["gpio"]);
|
|
$state = test_input($_POST["state"]);
|
|
$result = createOutput($name, $board, $gpio, $state);
|
|
|
|
$result2 = getBoard($board);
|
|
if(!$result2->fetch_assoc()) {
|
|
createBoard($board);
|
|
}
|
|
echo $result;
|
|
}
|
|
else {
|
|
echo "No data posted with HTTP POST.";
|
|
}
|
|
}
|
|
|
|
if ($_SERVER["REQUEST_METHOD"] == "GET") {
|
|
$action = test_input($_GET["action"]);
|
|
if ($action == "outputs_state") {
|
|
$board = test_input($_GET["board"]);
|
|
$result = getAllOutputStates($board);
|
|
if ($result) {
|
|
while ($row = $result->fetch_assoc()) {
|
|
$rows[$row["gpio"]] = $row["state"];
|
|
}
|
|
}
|
|
echo json_encode($rows);
|
|
$result = getBoard($board);
|
|
if($result->fetch_assoc()) {
|
|
updateLastBoardTime($board);
|
|
}
|
|
}
|
|
else if ($_GET["action"] == "output_update") {
|
|
$id = test_input($_GET["id"]);
|
|
$state = test_input($_GET["state"]); // Check if state is correctly received
|
|
|
|
if ($state == 0) {
|
|
$newState = 1; // Update state based on your logic (if needed)
|
|
} else {
|
|
$newState = 0;
|
|
}
|
|
|
|
$result = updateOutput($id, $newState);
|
|
echo $result;
|
|
}
|
|
|
|
else if ($action == "output_delete") {
|
|
$id = test_input($_GET["id"]);
|
|
$board = getOutputBoardById($id);
|
|
if ($row = $board->fetch_assoc()) {
|
|
$board_id = $row["board"];
|
|
}
|
|
$result = deleteOutput($id);
|
|
$result2 = getAllOutputStates($board_id);
|
|
if(!$result2->fetch_assoc()) {
|
|
deleteBoard($board_id);
|
|
}
|
|
echo $result;
|
|
}
|
|
else {
|
|
echo "Invalid HTTP request.";
|
|
}
|
|
}
|
|
|
|
function test_input($data) {
|
|
$data = trim($data);
|
|
$data = stripslashes($data);
|
|
$data = htmlspecialchars($data);
|
|
return $data;
|
|
}
|
|
?>
|