Files
html/api/wevia-db-stats.php
2026-04-12 22:57:03 +02:00

53 lines
1.8 KiB
PHP

<?php
// === WEVAL SECRETS LOADER ===
$_WEVAL_SECRETS = [];
if (file_exists('/etc/weval/secrets.env')) {
foreach (file('/etc/weval/secrets.env', FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES) as $line) {
if (strpos($line, '#') === 0) continue;
if (strpos($line, '=') !== false) {
list($k, $v) = explode('=', $line, 2);
$_WEVAL_SECRETS[trim($k)] = trim($v);
}
}
}
function weval_secret($key, $default='') {
global $_WEVAL_SECRETS;
return $_WEVAL_SECRETS[$key] ?? getenv($key) ?: $default;
}
header('Content-Type: application/json');
header('Access-Control-Allow-Origin: *');
try {
$pdo = new PDO('pgsql:host=localhost;dbname=adx_system', 'admin', weval_secret('DB_PASS','admin123'));
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$action = $_GET['q'] ?? 'summary';
$result = [];
switch($action) {
case 'ethica':
$r = $pdo->query("SELECT * FROM v_ethica_stats")->fetch(PDO::FETCH_ASSOC);
$result = $r ?: ['error' => 'no data'];
break;
case 'wevads':
$r = $pdo->query("SELECT * FROM v_wevads_stats")->fetch(PDO::FETCH_ASSOC);
$result = $r ?: ['error' => 'no data'];
break;
case 'crm':
$r = $pdo->query("SELECT * FROM v_crm_stats")->fetch(PDO::FETCH_ASSOC);
$result = $r ?: ['error' => 'no data'];
break;
case 'summary':
default:
$eth = $pdo->query("SELECT * FROM v_ethica_stats")->fetch(PDO::FETCH_ASSOC);
$crm = $pdo->query("SELECT * FROM v_crm_stats")->fetch(PDO::FETCH_ASSOC);
$result = ['ethica' => $eth, 'crm' => $crm, 'status' => 'ok'];
}
echo json_encode($result);
} catch (Exception $e) {
echo json_encode(['error' => $e->getMessage()]);
}