setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); echo "1. 🔍 Prüfe users-Tabelle...\n"; // Prüfe ob is_admin Spalte existiert $stmt = $pdo->query("PRAGMA table_info(users)"); $columns = $stmt->fetchAll(PDO::FETCH_ASSOC); $hasAdminColumn = false; echo " 📋 Aktuelle Spalten in users-Tabelle:\n"; foreach ($columns as $column) { echo " - {$column['name']} ({$column['type']})\n"; if ($column['name'] === 'is_admin') { $hasAdminColumn = true; } } if (!$hasAdminColumn) { echo "\n2. ➕ Füge is_admin Spalte hinzu...\n"; // Füge is_admin Spalte hinzu $pdo->exec("ALTER TABLE users ADD COLUMN is_admin BOOLEAN DEFAULT 0"); echo " ✅ is_admin Spalte hinzugefügt\n"; // Prüfe nochmal $stmt = $pdo->query("PRAGMA table_info(users)"); $columns = $stmt->fetchAll(PDO::FETCH_ASSOC); $hasAdminColumn = false; foreach ($columns as $column) { if ($column['name'] === 'is_admin') { $hasAdminColumn = true; break; } } if ($hasAdminColumn) { echo " ✅ is_admin Spalte erfolgreich erstellt\n"; } else { echo " ❌ is_admin Spalte konnte nicht erstellt werden\n"; exit; } } else { echo "\n2. ℹ️ is_admin Spalte existiert bereits\n"; } echo "\n3. 👑 Markiere bestehende Admin-User...\n"; // Markiere bestehende Admin-User $stmt = $pdo->prepare("UPDATE users SET is_admin = 1 WHERE email IN (?, ?)"); $stmt->execute(['admin@neonail.com', 'neueradmin@neonail.com']); $affectedRows = $stmt->rowCount(); echo " ✅ $affectedRows Admin-User aktualisiert\n"; echo "\n4. 📋 Zeige alle User mit Admin-Status...\n"; // Zeige alle User $stmt = $pdo->query("SELECT id, name, email, is_admin FROM users ORDER BY is_admin DESC, name"); $users = $stmt->fetchAll(PDO::FETCH_ASSOC); foreach ($users as $user) { $adminStatus = $user['is_admin'] ? '👑 Admin' : '👤 User'; echo " - {$user['name']} ({$user['email']}) - {$adminStatus}\n"; } echo "\n5. 🧪 Test: Mache einen User zum Admin...\n"; // Finde einen User, der noch kein Admin ist $stmt = $pdo->prepare("SELECT id, name, email FROM users WHERE is_admin = 0 LIMIT 1"); $stmt->execute(); $testUser = $stmt->fetch(PDO::FETCH_ASSOC); if ($testUser) { echo " 📝 Teste mit User: {$testUser['name']} ({$testUser['email']})\n"; // Mache User zum Admin $stmt = $pdo->prepare("UPDATE users SET is_admin = 1 WHERE id = ?"); $stmt->execute([$testUser['id']]); echo " ✅ User zum Admin gemacht\n"; // Prüfe Änderung $stmt = $pdo->prepare("SELECT is_admin FROM users WHERE id = ?"); $stmt->execute([$testUser['id']]); $result = $stmt->fetch(PDO::FETCH_ASSOC); if ($result['is_admin']) { echo " ✅ Admin-Status korrekt gesetzt\n"; } else { echo " ❌ Admin-Status nicht korrekt gesetzt\n"; } // Mache User wieder zurück $stmt = $pdo->prepare("UPDATE users SET is_admin = 0 WHERE id = ?"); $stmt->execute([$testUser['id']]); echo " 🔄 User-Status zurückgesetzt\n"; } else { echo " ℹ️ Alle User sind bereits Admins\n"; } echo "\n✅ Admin-Rolle erfolgreich zur Datenbank hinzugefügt!\n"; echo "🔗 Testen Sie jetzt: https://neonail.vogt.de.com/admin/users\n"; echo "📝 Sie können jetzt User zum Admin machen!\n"; } catch (Exception $e) { echo "❌ Fehler: " . $e->getMessage() . "\n"; echo "📍 Datei: " . $e->getFile() . ":" . $e->getLine() . "\n"; } ?>