$line) { if (strpos($line, 'admin') !== false || strpos($line, 'Admin') !== false) { $adminLines[] = ($lineNumber + 1) . ": " . trim($line); } } echo " 📄 Admin-bezogene Zeilen in routes/web.php:\n"; foreach ($adminLines as $line) { echo " $line\n"; } } else { echo " ❌ Routes-Datei nicht gefunden\n"; } // 2. Route-Liste generieren echo "\n2. 🛣️ Route-Liste generieren:\n"; try { // Laravel Bootstrap require_once 'vendor/autoload.php'; $app = require_once 'bootstrap/app.php'; $app->make('Illuminate\Contracts\Console\Kernel')->bootstrap(); // Route-Liste abrufen $routes = \Illuminate\Support\Facades\Route::getRoutes(); $adminRoutes = []; foreach ($routes as $route) { $uri = $route->uri(); $methods = $route->methods(); $name = $route->getName(); if (strpos($uri, 'admin') !== false || strpos($name, 'admin') !== false) { $adminRoutes[] = [ 'uri' => $uri, 'methods' => $methods, 'name' => $name ]; } } if (empty($adminRoutes)) { echo " ⚠️ Keine Admin-Routes gefunden\n"; } else { echo " ✅ Admin-Routes gefunden:\n"; foreach ($adminRoutes as $route) { $methods = implode('|', $route['methods']); $name = $route['name'] ?: 'kein Name'; echo " $methods $uri ($name)\n"; } } } catch (Exception $e) { echo " ❌ Fehler beim Abrufen der Routes: " . $e->getMessage() . "\n"; } // 3. Admin-Routes manuell prüfen echo "\n3. 🔍 Admin-Routes manuell prüfen:\n"; $routesPath = 'routes/web.php'; if (file_exists($routesPath)) { $content = file_get_contents($routesPath); // Suche nach spezifischen Admin-Route-Patterns $adminPatterns = [ 'admin/dashboard' => 'Dashboard Route', 'admin/users' => 'Users Index Route', 'admin/users/create' => 'Users Create Route', 'admin/users/{user}/edit' => 'Users Edit Route', 'admin/statistics' => 'Statistics Route', 'admin/users/{user}' => 'Users Show/Edit Route', 'nail-polishes' => 'Nail Polishes Route' ]; foreach ($adminPatterns as $pattern => $description) { if (strpos($content, $pattern) !== false) { echo " ✅ Pattern gefunden: $pattern ($description)\n"; } else { echo " ❌ Pattern fehlt: $pattern ($description)\n"; } } // Prüfe Route-Gruppen if (strpos($content, "Route::middleware(['admin'])->prefix('admin')") !== false) { echo " ✅ Admin Route-Gruppe gefunden\n"; } else { echo " ❌ Admin Route-Gruppe nicht gefunden\n"; } } else { echo " ❌ Routes-Datei nicht gefunden\n"; } // 4. Cache leeren und Routes neu laden echo "\n4. 🧹 Cache leeren und Routes neu laden...\n"; system('php artisan route:clear 2>/dev/null || echo " ⚠️ route:clear übersprungen"'); system('php artisan config:clear 2>/dev/null || echo " ⚠️ config:clear übersprungen"'); system('php artisan view:clear 2>/dev/null || echo " ⚠️ view:clear übersprungen"'); echo " ✅ Cache geleert\n"; // 5. Admin-User Status prüfen echo "\n5. 👑 Admin-User Status prüfen:\n"; try { // Alle User mit Admin-Rechten auflisten $users = \App\Models\User::all(); foreach ($users as $user) { $isAdmin = $user->isAdmin(); $isAdminColumn = $user->is_admin; $email = $user->email; if ($isAdmin || $isAdminColumn) { echo " 📧 $email:\n"; echo " - is_admin Spalte: " . ($isAdminColumn ? 'Ja' : 'Nein') . "\n"; echo " - isAdmin() Methode: " . ($isAdmin ? 'Ja' : 'Nein') . "\n"; echo " - Admin-Status: " . ($isAdmin ? '✅ Admin' : '❌ Kein Admin') . "\n"; echo "\n"; } } } catch (Exception $e) { echo " ❌ Fehler beim Prüfen der User: " . $e->getMessage() . "\n"; } // 6. Test-URLs generieren echo "\n6. 🔗 Test-URLs für Admin-Zugriffe:\n"; $baseUrl = 'https://neonail.vogt.de.com'; $adminUrls = [ '/admin/dashboard' => 'Admin Dashboard', '/admin/users' => 'Admin Users', '/admin/users/create' => 'Admin Create User', '/admin/statistics' => 'Admin Statistics', '/nail-polishes' => 'Nail Polishes Management' ]; foreach ($adminUrls as $url => $description) { echo " 🔗 $baseUrl$url ($description)\n"; } echo "\n✅ Admin-Routes Analyse abgeschlossen!\n"; echo "🔗 Testen Sie jetzt:\n"; echo "1. Melden Sie sich als Admin an (oliver@vogt.de.com)\n"; echo "2. Prüfen Sie ob Admin-Menü sichtbar ist\n"; echo "3. Klicken Sie auf 'Admin' → 'Benutzer'\n"; echo "4. Oder versuchen Sie direkt: $baseUrl/admin/users\n"; echo "5. Falls 403 Fehler: Prüfen Sie ob User wirklich Admin ist\n"; echo "\n📋 Falls Probleme bestehen:\n"; echo "- Prüfen Sie Browser-Entwicklertools (F12) für Fehler\n"; echo "- Schauen Sie in die Laravel-Logs: tail -f storage/logs/laravel.log\n"; echo "- Teilen Sie eventuelle Fehlermeldungen mit\n"; ?>