Files
main-website/poker-paf/declare_winner.php
T
2026-03-03 20:14:06 +01:00

49 lines
1.6 KiB
PHP

<?php
require_once 'db.php';
session_start();
header('Content-Type: application/json');
$game_id = intval($_POST['game_id']);
$winner_id = intval($_POST['winner_id']);
try {
// 1. Vérifier que le joueur est bien dans la partie
$stmt = $db->prepare("SELECT id FROM players WHERE game_id = ? AND id = ?");
$stmt->execute([$game_id, $winner_id]);
if (!$stmt->fetch()) {
throw new Exception("Le joueur n'est pas dans cette partie.");
}
// 2. Récupérer le pot total de la partie
require_once 'get_total_game_blind.php';
$total_pot = get_total_game_blind($game_id);
// 3. Mettre à jour le solde du gagnant
$stmt = $db->prepare("UPDATE players SET money = money + ? WHERE id = ?");
$stmt->execute([$total_pot, $winner_id]);
// 4. Remettre à 0 le pot total de la partie
$stmt = $db->prepare("UPDATE games SET pot = 0 WHERE id = ?");
$stmt->execute([$game_id]);
// 5. Remettre à 0 les mises de tous les joueurs
$stmt = $db->prepare("UPDATE players SET current_bet = 0 WHERE game_id = ?");
$stmt->execute([$game_id]);
// 6. Remettre à 0 la blind actuelle de la partie
$stmt = $db->prepare("UPDATE games SET last_bet = 0 WHERE id = ?");
$stmt->execute([$game_id]);
// 7. Récupérer le nom du gagnant pour l'afficher
$stmt = $db->prepare("SELECT name FROM players WHERE id = ?");
$stmt->execute([$winner_id]);
$winner = $stmt->fetch(PDO::FETCH_ASSOC);
echo json_encode(['success' => true, 'winner_name' => $winner['name'] ?? "Inconnu"]);
} catch (Exception $e) {
echo json_encode(['success' => false, 'message' => $e->getMessage()]);
}
?>