setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_SILENT);
$_db->exec("SET search_path TO admin");
$_db->exec("SET statement_timeout = 8000");
function sq($db,$sql,$d=0){try{$r=$db->query($sql);return $r?$r->fetchColumn():$d;}catch(Exception $e){return $d;}}
function sqa($db,$sql){try{$r=$db->query($sql);return $r?$r->fetchAll(PDO::FETCH_ASSOC):[];}catch(Exception $e){return [];}}
$_personas=(int)sq($_db,"SELECT COUNT(*) FROM personas WHERE is_active=true");
$_cvcTotal=(int)sq($_db,"SELECT COUNT(*) FROM cvc_cards");
$_cvcAvail=(int)sq($_db,"SELECT COUNT(*) FROM cvc_cards WHERE is_used=false");
$_pCountries=sqa($_db,"SELECT country, COUNT(*) as cnt FROM personas WHERE is_active=true GROUP BY country ORDER BY cnt DESC");
$_pools=[['n'=>'Office 365','t'=>'office_accounts','i'=>'π§','c'=>'--bl'],['n'=>'Graph API','t'=>'graph_accounts','i'=>'π','c'=>'--pu'],['n'=>'GSuite','t'=>'gsuite_accounts','i'=>'π¨','c'=>'--rd'],['n'=>'FreeDNS','t'=>'freedns_accounts','i'=>'π','c'=>'--gn'],['n'=>'Cloudflare','t'=>'cloudflare_accounts','i'=>'π ','c'=>'--am'],['n'=>'AWS','t'=>'aws_accounts','i'=>'βοΈ','c'=>'--am'],['n'=>'Hetzner','t'=>'hetzner_accounts','i'=>'π₯οΈ','c'=>'--rd'],['n'=>'OVH','t'=>'ovh_accounts','i'=>'π΅','c'=>'--bl'],['n'=>'Vultr','t'=>'vultr_accounts','i'=>'π','c'=>'--cy'],['n'=>'DigitalOcean','t'=>'digital_ocean_accounts','i'=>'π³','c'=>'--bl'],['n'=>'Huawei','t'=>'huawei_accounts','i'=>'π ','c'=>'--am'],['n'=>'Namecheap','t'=>'namecheap_accounts','i'=>'π·οΈ','c'=>'--pk'],['n'=>'Kamatera','t'=>'kamatera_accounts','i'=>'π₯οΈ','c'=>'--pu'],['n'=>'Scaleway','t'=>'scaleway_accounts','i'=>'β‘','c'=>'--cy'],['n'=>'VPN','t'=>'vpn_accounts','i'=>'π','c'=>'--gn'],['n'=>'Cloud','t'=>'cloud_accounts','i'=>'βοΈ','c'=>'--d'],['n'=>'Inbox','t'=>'inbox_accounts','i'=>'π¬','c'=>'--pk']];
$_pools[]=["n"=>"IA Providers","t"=>"ia_provider_accounts","i"=>"AI","c"=>"--pu"];
$_poolData=[];$_totalAccounts=0;
foreach($_pools as &$p){$cnt=(int)sq($_db,"SELECT COUNT(*) FROM ".$p['t']);$p['count']=$cnt;$_totalAccounts+=$cnt;if($cnt>0)$_poolData[]=$p;}
unset($p);usort($_poolData,function($a,$b){return $b['count']-$a['count'];});
$_queuePending=(int)sq($_db,"SELECT COUNT(*) FROM account_factory_queue WHERE status='pending'");
$_queueAll=(int)sq($_db,"SELECT COUNT(*) FROM account_factory_queue");
$_recentQueue=sqa($_db,"SELECT id,account_type,requested_count,created_count,status,error,created_at FROM account_factory_queue ORDER BY created_at DESC LIMIT 20");
$_recentPersonas=sqa($_db,"SELECT id,first_name,last_name,email,phone,country,gender FROM personas WHERE is_active=true ORDER BY id LIMIT 30");
$_iaTotal=(int)sq($_db,"SELECT COUNT(*) FROM ia_provider_accounts");
$_iaActive=(int)sq($_db,"SELECT COUNT(*) FROM ia_provider_accounts WHERE status='active'");
$_iaProviders=sqa($_db,"SELECT provider_name,COUNT(*) as cnt,SUM(CASE WHEN status='active' THEN 1 ELSE 0 END) as active FROM ia_provider_accounts GROUP BY provider_name ORDER BY cnt DESC LIMIT 45");
$_iaReal=sqa($_db,"SELECT DISTINCT ON (provider_name) id,provider_name,SUBSTRING(api_key,1,15)||'...' as key_preview,model,status,plan_type,last_tested,last_test_result,latency_ms FROM ia_provider_accounts WHERE api_key IS NOT NULL AND api_key!='' AND api_key NOT LIKE '%PENDING%' AND LENGTH(api_key)>10 ORDER BY provider_name,status='active' DESC,id");
?>
WEVADS β Account Creator
β Account Creator
Multi-Provider Factory β =$_personas?> Personas Β· =$_cvcAvail?>/=$_cvcTotal?> CVC Β· =count($_poolData)?> Providers Β· =number_format($_totalAccounts)?> total
$_iaTotal=(int)sq($_db,"SELECT COUNT(*) FROM ia_provider_accounts");
$_iaActive=(int)sq($_db,"SELECT COUNT(*) FROM ia_provider_accounts WHERE status='active'");
$_iaProviders=sqa($_db,"SELECT provider_name,COUNT(*) as cnt,SUM(CASE WHEN status='active' THEN 1 ELSE 0 END) as active FROM ia_provider_accounts GROUP BY provider_name ORDER BY cnt DESC LIMIT 45");
$_iaReal=sqa($_db,"SELECT DISTINCT ON (provider_name) id,provider_name,SUBSTRING(api_key,1,15)||'...' as key_preview,model,status,plan_type,last_tested,last_test_result,latency_ms FROM ia_provider_accounts WHERE api_key IS NOT NULL AND api_key!='' AND api_key NOT LIKE '%PENDING%' AND LENGTH(api_key)>10 ORDER BY provider_name,status='active' DESC,id");
π Creation Queue (=$_queueAll?> jobs)
π
No jobs yet. Use Create tab to launch.
ID
Provider
Req
Done
Status
Error
Date
#=$q['id']?>
=htmlspecialchars($q['account_type']??'')?>
=$q['requested_count']?>
=$q['created_count']?>
=strtoupper($q['status']??'')?>
=htmlspecialchars(substr($q['error']??'',0,40))?>
=substr($q['created_at']??'',0,16)?>
π€ IA Providers (=$_iaTotal?> accounts Β· =$_iaActive?> active)