a
This commit is contained in:
54
admin.php
54
admin.php
@@ -13,7 +13,7 @@ if (!isset($_SESSION['user']) || !in_array($_SESSION['user']['username'], $confi
|
||||
$message = '';
|
||||
$members = get_group_members('APP_LootjesTrekken');
|
||||
|
||||
// --- Afmelden knop ---
|
||||
// --- Uitloggen ---
|
||||
if ($_SERVER['REQUEST_METHOD'] === 'POST' && isset($_POST['logout'])) {
|
||||
log_action($pdo, $_SESSION['user']['username'], 'Uitloggen via admin', 'Admin pagina');
|
||||
session_unset();
|
||||
@@ -35,7 +35,6 @@ if ($_SERVER['REQUEST_METHOD'] === 'POST' && isset($_POST['start_round'])) {
|
||||
$stmt->execute([$rondeNaam]);
|
||||
$ronde_id = $pdo->lastInsertId();
|
||||
|
||||
// Shuffle algoritme: geen enkel persoon mag zichzelf trekken
|
||||
$gevers = $members;
|
||||
$ontvangers = $members;
|
||||
$maxRetries = 1000;
|
||||
@@ -51,18 +50,16 @@ if ($_SERVER['REQUEST_METHOD'] === 'POST' && isset($_POST['start_round'])) {
|
||||
}
|
||||
$retry++;
|
||||
if ($retry > $maxRetries) {
|
||||
throw new Exception("Kan geen geldige lootjes toewijzen na $maxRetries pogingen.");
|
||||
throw new Exception("Kon geen geldige trekking genereren na $maxRetries pogingen.");
|
||||
}
|
||||
} while (!$valid);
|
||||
|
||||
// Opslaan in database
|
||||
$stmtInsert = $pdo->prepare("INSERT INTO lootjes (ronde_id, gever, ontvanger) VALUES (?, ?, ?)");
|
||||
for ($i = 0; $i < count($gevers); $i++) {
|
||||
$stmtInsert->execute([$ronde_id, $gevers[$i], $ontvangers[$i]]);
|
||||
}
|
||||
|
||||
$pdo->commit();
|
||||
|
||||
log_action($pdo, $_SESSION['user']['username'], "Nieuwe ronde gestart: $rondeNaam", "Admin pagina");
|
||||
$message = "✅ Nieuwe ronde '$rondeNaam' succesvol gestart!";
|
||||
} catch (Exception $e) {
|
||||
@@ -83,7 +80,21 @@ if ($_SERVER['REQUEST_METHOD'] === 'POST' && isset($_POST['close_round'])) {
|
||||
}
|
||||
}
|
||||
|
||||
// --- Huidige rondes ophalen ---
|
||||
// --- Ronde hernoemen ---
|
||||
if ($_SERVER['REQUEST_METHOD'] === 'POST' && isset($_POST['rename_round'])) {
|
||||
$ronde_id = $_POST['round_id'] ?? 0;
|
||||
$new_name = trim($_POST['new_name'] ?? '');
|
||||
if ($ronde_id && $new_name !== '') {
|
||||
$stmt = $pdo->prepare("UPDATE lootjes_rondes SET naam=? WHERE id=?");
|
||||
$stmt->execute([$new_name, $ronde_id]);
|
||||
log_action($pdo, $_SESSION['user']['username'], "Ronde $ronde_id hernoemd naar '$new_name'", "Admin pagina");
|
||||
$message = "Naam van ronde aangepast naar: " . htmlspecialchars($new_name);
|
||||
} else {
|
||||
$message = "❌ Ongeldige naam opgegeven.";
|
||||
}
|
||||
}
|
||||
|
||||
// --- Alle rondes ophalen ---
|
||||
try {
|
||||
$stmt = $pdo->query("SELECT * FROM lootjes_rondes ORDER BY created_at DESC");
|
||||
$rondes = $stmt->fetchAll();
|
||||
@@ -166,18 +177,10 @@ button {
|
||||
button:hover {
|
||||
opacity: 0.9;
|
||||
}
|
||||
button.logout {
|
||||
background: white;
|
||||
color: var(--primary);
|
||||
}
|
||||
button.close {
|
||||
background: #e67e22;
|
||||
color: white;
|
||||
}
|
||||
button.start {
|
||||
background: var(--accent);
|
||||
color: white;
|
||||
}
|
||||
button.logout { background: white; color: var(--primary); }
|
||||
button.close { background: #e67e22; color: white; }
|
||||
button.start { background: var(--accent); color: white; }
|
||||
button.rename { background: #8e44ad; color: white; }
|
||||
.message {
|
||||
margin: 15px 0;
|
||||
padding: 10px;
|
||||
@@ -192,6 +195,11 @@ footer {
|
||||
margin-top: 30px;
|
||||
padding-bottom: 20px;
|
||||
}
|
||||
input.rename-input {
|
||||
padding: 4px 6px;
|
||||
width: 200px;
|
||||
font-size: 0.9em;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
@@ -222,7 +230,13 @@ footer {
|
||||
<?php foreach ($rondes as $r): ?>
|
||||
<tr>
|
||||
<td><?= $r['id'] ?></td>
|
||||
<td><?= htmlspecialchars($r['naam']) ?></td>
|
||||
<td>
|
||||
<form method="post" style="display:flex; gap:6px; align-items:center;">
|
||||
<input type="hidden" name="round_id" value="<?= $r['id'] ?>">
|
||||
<input type="text" name="new_name" class="rename-input" value="<?= htmlspecialchars($r['naam']) ?>">
|
||||
<button type="submit" name="rename_round" class="rename">💾 Opslaan</button>
|
||||
</form>
|
||||
</td>
|
||||
<td><?= htmlspecialchars($r['status']) ?></td>
|
||||
<td>
|
||||
<?php if ($r['status'] === 'open'): ?>
|
||||
@@ -236,7 +250,7 @@ footer {
|
||||
</td>
|
||||
<td>
|
||||
<?php
|
||||
// Toon lootjes alleen als de ronde is afgerond
|
||||
// Toon lootjes alleen als ronde is afgerond
|
||||
if ($r['status'] === 'afgerond') {
|
||||
$stmtLootjes = $pdo->prepare("SELECT gever, ontvanger FROM lootjes WHERE ronde_id=?");
|
||||
$stmtLootjes->execute([$r['id']]);
|
||||
|
||||
Reference in New Issue
Block a user