false, 'message' => 'no type' ]; } if ($type === 'kr'){ check_user_permission('kampfrichter'); } elseif ($type === 'tr'){ check_user_permission('trainer'); } elseif ($type === 'wkl') { check_user_permission('wk_leitung'); } elseif ($type === 'otl') { if (empty($_SESSION['access_granted_db_otl']) || $_SESSION['access_granted_db_otl'] !== true) { http_response_code(403); exit; } } else { http_response_code(403); exit; } require __DIR__ . '/../../composer/vendor/autoload.php'; $envFile = realpath(__DIR__ . '/../../config/.env.db'); if ($envFile === false) { http_response_code(500); echo json_encode([ 'success' => false, 'message' => "Environment file not found" ]); exit; } try { $envDir = dirname($envFile); $dotenv = Dotenv::createImmutable($envDir, '.env.db'); $dotenv->load(); } catch (Throwable $e) { http_response_code(500); echo json_encode([ 'success' => false, 'message' => "Dotenv error" ]); } if (!isset($_ENV['DB_HOST']) || !isset($_ENV['DB_NAME']) || !isset($_ENV['DB_USER']) || !isset($_ENV['DB_PASSWORD'])){ echo json_encode([ 'success' => false, 'message' => 'corrupt cofig file' ]); exit; } $mysqli = @new mysqli($_ENV['DB_HOST'], $_ENV['DB_USER'], $_ENV['DB_PASSWORD'], $_ENV['DB_NAME']); if ($mysqli->connect_error) { echo json_encode([ 'success' => false, 'message' => "DB connection failed" ]); exit; } $mysqli->set_charset("utf8"); return [ 'success' => true ];