$s !== '')); // αφαιρεί κενές $lines = array_unique($lines); // αφαίρεση διπλότυπων // Αν δεν δόθηκαν επιλογές → χρησιμοποίησε τους ομιλητές if (count($lines) === 0) { $lines = [$spa, $spb]; } // Αν δόθηκε μόνο μία επιλογή → συμπλήρωσε δεύτερη από τους ομιλητές if (count($lines) === 1) { if (strcasecmp($lines[0], $spb) !== 0) { $lines[] = $spb; } else { $lines[] = $spa; } } if (count($lines) < 2) { $err = 'Χρειάζονται τουλάχιστον 2 επιλογές (από το πεδίο Επιλογές ή από τους ομιλητές).'; } else { if (count($lines) > 20) { $lines = array_slice($lines, 0, 20); } $pdo->beginTransaction(); try { // δημιουργία debate με όλους τους βασικούς τομείς $stmt = $pdo->prepare("INSERT INTO debates (title, speaker_a, speaker_b, description, ends_at, vote_open, slug, is_published) VALUES (?, ?, ?, ?, ?, 0, NULL, 1)"); $stmt->execute([$title, $spa, $spb, $desc, ($ends !== '' ? $ends : null)]); $debateId = (int)$pdo->lastInsertId(); // εισαγωγή επιλογών $ord = 1; $stmtOpt = $pdo->prepare("INSERT INTO debate_options (debate_id, label, ordering) VALUES (?, ?, ?)"); foreach ($lines as $lbl) { $stmtOpt->execute([$debateId, $lbl, $ord++]); } $pdo->commit(); header('Location: index.php?ok=1'); exit; // relative redirect } catch (\Throwable $e) { $pdo->rollBack(); $err = 'DB error'; if (defined('DEBATE_DEBUG') && DEBATE_DEBUG) { $err .= ': ' . h($e->getMessage()); } } } } } } // Λίστα δημοσιευμένων debates $rows = $pdo->query("SELECT id,title,description,speaker_a,speaker_b,created_at FROM debates WHERE is_published=1 ORDER BY id DESC")->fetchAll(); ?> Debates

Debates

Το debate δημιουργήθηκε.
Δεν υπάρχουν debates ακόμα.

Δημιουργία νέου debate

Αν μπει ώρα λήξης, η ψηφοφορία ανοίγει αυτόματα όταν τελειώσει το debate.
Αν μείνει κενό, θα δημιουργηθούν αυτόματα επιλογές: Ομιλητής A και Ομιλητής B.