Make saveAccount.php work with new db method

This commit is contained in:
2025-12-31 21:13:34 -07:00
parent 1cee054cd7
commit 2d78565f77
4 changed files with 145 additions and 74 deletions

View File

@@ -1,25 +1,40 @@
<?php
$conn = newConnection();
$conn0 = newConnection(0);
$conn1 = newConnection(1);
$request_uid = $_POST['userID'] ?? 0;
$request_session = $_POST['gameSession'] ?? '';
$request_score = $_POST['highScore'] ?? 0;
$stmt = $conn->prepare("SELECT * FROM users WHERE token = ? AND id = ?");
$stmt->bind_param("ss", $request_session, $request_uid);
$stmt = $conn0->prepare("SELECT * FROM users WHERE id = ?");
$stmt->bind_param("s", $request_uid);
$stmt->execute();
$result = $stmt->get_result();
if ($result->num_rows > 0) {
$updateStmt = $conn->prepare("UPDATE users SET legacy_high_score = ? WHERE token = ? AND id = ?");
$updateStmt->bind_param("isi", $request_score, $request_session, $request_uid);
$updateStmt->execute();
echo "1";
$updateStmt->close();
} else {
echo "-3";
if ($result->num_rows != 1) {
echo (getClientVersion() == "1.3-beta2" || getClientVersion() == "1.3" || getClientVersion() == "1.33") ? "-2" : "-3";
$conn0->close();
$conn1->close();
exit;
}
$stmt->close();
$conn->close();
?>
$request_uid = $result->fetch_assoc()["id"];
$stmt2 = $conn1->prepare("SELECT * FROM userdata WHERE token = ? AND id = ?");
$stmt2->bind_param("si", $request_session, $request_uid);
$stmt2->execute();
$result2 = $stmt2->get_result();
if ($result2->num_rows != 1) {
echo (getClientVersion() == "1.3-beta2" || getClientVersion() == "1.3" || getClientVersion() == "1.33") ? "-2" : "-3";
$conn0->close();
$conn1->close();
exit;
}
$updateStmt = $conn1->prepare("UPDATE userdata SET legacy_high_score = ? WHERE token = ? AND id = ?");
$updateStmt->bind_param("isi", $request_score, $request_session, $request_uid);
$updateStmt->execute();
$updateStmt->close();
echo "1";

View File

@@ -1,5 +1,6 @@
<?php
$conn = newConnection();
$conn0 = newConnection(0);
$conn1 = newConnection(1);
$request_userName = $_POST['userName'] ?? 0;
$request_gameSession = $_POST['gameSession'] ?? '';
@@ -7,27 +8,42 @@ $request_highScore = $_POST['highScore'] ?? 0;
$request_icon = $_POST['icon'] ?? 0;
$request_overlay = $_POST['overlay'] ?? 0;
$stmt = $conn->prepare("SELECT * FROM users WHERE token = ? AND username = ?");
$stmt->bind_param("ss", $request_gameSession, $request_userName);
$stmt = $conn0->prepare("SELECT * FROM users WHERE username = ?");
$stmt->bind_param("s", $request_userName);
$stmt->execute();
$result = $stmt->get_result();
if ($result->num_rows > 0) {
$row = $result->fetch_assoc();
$savedata = json_decode($row['save_data'], true);
if ($result->num_rows != 1) {
echo "-2";
$conn0->close();
$conn1->close();
exit;
}
$request_uid = $result->fetch_assoc()["id"];
$stmt2 = $conn1->prepare("SELECT * FROM userdata WHERE token = ? AND id = ?");
$stmt2->bind_param("si", $request_gameSession, $request_uid);
$stmt2->execute();
$result2 = $stmt2->get_result();
if ($result2->num_rows != 1) {
echo (getClientVersion() == "1.3-beta2" || getClientVersion() == "1.3" || getClientVersion() == "1.33") ? "-2" : "-3";
$conn0->close();
$conn1->close();
exit;
}
$row2 = $result2->fetch_assoc();
$savedata = json_decode($row2['save_data'], true);
$savedata['bird']['icon'] = $request_icon;
$savedata['bird']['overlay'] = $request_overlay;
$savedata = json_encode($savedata);
$updateStmt = $conn->prepare("UPDATE users SET legacy_high_score = ?, save_data = ? WHERE token = ? AND username = ?");
$updateStmt->bind_param("isss", $request_highScore, $savedata, $request_gameSession, $request_userName);
$updateStmt = $conn1->prepare("UPDATE userdata SET legacy_high_score = ?, save_data = ? WHERE token = ? AND id = ?");
$updateStmt->bind_param("issi", $request_highScore, $savedata, $request_gameSession, $request_uid);
$updateStmt->execute();
echo "1";
$updateStmt->close();
} else {
echo "-3";
}
$stmt->close();
$conn->close();
?>
echo "1";

View File

@@ -8,40 +8,61 @@ $overlay = (int)$post['overlay'] ?? 0;
$birdR = (int)$post['birdR'] ?? 255;
$birdG = (int)$post['birdG'] ?? 255;
$birdB = (int)$post['birdB'] ?? 255;
if (getClientVersion() == "1.5.2") {
$overlayR = (int)$post['overlayR'] ?? 255;
$overlayG = (int)$post['overlayG'] ?? 255;
$overlayB = (int)$post['overlayB'] ?? 255;
}
$birdColor = [$birdR, $birdG, $birdB];
$overlayColor = [$overlayR, $overlayG, $overlayB];
$conn = newConnection();
$conn0 = newConnection(0);
$conn1 = newConnection(1);
$stmt = $conn->prepare("SELECT * FROM users WHERE token = ? AND username = ?");
$stmt->bind_param("ss", $token, $username);
$stmt = $conn0->prepare("SELECT * FROM users WHERE username = ?");
$stmt->bind_param("s", $username);
$stmt->execute();
$result = $stmt->get_result();
if ($result->num_rows > 0) {
if ($result->num_rows != 1) {
echo encrypt("-1");
$conn0->close();
$conn1->close();
exit;
}
$row = $result->fetch_assoc();
$savedata = json_decode($row['save_data'], true);
$id = $row["id"];
$stmt2 = $conn1->prepare("SELECT * FROM userdata WHERE id = ? AND token = ?");
$stmt2->bind_param("is", $id, $token);
$stmt2->execute();
$result2 = $stmt2->get_result();
if ($result2->num_rows != 1) {
echo encrypt("-1");
$conn0->close();
$conn1->close();
exit;
}
$row2 = $result2->fetch_assoc();
$savedata = json_decode($row2['save_data'], true);
$savedata['bird']['icon'] = $icon;
$savedata['bird']['overlay'] = $overlay;
$savedata['settings']['colors']['icon'] = $birdColor;
$savedata['settings']['colors']['overlay'] = $overlayColor;
if (getClientVersion() == "1.5.2") $savedata['settings']['colors']['overlay'] = $overlayColor;
$savedata = json_encode($savedata);
$updateStmt = $conn->prepare("UPDATE users SET legacy_high_score = ?, save_data = ? WHERE token = ? AND username = ?");
$updateStmt->bind_param("isss",
$updateStmt = $conn1->prepare("UPDATE userdata SET legacy_high_score = ?, save_data = ? WHERE id = ? AND token = ?");
$updateStmt->bind_param("isis",
$highScore,
$savedata,
$token,
$username
$id,
$token
);
$updateStmt->execute();
$updateStmt->close();
echo encrypt("1");
} else {
echo encrypt("-1");
}
$stmt->close();
$conn->close();
$conn0->close();
$conn1->close();

View File

@@ -13,7 +13,7 @@ if (
require __DIR__ . '/backported/1.2-beta2/syncAccount.php';
exit;
}
if (getClientVersion() == "1.4.0-beta1") {
if (getClientVersion() == "1.4.0-beta1" || getClientVersion() == "1.4.0" || getClientVersion() == "1.4.1") {
require __DIR__ . '/backported/1.4.0-beta1/saveAccount.php';
exit;
}
@@ -37,22 +37,41 @@ try {
echo encrypt(json_encode(["success" => false, "message" => "Couldn't parse save data"]));
}
$conn = newConnection();
$conn0 = newConnection(0);
$conn1 = newConnection(1);
$stmt = $conn->prepare("SELECT * FROM users WHERE token = ? AND username = ?");
$stmt->bind_param("ss", $token, $username);
$stmt = $conn0->prepare("SELECT * FROM users WHERE username = ?");
$stmt->bind_param("s", $username);
$stmt->execute();
$result = $stmt->get_result();
if ($result->num_rows > 0) {
$updateStmt = $conn->prepare("UPDATE users SET save_data = ? WHERE token = ? AND username = ?");
$updateStmt->bind_param("sss", $savedata, $token, $username);
if ($result->num_rows != 1) {
echo encrypt(json_encode(["success" => false, "message" => "Invalid session token or username, please refresh login"]));
$conn0->close();
$conn1->close();
exit;
}
$row = $result->fetch_assoc();
$id = $row["id"];
$stmt = $conn1->prepare("SELECT id FROM userdata WHERE token = ? AND id = ?");
$stmt->bind_param("si", $token, $id);
$stmt->execute();
$result = $stmt->get_result();
if ($result->num_rows != 1) {
echo encrypt(json_encode(["success" => false, "message" => "Invalid session token or username, please refresh login"]));
$conn0->close();
$conn1->close();
exit;
}
$updateStmt = $conn1->prepare("UPDATE userdata SET save_data = ? WHERE token = ? AND id = ?");
$updateStmt->bind_param("ssi", $savedata, $token, $id);
$updateStmt->execute();
$updateStmt->close();
echo encrypt(json_encode(["success" => true]));
} else {
echo encrypt(json_encode(["success" => false, "message" => "Invalid session token or username, please refresh login"]));
}
$stmt->close();
$conn->close();
$conn0->close();
$conn1->close();