Script erstellt

This commit is contained in:
Housemann
2025-08-10 18:09:07 +02:00
commit 2a15995cbb
196 changed files with 24790 additions and 0 deletions

90
test-admin-checkbox.php Normal file
View File

@@ -0,0 +1,90 @@
<?php
// Test der Admin-Checkbox Funktionalität
// Führen Sie dies aus, um zu prüfen, ob die Checkbox korrekt funktioniert
try {
// Datenbankverbindung
$pdo = new PDO('sqlite:database.sqlite');
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
echo "🧪 Test der Admin-Checkbox Funktionalität\n";
echo "========================================\n\n";
// 1. Prüfe is_admin Spalte
$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 existiert\n";
} else {
echo "❌ is_admin Spalte fehlt - führen Sie fix-admin-role.php aus\n";
exit;
}
// 2. Zeige alle User mit Admin-Status
echo "\n📋 User mit Admin-Status:\n";
$stmt = $pdo->query("SELECT id, name, email, is_admin FROM users ORDER BY is_admin DESC, name");
$users = $stmt->fetchAll(PDO::FETCH_ASSOC);
if (empty($users)) {
echo "❌ Keine User gefunden\n";
} else {
foreach ($users as $user) {
$adminStatus = $user['is_admin'] ? '👑 Admin' : '👤 User';
$checkboxState = $user['is_admin'] ? '☑️ Aktiviert' : '☐ Deaktiviert';
echo "- {$user['name']} ({$user['email']}) - {$adminStatus} - {$checkboxState}\n";
}
}
// 3. Test: Mache einen User zum Admin
echo "\n🧪 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-Checkbox Test erfolgreich!\n";
echo "🔗 Testen Sie jetzt: https://neonail.vogt.de.com/admin/users\n";
} catch (Exception $e) {
echo "❌ Fehler: " . $e->getMessage() . "\n";
}
?>