Files
html/office-365/api/office-admins.php
2026-04-12 22:57:03 +02:00

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']);
}