false, 'message' => "Environment file not found" ]); exit; } try { $envDir = dirname($envFile); $dotenv = Dotenv::createImmutable($envDir, '.env.db-tables'); $dotenv->load(); } catch (Throwable $e) { http_response_code(500); echo json_encode([ 'success' => false, 'message' => "Dotenv error" ]); } $tableDefinitions = [ 'teilnehmende' => 'DB_TABLE_TEILNEHMENDE', 'verbuchte_startgebueren' => 'DB_TABLE_VERBUCHTE_STARTGEBUEREN', 'warenkorb_startgebueren' => 'DB_TABLE_WARENKORB_STARTGEBUEREN', 'var' => 'DB_TABLE_VARIABLES', 'einmal_links' => 'DB_EINMAL_LINKS', 'kategorien' => 'DB_TABLE_KATEGORIEN', 'intern_benutzende' => 'DB_TABLE_INTERN_BENUTZENDE', 'vereine' => 'DB_TABLE_VEREINE', 'gruppen' => 'DB_TABLE_GRUPPEN', 'teilnehmende_gruppen' => 'DB_TABLE_TEILNEHMENDE_GRUPPEN', 'disziplinen' => 'DB_TABLE_DISZIPLINEN', 'audiofiles' => 'DB_TABLE_AUDIOFILES', 'teilnehmende_audiofiles' => 'DB_TABLE_TEILNEHMENDE_AUDIOFILES', 'wertungen' => 'DB_TABLE_WERTUNGEN', 'wertungen_log' => 'DB_TABLE_WERTUNGEN_LOG', 'wertungstypen' => 'DB_TABLE_WERTUNGSTYPEN', 'verbuchte_startgebueren_log' => 'DB_TABLE_VERBUCHTE_STARTGEBUEREN_LOG', 'zeitplan_types' => 'DB_TABLE_ZEITPLAN_TYPES', 'gruppen_zeiten' => 'DB_TABLE_GRUPPEN_ZEITEN', 'tabellen_konfiguration' => 'DB_TABLE_TABELLEN_KONFIGURATION', 'wettkaempfe' => 'DB_TABLE_WETTKAEMPFE' ]; foreach ($tableDefinitions as $baseName => $envVarKey) { $rawTableName = $_ENV[$envVarKey] ?? ''; $variableName = 'db_tabelle_' . $baseName; $$variableName = $rawTableName; }