setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); } catch (Exception $e) { $dbError = $e->getMessage(); } // Safe query functions function safeQuery($pdo, $sql, $default = 0) { try { return $pdo->query($sql)->fetchColumn() ?: $default; } catch (Exception $e) { return $default; } } function safeQueryAll($pdo, $sql) { try { return $pdo->query($sql)->fetchAll(PDO::FETCH_ASSOC); } catch (Exception $e) { return []; } } // Get stats $stats = [ 'servers' => safeQuery($pdo, "SELECT COUNT(*) FROM admin.mta_servers WHERE status='Activated'"), 'domains' => safeQuery($pdo, "SELECT COUNT(*) FROM admin.domains"), 'brain_tests' => safeQuery($pdo, "SELECT COUNT(*) FROM admin.brain_test_results"), 'brain_winners' => safeQuery($pdo, "SELECT COUNT(*) FROM admin.brain_winners"), 'ai_providers' => safeQuery($pdo, "SELECT COUNT(*) FROM admin.ai_providers WHERE status='active'"), 'clicks_today' => safeQuery($pdo, "SELECT COUNT(*) FROM actions.clicks WHERE action_date >= CURRENT_DATE"), 'leads_month' => safeQuery($pdo, "SELECT COUNT(*) FROM actions.leads WHERE action_date >= DATE_TRUNC('month', CURRENT_DATE)"), ]; // Get recent brain results $brainResults = safeQueryAll($pdo, "SELECT * FROM admin.brain_test_results ORDER BY id DESC LIMIT 5"); $brainWinners = safeQueryAll($pdo, "SELECT * FROM admin.brain_winners ORDER BY id DESC LIMIT 5"); $aiProviders = safeQueryAll($pdo, "SELECT * FROM admin.ai_providers ORDER BY id LIMIT 10"); // n8n workflows status $n8nWorkflows = []; try { $db = new SQLite3('/opt/n8n/.n8n/database.sqlite'); $result = $db->query("SELECT id, name, active FROM workflow_entity ORDER BY name"); while ($row = $result->fetchArray(SQLITE3_ASSOC)) { $n8nWorkflows[] = $row; } } catch (Exception $e) {} ?> Control Hub - WEVADS

WEVADS Control Hub

🖥️
Serveurs Actifs
🌐
Domaines
🧠
Brain Tests
🏆
Configs Gagnantes
🤖
AI Providers
📊
Clicks Today

Actions Rapides

n8n Workflows ()

AI Providers

ProviderModelStatusRequests

Liens Système