From 0efd52d893abd1af84cc2786411cda89952b0944 Mon Sep 17 00:00:00 2001 From: M_Viper Date: Mon, 30 Mar 2026 20:41:48 +0200 Subject: [PATCH] Update from Git Manager GUI --- admin/forum-admin.php | 94 +++++++++++++++++++++ admin/forum-settings-mc-section.php | 89 ++++++++++++++++++++ admin/forum-settings.php | 123 +++++++++++++++++++++++++++- admin/forum-setup.php | 28 ++++--- 4 files changed, 320 insertions(+), 14 deletions(-) create mode 100644 admin/forum-settings-mc-section.php diff --git a/admin/forum-admin.php b/admin/forum-admin.php index 0c2bf5a..407e44f 100644 --- a/admin/forum-admin.php +++ b/admin/forum-admin.php @@ -367,6 +367,11 @@ function wbf_admin_page() { $existing = $wpdb->get_col("SHOW TABLES LIKE '{$wpdb->prefix}forum_%'"); $missing = array_filter($exp_tables, fn($t) => !in_array($wpdb->prefix.$t, $existing)); + // ── MC Bridge StatusAPI ─────────────────────────────────────────────────── + $mc_s = wbf_get_settings(); + $mc_enabled = ! empty( $mc_s['mc_bridge_enabled'] ); + $mc_api_url = trim( $mc_s['mc_bridge_api_url'] ?? '' ); + // ── Trends ──────────────────────────────────────────────────────────────── $pt = (int)$wpdb->get_var("SELECT COUNT(*) FROM {$wpdb->prefix}forum_posts WHERE deleted_at IS NULL AND created_at >= DATE_SUB(NOW(), INTERVAL 7 DAY)"); $pl = (int)$wpdb->get_var("SELECT COUNT(*) FROM {$wpdb->prefix}forum_posts WHERE deleted_at IS NULL AND created_at BETWEEN DATE_SUB(NOW(), INTERVAL 14 DAY) AND DATE_SUB(NOW(), INTERVAL 7 DAY)"); @@ -482,6 +487,11 @@ function wbf_admin_page() { +
System @@ -494,11 +504,57 @@ function wbf_admin_page() { wp_mail
+ + Galerie: + + + Shop: + +
Tabellen OK Fehlende Tabellen: +
+ + + MC Bridge: Aus + + + + StatusAPI: Nicht konfiguriert + + + + StatusAPI: Prüfe... + + + gerade online
@@ -1346,6 +1402,20 @@ function wbf_admin_members() { } } } + // ── Admin: 2FA eines Users zurücksetzen ────────────────────────────────── + if ( isset( $_POST['wbf_admin_reset_2fa'] ) && check_admin_referer( 'wbf_admin_2fa_nonce' ) ) { + if ( current_user_can('manage_options') && class_exists('WBF_TOTP') ) { + $uid = (int) ( $_POST['user_id'] ?? 0 ); + if ( $uid ) { + $target = WBF_DB::get_user( $uid ); + if ( $target && $target->role !== WBF_Roles::SUPERADMIN ) { + WBF_TOTP::disable_for( $uid ); + echo '

2FA für ' + . esc_html($target->display_name) . ' zurückgesetzt.

'; + } + } + } + } $members = WBF_DB::get_all_users( 200 ); $s_discord = wbf_get_settings(); @@ -1546,6 +1616,30 @@ function wbf_admin_members() { + + +
+ 2FA-Status: + id) ) : ?> + ✔ Aktiv +
+ + + +
+ + — Nicht aktiv + +
+ +