166 lines
5.5 KiB
PHP
166 lines
5.5 KiB
PHP
<?php
|
|
// Fix: Admin-Routes korrigieren
|
|
echo "👑 Fix: Admin-Routes korrigieren\n";
|
|
echo "==============================\n\n";
|
|
|
|
// 1. Routes-Datei analysieren
|
|
echo "1. 📋 Routes-Datei analysieren:\n";
|
|
$routesPath = 'routes/web.php';
|
|
if (file_exists($routesPath)) {
|
|
$content = file_get_contents($routesPath);
|
|
|
|
// Zeige alle Admin-bezogenen Zeilen
|
|
$lines = explode("\n", $content);
|
|
$adminLines = [];
|
|
|
|
foreach ($lines as $lineNumber => $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";
|
|
?>
|