prepare('INSERT INTO bets (status, option1, option2, created_ts) VALUES (?, ?, ?, ?)'); $st->execute(['open', $o1, $o2, gmdate('c')]); $msg = 'Bet åbnet.'; } } // Luk indskud if (isset($_POST['close'])) { $db->exec("UPDATE bets SET status='closed', close_ts='" . gmdate('c') . "' WHERE status='open'"); $msg = 'Bet lukket.'; } // Afslut og udbetal if (isset($_POST['resolve'])) { $win = (int)($_POST['winner'] ?? 1); $win = ($win === 2) ? 2 : 1; // clamp til 1/2 $last = $db->query("SELECT * FROM bets WHERE status='closed' ORDER BY id DESC LIMIT 1") ->fetch(PDO::FETCH_ASSOC); if ($last) { // Find vindere $st = $db->prepare('SELECT user_login, amount FROM bet_entries WHERE bet_id = ? AND option = ?'); $st->execute([$last['id'], $win]); $wins = $st->fetchAll(PDO::FETCH_ASSOC); // Udbetal 2x indsats (UPSERT på points-tabellen) foreach ($wins as $w) { $db->prepare( 'INSERT INTO points (user_login, display_name, points) VALUES (?, ?, ?) ON CONFLICT(user_login) DO UPDATE SET points = points + excluded.points' )->execute([$w['user_login'], $w['user_login'], (int)$w['amount'] * 2]); } // Marker bet som resolved (STRINGSKONSTANT med enkeltanførselstegn) $db->prepare("UPDATE bets SET status='resolved', resolved_option=? WHERE id=?") ->execute([$win, $last['id']]); $msg = 'Bet resolved, vinder: option ' . $win; } } } $last = $db->query('SELECT * FROM bets ORDER BY id DESC LIMIT 1')->fetch(PDO::FETCH_ASSOC); $entries = $last ? $db->query('SELECT * FROM bet_entries WHERE bet_id=' . (int)$last['id'])->fetchAll(PDO::FETCH_ASSOC) : []; ?>