Fix issues

Signed-off-by: fly <merspieler@airmail.cc>
This commit is contained in:
fly 2023-01-22 22:44:39 +01:00
parent 093ddfa1bb
commit f37009e869

View file

@ -65,20 +65,6 @@ function set_status($con, $name, $status, $type)
{
if ($type == "area")
{
// Get parent ID
$sql = "SELECT id FROM secondLevel WHERE name = ?";
$stmt = $con->prepare($sql);
$stmt->bind_param("s", $name);
$stmt->execute();
$result = $stmt->get_result();
$stmt->close();
if ($result == False)
{
rel_lock($con);
quit();
}
$pid = $result->fetch_array()[0];
// Get status ID
$sql = "SELECT id FROM status WHERE name = ?";
$stmt = $con->prepare($sql);
@ -97,6 +83,20 @@ function set_status($con, $name, $status, $type)
$ret = $con->query($sql)->fetch_all(MYSQLI_ASSOC);
if (!empty($ret))
{
// Get parent ID
$sql = "SELECT id FROM secondLevel WHERE name = ?";
$stmt = $con->prepare($sql);
$stmt->bind_param("s", $name);
$stmt->execute();
$result = $stmt->get_result();
$stmt->close();
if ($result == False)
{
rel_lock($con);
quit();
}
$pid = $result->fetch_array()[0];
// Update tiles in area
$sql = "UPDATE tile SET status_id = ? WHERE parent_id = ?";
$stmt = $con->prepare($sql);
@ -104,6 +104,14 @@ function set_status($con, $name, $status, $type)
$stmt->execute();
$stmt->close();
}
else
{
$sql = "UPDATE secondLevel SET status_id = ? WHERE name = ?";
$stmt = $con->prepare($sql);
$stmt->bind_param("is", $sid, $name);
$stmt->execute();
$stmt->close();
}
}
else
{
@ -139,23 +147,19 @@ else if ($action == "get-job" && isset($_POST["status"]) && $_POST["status"] !=
if (isset($_POST["level"]) && ($_POST["level"] == "tile" || $_POST["level"] == "area"))
{
$level = $_POST["level"];
$table = "secondLevel";
$field = "name";
}
else
{
$level = "tile";
$table = "tile";
$field = "id";
}
if (level == "tile")
{
$table = "tile";
}
else
{
$table = "secondLevel";
}
get_lock($con);
$sql = "SELECT id, parent_id FROM " + $table + " WHERE status_id = (SELECT id FROM status WHERE name = ?) ORDER BY parent_id LIMIT 1";
$sql = "SELECT " . $field . ", parent_id FROM " . $table . " WHERE status_id = (SELECT id FROM status WHERE name = ?) ORDER BY parent_id LIMIT 1";
$stmt = $con->prepare($sql);
$stmt->bind_param("s", $_POST["status"]);
$stmt->execute();
@ -166,19 +170,19 @@ else if ($action == "get-job" && isset($_POST["status"]) && $_POST["status"] !=
quit();
}
$res = $result->fetch_array(); // TODO check
$ret->job = $res["id"];
$ret->job = $res[$field];
if ($ret->job == Null)
{
$ret->job = "None";
}
else
{
set_status($con, $ret->job, $_POST["new-status"], "tile");
set_status($con, $ret->job, $_POST["new-status"], $level);
if (isset($_POST["all-in-parent"]) && $_POST["all-in-parent"] == 1)
{
$ret->jobs = [];
$ret->jobs[] = $ret->job;
$sql = "SELECT id FROM " + $table + " WHERE parent_id = ? AND status_id = (SELECT id FROM status WHERE name = ?)";
$sql = "SELECT id FROM " . $table . " WHERE parent_id = ? AND status_id = (SELECT id FROM status WHERE name = ?)";
$stmt = $con->prepare($sql);
$stmt->bind_param("ss", $res["parent_id"], $_POST["status"]);
$stmt->execute();