function setSeatForUser($eventId, $userId, $seatId) { if (getUserInSeat($eventId, $seatId)) { return; // dont overwrite } // if getSeatForUser != null, insert $sql = 'UPDATE seatingplan_seat_selections s SET seat = :seat WHERE event = :event and USER = :user'; $stmt = DatabaseFactory::getInstance()->prepare($sql); $stmt->bindValue(':seat', $seatId); $stmt->bindValue(':event', $eventId); $stmt->bindValue(':user', $userId); $stmt->execute(); }
echo json_encode(array('type' => 'error', 'message' => $errorMessage)); exit; } function jsonSuccess($message, array $seatChanges) { echo json_encode(array('type' => 'success', 'message' => $message, 'seatChanges' => $seatChanges)); exit; } if (!Session::isLoggedIn()) { jsonError('You are not logged in!'); } $status = getSignupStatus(Session::getUser()->getId(), $event['id']); if ($status != 'PAID' && $status != 'CONFIRMED' && $status != 'PAYPAL_WAITING' && $status != 'STAFF') { jsonError("You haven't paid for a ticket!"); } if (getUserInSeat($event['id'], $seat)) { jsonError("That seat is already occupied!"); } $seatChanges = array(); $currentSeats = getSeatForUser($event['id']); foreach ($currentSeats as $itemCurrentSeat) { $seatChanges[] = getJsonSeatChange('delete', $itemCurrentSeat['seat'], Session::getUser()->getUsername()); } deleteSeatsForUser($event['id']); setUserInSeat($event['id'], $seat); $seatChanges[] = getJsonSeatChange('set', $seat, Session::getUser()->getUsername()); jsonSuccess('Seat selected!', $seatChanges); ?>