OnlineGames.php 2.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081
  1. <?php
  2. /* Games.php */
  3. $hostname = 'localhost';
  4. $username = 'narKampen';
  5. $pass = 'narKampenPassword';
  6. $database = 'narKampen';
  7. $conn = new mysqli($hostname, $username, $pass, $database);
  8. if (!$conn) {
  9. die("Connection Failed. ". mysqli_connect_error());
  10. }
  11. mysqli_set_charset($conn,'utf8');
  12. $userId = $conn->real_escape_string($_POST['userId']);
  13. $callFunction = $conn->real_escape_string($_POST['f']);
  14. $gameId = $conn->real_escape_string($_POST['gameId']);
  15. $userName = $conn->real_escape_string($_POST['userName']);
  16. if ($callFunction === "list"){
  17. $sql = "SELECT * FROM game WHERE id IN (SELECT gameId FROM gamePlayers WHERE playerId = $userId)";
  18. $result = $conn->query($sql);
  19. if ($result->num_rows > 0) {
  20. $returnArray = array();
  21. $i = 0;
  22. while ($data = $result->fetch_assoc()) {
  23. foreach ($data as $key => $value) {
  24. $returnArray[$i][$key] = $value;
  25. }
  26. $i++;
  27. }
  28. echo json_encode($returnArray);
  29. } else {
  30. echo "No games found for user";
  31. }
  32. } else if ($callFunction === "decline"){
  33. $sql = "UPDATE gamePlayers SET status = 'DECLINED' WHERE gameId = $gameId AND playerId = (SELECT id from users WHERE username = '$userName')";
  34. $result = $conn->query($sql);
  35. if (!$result) {
  36. echo "UPDATE player status failed " . $conn->error;
  37. } else {
  38. $sql = "SELECT count(*) FROM gamePlayers WHERE gameId = $gameId AND status NOT LIKE 'DECLINED'";
  39. $result = $conn->query($sql);
  40. while ($data = $result->fetch_assoc()) {
  41. if ($data[0] == 1) { // Alla utom den som startade spelet har nekat, sätt status till declined på game
  42. $sql = "UPDATE game SET status = 'DECLINED' WHERE id = $gameId";
  43. $result = $conn->query($sql);
  44. if (!$result) {
  45. echo "UPDATE game status failed " . $conn->error;
  46. }
  47. }
  48. }
  49. }
  50. } else if ($callFunction === "accept") {
  51. $sql = "UPDATE gamePlayers SET status = 'ACCEPTED' WHERE gameId = $gameId AND playerId = (SELECT id from users WHERE username = '$userName')";
  52. $result = $conn->query($sql);
  53. if (!$result) {
  54. echo $conn->error;
  55. } else {
  56. $sql = "SELECT * FROM gamePlayers WHERE gameId = $gameId";
  57. $result = $conn->query($sql);
  58. while ($data = $result->fetch_assoc()) {
  59. $done = true;
  60. if ($data['status'] != "ACCEPTED") {
  61. $done = false;
  62. }
  63. }
  64. if ($done) {
  65. $sql = "UPDATE game SET status = 'ACTIVE'";
  66. $result = $conn->query($sql);
  67. if (!$result) {
  68. echo "updating game status active failed " . $conn->error;
  69. }
  70. }
  71. }
  72. }
  73. $conn->close();
  74. ?>