50 lines
1.5 KiB
PHP
50 lines
1.5 KiB
PHP
<?php
|
||
// ========== Access control setup ==========
|
||
$userid = intval($_SESSION['user_id_kampfrichter'] ?? 0);
|
||
$arrayfreigaben = [];
|
||
|
||
if ($userid > 0) {
|
||
$stmt = $mysqli->prepare("SELECT freigabe, username FROM $db_tabelle_intern_benutzende WHERE id = ?");
|
||
$stmt->bind_param("s", $userid);
|
||
$stmt->execute();
|
||
$result = $stmt->get_result();
|
||
|
||
if ($result) {
|
||
$dbarray = $result->fetch_assoc();
|
||
}
|
||
|
||
$freigabe_json = $dbarray['freigabe'] ?? '';
|
||
$username = $dbarray['username'] ?? '';
|
||
|
||
$stmt->close();
|
||
|
||
// Only decode if it’s a string
|
||
if (is_string($freigabe_json) && $freigabe_json !== '') {
|
||
$arrayfreigaben = json_decode($freigabe_json, true) ?: [];
|
||
$arrayfreigaben = $arrayfreigaben['freigabenKampfrichter'] ?? [];
|
||
}
|
||
}
|
||
if (empty($arrayfreigaben)) {
|
||
echo 'Keine gültigen Freigaben! Sie wurden abgemeldet.';
|
||
$_SESSION['access_granted_kampfrichter'] = false;
|
||
$_SESSION['logoDisplay'] = true;
|
||
exit;
|
||
}
|
||
|
||
$key = array_search("A", $arrayfreigaben, true);
|
||
if ($key !== false) {
|
||
unset($arrayfreigaben[$key]);
|
||
array_unshift($arrayfreigaben, "A");
|
||
$arrayfreigaben = array_values($arrayfreigaben);
|
||
}
|
||
|
||
$selectedFreigabeId = $_SESSION['selectedFreigabeIdKampfrichter'] ?? $arrayfreigaben[0];
|
||
|
||
if (!in_array($selectedFreigabeId, $arrayfreigaben, true)) {
|
||
$selectedFreigabeId = $arrayfreigaben[0];
|
||
}
|
||
|
||
$_SESSION['selectedFreigabeIdKampfrichter'] = $selectedFreigabeId;
|
||
|
||
$isAdmin = $selectedFreigabeId === 'A';
|