53 lines
1.8 KiB
PHP
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()]);
|
|
}
|