pdo(); $userId = $_SESSION['user_id'] ?? null; if (!$userId) { redirect('/login'); } $communityCfg = require __DIR__ . '/../../../config/community.php'; $access = $pdo ? new \App\CommunityAccess($pdo, $communityCfg) : null; $migration = $pdo ? new \App\CommunityMigration($pdo) : null; if (!$access || !$access->canModerateForum((int)$userId)) { http_response_code(403); echo '

Kein Zugriff

Dieser Bereich ist nur für Community-Admins freigegeben.

'; return; } $error = ''; $info = ''; $canManageApplications = $access->canManageApplications((int)$userId) && $access->supportsApplications(); $canManageRoles = $access->canManageRoles((int)$userId); if ($_SERVER['REQUEST_METHOD'] === 'POST') { $action = (string)($_POST['action'] ?? ''); try { if ($action === 'application_decide') { $access->decideApplication((int)$userId, (int)($_POST['application_id'] ?? 0), (string)($_POST['decision'] ?? ''), (string)($_POST['decision_reason'] ?? '')); $info = 'Bewerbung wurde bearbeitet.'; } elseif ($action === 'report_resolve') { $access->resolveReport((int)$userId, (int)($_POST['report_id'] ?? 0), (string)($_POST['moderator_note'] ?? '')); $info = 'Meldung wurde abgeschlossen.'; } elseif ($action === 'role_revoke') { $access->revokeRole((int)$userId, (int)($_POST['target_user_id'] ?? 0), (string)($_POST['role'] ?? '')); $info = 'Rolle wurde entzogen.'; } elseif ($action === 'role_assign') { $access->assignRole((int)$userId, (int)($_POST['target_user_id'] ?? 0), (string)($_POST['role'] ?? '')); $info = 'Rolle wurde vergeben.'; } elseif ($action === 'community_migrate') { if (!$canManageApplications || !$migration) { throw new \RuntimeException('Keine Berechtigung für die Community-Migration.'); } $migration->apply(); $info = 'Die Community-Migration wurde ausgeführt.'; } } catch (\Throwable $e) { $error = $e->getMessage(); } } $applications = $canManageApplications ? $access->listApplications('open') : []; $reports = $access->supportsReports() ? $access->listOpenReports() : []; $roleAssignments = $canManageRoles ? $access->listRoleAssignments() : []; $migrationStatus = ($migration && $canManageApplications) ? $migration->status() : null; ?>
Home / Mitgliederbereich / Community-Admin

Community-Admin

Moderation, Bewerbungen und Rollen an einem Ort.

Offene Bewerbungen

Bewerbungen für die Forum-Moderation prüfen.

Keine offenen Bewerbungen.

Offene Meldungen

Gemeldete Inhalte prüfen und abschließen.

#

Gemeldet von am

Keine offenen Meldungen.

Rollen verwalten

Community-Rollen vergeben und entziehen.

Rolle: · seit

Keine Rollen vergeben.

Migration

Status der Community-Datenbank prüfen.

  • Status:
  • Fehlende Bausteine: