real_escape_string($_POST['userId']); $callFunction = $conn->real_escape_string($_POST['f']); $gameId = $conn->real_escape_string($_POST['gameId']); $userName = $conn->real_escape_string($_POST['userName']); if ($callFunction === "list"){ $sql = "SELECT * FROM game WHERE id IN (SELECT gameId FROM gamePlayers WHERE playerId = $userId)"; $result = $conn->query($sql); if ($result->num_rows > 0) { $returnArray = array(); $i = 0; while ($data = $result->fetch_assoc()) { foreach ($data as $key => $value) { $returnArray[$i][$key] = $value; } $i++; } echo json_encode($returnArray); } else { echo "No games found for user"; } } else if ($callFunction === "decline"){ $sql = "UPDATE gamePlayers SET status = 'DECLINED' WHERE gameId = $gameId AND playerId = (SELECT id from users WHERE username = '$userName')"; $result = $conn->query($sql); if (!$result) { echo "UPDATE player status failed " . $conn->error; } else { $sql = "SELECT count(*) FROM gamePlayers WHERE gameId = $gameId AND status NOT LIKE 'DECLINED'"; $result = $conn->query($sql); while ($data = $result->fetch_assoc()) { if ($data[0] == 1) { // Alla utom den som startade spelet har nekat, sätt status till declined på game $sql = "UPDATE game SET status = 'DECLINED' WHERE id = $gameId"; $result = $conn->query($sql); if (!$result) { echo "UPDATE game status failed " . $conn->error; } } } } } else if ($callFunction === "accept") { $sql = "UPDATE gamePlayers SET status = 'ACCEPTED' WHERE gameId = $gameId AND playerId = (SELECT id from users WHERE username = '$userName')"; $result = $conn->query($sql); if (!$result) { echo $conn->error; } else { $sql = "SELECT * FROM gamePlayers WHERE gameId = $gameId"; $result = $conn->query($sql); while ($data = $result->fetch_assoc()) { $done = true; if ($data['status'] != "ACCEPTED") { $done = false; } } if ($done) { $sql = "UPDATE game SET status = 'ACTIVE'"; $result = $conn->query($sql); if (!$result) { echo "updating game status active failed " . $conn->error; } } } } $conn->close(); ?>