159 lines
5.1 KiB
PHP
159 lines
5.1 KiB
PHP
<?php
|
|
// Fix: Admin-Ansicht Problem
|
|
echo "👑 Fix: Admin-Ansicht Problem\n";
|
|
echo "============================\n\n";
|
|
|
|
// 1. Aktuelle User mit Admin-Rechten prüfen
|
|
echo "1. 🔍 Aktuelle Admin-User prüfen:\n";
|
|
try {
|
|
require_once 'vendor/autoload.php';
|
|
|
|
// Laravel Bootstrap
|
|
$app = require_once 'bootstrap/app.php';
|
|
$app->make('Illuminate\Contracts\Console\Kernel')->bootstrap();
|
|
|
|
// Datenbankverbindung herstellen
|
|
$users = \App\Models\User::all();
|
|
|
|
foreach ($users as $user) {
|
|
$isAdmin = $user->isAdmin();
|
|
$isAdminColumn = $user->is_admin;
|
|
$email = $user->email;
|
|
|
|
echo " 📧 $email:\n";
|
|
echo " - is_admin Spalte: " . ($isAdminColumn ? 'Ja' : 'Nein') . "\n";
|
|
echo " - isAdmin() Methode: " . ($isAdmin ? 'Ja' : 'Nein') . "\n";
|
|
echo " - Admin-Email Check: " . (in_array($email, ['admin@neonail.com', 'neueradmin@neonail.com']) ? 'Ja' : 'Nein') . "\n";
|
|
echo "\n";
|
|
}
|
|
|
|
} catch (Exception $e) {
|
|
echo " ❌ Fehler beim Prüfen der User: " . $e->getMessage() . "\n";
|
|
}
|
|
|
|
// 2. User Model prüfen
|
|
echo "2. 📋 User Model prüfen:\n";
|
|
$userModelPath = 'app/Models/User.php';
|
|
if (file_exists($userModelPath)) {
|
|
$content = file_get_contents($userModelPath);
|
|
|
|
// Prüfe isAdmin Methode
|
|
if (strpos($content, 'public function isAdmin()') !== false) {
|
|
echo " ✅ isAdmin() Methode vorhanden\n";
|
|
} else {
|
|
echo " ❌ isAdmin() Methode fehlt\n";
|
|
}
|
|
|
|
// Prüfe is_admin in fillable
|
|
if (strpos($content, "'is_admin'") !== false) {
|
|
echo " ✅ is_admin in \$fillable vorhanden\n";
|
|
} else {
|
|
echo " ❌ is_admin nicht in \$fillable\n";
|
|
}
|
|
|
|
// Prüfe makeAdmin Methode
|
|
if (strpos($content, 'public function makeAdmin()') !== false) {
|
|
echo " ✅ makeAdmin() Methode vorhanden\n";
|
|
} else {
|
|
echo " ❌ makeAdmin() Methode fehlt\n";
|
|
}
|
|
|
|
} else {
|
|
echo " ❌ User Model nicht gefunden\n";
|
|
}
|
|
|
|
// 3. AdminMiddleware prüfen
|
|
echo "3. 🛡️ AdminMiddleware prüfen:\n";
|
|
$middlewarePath = 'app/Http/Middleware/AdminMiddleware.php';
|
|
if (file_exists($middlewarePath)) {
|
|
$content = file_get_contents($middlewarePath);
|
|
|
|
if (strpos($content, 'auth()->user()->isAdmin()') !== false) {
|
|
echo " ✅ AdminMiddleware verwendet isAdmin() Methode\n";
|
|
} else {
|
|
echo " ❌ AdminMiddleware verwendet nicht isAdmin() Methode\n";
|
|
}
|
|
|
|
} else {
|
|
echo " ❌ AdminMiddleware nicht gefunden\n";
|
|
}
|
|
|
|
// 4. Routes prüfen
|
|
echo "4. 🛣️ Admin-Routes prüfen:\n";
|
|
$routesPath = 'routes/web.php';
|
|
if (file_exists($routesPath)) {
|
|
$content = file_get_contents($routesPath);
|
|
|
|
$adminRoutes = [
|
|
'admin/users',
|
|
'admin/dashboard',
|
|
'nail-polishes'
|
|
];
|
|
|
|
foreach ($adminRoutes as $route) {
|
|
if (strpos($content, $route) !== false) {
|
|
echo " ✅ Route gefunden: $route\n";
|
|
} else {
|
|
echo " ❌ Route fehlt: $route\n";
|
|
}
|
|
}
|
|
|
|
} else {
|
|
echo " ❌ Routes-Datei nicht gefunden\n";
|
|
}
|
|
|
|
// 5. Layout prüfen
|
|
echo "5. 🎨 Layout prüfen:\n";
|
|
$layoutPath = 'resources/views/layouts/app.blade.php';
|
|
if (file_exists($layoutPath)) {
|
|
$content = file_get_contents($layoutPath);
|
|
|
|
if (strpos($content, 'auth()->user()->isAdmin()') !== false) {
|
|
echo " ✅ Layout verwendet isAdmin() für Admin-Menü\n";
|
|
} else {
|
|
echo " ❌ Layout verwendet nicht isAdmin() für Admin-Menü\n";
|
|
}
|
|
|
|
} else {
|
|
echo " ❌ Layout-Datei nicht gefunden\n";
|
|
}
|
|
|
|
// 6. Cache leeren
|
|
echo "6. 🧹 Cache leeren...\n";
|
|
system('php artisan cache:clear 2>/dev/null || echo " ⚠️ cache: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"');
|
|
system('php artisan route:clear 2>/dev/null || echo " ⚠️ route:clear übersprungen"');
|
|
echo " ✅ Cache geleert\n";
|
|
|
|
// 7. Test-Admin erstellen
|
|
echo "7. 👑 Test-Admin erstellen...\n";
|
|
try {
|
|
$testUser = \App\Models\User::where('email', 'testadmin@neonail.com')->first();
|
|
|
|
if (!$testUser) {
|
|
$testUser = new \App\Models\User();
|
|
$testUser->name = 'Test Admin';
|
|
$testUser->email = 'testadmin@neonail.com';
|
|
$testUser->password = bcrypt('password123');
|
|
$testUser->is_admin = true;
|
|
$testUser->save();
|
|
echo " ✅ Test-Admin erstellt: testadmin@neonail.com\n";
|
|
} else {
|
|
$testUser->is_admin = true;
|
|
$testUser->save();
|
|
echo " ✅ Test-Admin aktualisiert: testadmin@neonail.com\n";
|
|
}
|
|
|
|
} catch (Exception $e) {
|
|
echo " ❌ Fehler beim Erstellen des Test-Admins: " . $e->getMessage() . "\n";
|
|
}
|
|
|
|
echo "\n✅ Admin-Ansicht Problem Analyse abgeschlossen!\n";
|
|
echo "🔗 Testen Sie jetzt:\n";
|
|
echo "1. Melden Sie sich als neuer Admin an\n";
|
|
echo "2. Prüfen Sie ob Admin-Menü sichtbar ist\n";
|
|
echo "3. Versuchen Sie auf /admin/users zuzugreifen\n";
|
|
echo "4. Falls Problem besteht, teilen Sie die Ausgabe mit\n";
|
|
?>
|