Files
html/api/wevads-modules.php
2026-04-12 22:57:03 +02:00

68 lines
3.6 KiB
PHP

<?php
header("Content-Type: application/json");
$modules = [
// Cloud Providers
"amazon" => ["path"=>"/amazon-accounts","desc"=>"AWS EC2/SES"],
"azure" => ["path"=>"/azure-accounts","desc"=>"Azure VMs/AD"],
"hetzner" => ["path"=>"/hetzner-accounts","desc"=>"Hetzner dedicated"],
"digitalocean" => ["path"=>"/digital-ocean-accounts","desc"=>"DO droplets"],
"vultr" => ["path"=>"/vultr-accounts","desc"=>"Vultr compute"],
"scaleway" => ["path"=>"/scaleway-accounts","desc"=>"Scaleway EU"],
"linode" => ["path"=>"/linode-accounts","desc"=>"Linode/Akamai"],
"atlantic" => ["path"=>"/atlantic-accounts","desc"=>"Atlantic VPS"],
"huawei" => ["path"=>"/huawei-accounts","desc"=>"Huawei Cloud"],
"godaddy" => ["path"=>"/godaddy-accounts","desc"=>"GoDaddy DNS"],
"namecheap" => ["path"=>"/namecheap-accounts","desc"=>"Namecheap domains"],
// Email
"mta" => ["path"=>"/mta-servers","desc"=>"MTA servers config"],
"smtp" => ["path"=>"/smtp-servers","desc"=>"SMTP relay"],
"pmta" => ["path"=>"/pmta","desc"=>"PowerMTA console"],
"domains" => ["path"=>"/domains","desc"=>"Sending domains/DKIM"],
"isps" => ["path"=>"/isps","desc"=>"ISP profiles"],
"mailboxes" => ["path"=>"/mailboxes","desc"=>"Seed mailboxes"],
"headers" => ["path"=>"/headers","desc"=>"Email headers"],
"autoresponders" => ["path"=>"/auto-responders","desc"=>"Auto-reply"],
// Business
"offers" => ["path"=>"/offers","desc"=>"Campaigns/offers"],
"affiliates" => ["path"=>"/affiliate-networks","desc"=>"Affiliate networks"],
"datalists" => ["path"=>"/data-lists","desc"=>"Contact lists"],
"dataproviders" => ["path"=>"/data-providers","desc"=>"Data sources"],
"statistics" => ["path"=>"/statistics","desc"=>"Opens/clicks/leads"],
"production" => ["path"=>"/production","desc"=>"Send queue"],
"verticals" => ["path"=>"/verticals","desc"=>"Industry segments"],
// Admin
"users" => ["path"=>"/users","desc"=>"User accounts"],
"roles" => ["path"=>"/roles","desc"=>"Permissions"],
"teams" => ["path"=>"/teams","desc"=>"Team management"],
"settings" => ["path"=>"/settings","desc"=>"Global config"],
"auditlogs" => ["path"=>"/audit-logs","desc"=>"Action history"],
"tools" => ["path"=>"/tools","desc"=>"Utilities"],
"sessions" => ["path"=>"/sessions","desc"=>"Active sessions"],
// Special
"dashboard" => ["path"=>"/dashboard.html","desc"=>"Main dashboard"],
"tracking" => ["path"=>"/tracking-dashboard.php","desc"=>"Tracking system"],
"serverproviders" => ["path"=>"/servers-providers","desc"=>"Server providers"],
"logs" => ["path"=>"/logs","desc"=>"System logs"],
];
$action = $_GET["action"] ?? "list";
$base = "https://wevads.weval-consulting.com";
if ($action === "list") {
echo json_encode(["modules"=>count($modules),"names"=>array_keys($modules)]);
} elseif ($action === "check") {
$results = [];
foreach ($modules as $name => $info) {
$ch = curl_init();
curl_setopt_array($ch, [CURLOPT_URL => $base.$info["path"], CURLOPT_RETURNTRANSFER => true, CURLOPT_TIMEOUT => 5, CURLOPT_FOLLOWLOCATION => true, CURLOPT_SSL_VERIFYPEER => false]);
curl_exec($ch);
$code = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);
$results[$name] = ["status" => $code >= 200 && $code < 500 ? "ok" : "fail", "code" => $code, "desc" => $info["desc"]];
}
$ok = count(array_filter($results, fn($r) => $r["status"] === "ok"));
echo json_encode(["total"=>count($results),"pass"=>$ok,"fail"=>count($results)-$ok,"modules"=>$results]);
} else {
echo json_encode(["error"=>"unknown action"]);
}