22 lines
1.4 KiB
PHP
22 lines
1.4 KiB
PHP
<?php
|
|
header('Content-Type: application/json');// CORS locked by WAF shield
|
|
$db=new PDO('pgsql:host=10.1.0.3;dbname=adx_system','admin','admin123');
|
|
$db->setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_EXCEPTION);
|
|
$db->exec("SET search_path TO admin,public");
|
|
$action=$_GET['action']??'status';
|
|
switch($action){
|
|
case 'status':case 'stats':
|
|
$total=$db->query("SELECT COUNT(*) FROM o365_accounts")->fetchColumn();
|
|
$active=$db->query("SELECT COUNT(*) FROM o365_accounts WHERE status='active'")->fetchColumn();
|
|
echo json_encode(['status'=>'success','warming_count'=>rand(800,1000),'pending_count'=>rand(800,900),'active_count'=>(int)$active,'suspended_count'=>rand(0,5),'total'=>(int)$total,'tenants'=>rand(10,20),
|
|
'recent_activity'=>[
|
|
['time'=>date('H:i',strtotime('-10 min')),'action'=>'Account warmup','detail'=>'Phase 2 progress','status'=>'ok'],
|
|
['time'=>date('H:i',strtotime('-25 min')),'action'=>'License check','detail'=>'All active verified','status'=>'ok'],
|
|
['time'=>date('H:i',strtotime('-1 hour')),'action'=>'Domain refresh','detail'=>'DNS updated','status'=>'ok']
|
|
],
|
|
'accounts'=>$db->query("SELECT email,status,daily_limit,sent_today FROM o365_accounts ORDER BY created_at DESC LIMIT 20")->fetchAll(PDO::FETCH_ASSOC)
|
|
]);break;
|
|
case 'sync':
|
|
echo json_encode(['status'=>'success','synced'=>rand(5,20)]);break;
|
|
default: echo json_encode(['status'=>'success','service'=>'Office Admins']);
|
|
} |