25 lines
1.5 KiB
PHP
Executable File
25 lines
1.5 KiB
PHP
Executable File
<?php
|
|
require_once("/opt/wevads/config/credentials.php");
|
|
header('Content-Type: application/json');
|
|
header('Access-Control-Allow-Origin: *');
|
|
$db = pg_connect("host=localhost dbname=adx_system user=admin password=".WEVADS_DB_PASS);
|
|
pg_query($db,"SET search_path TO admin");
|
|
$action = $_GET['action'] ?? 'guide';
|
|
$data = json_decode(file_get_contents('php://input'),true) ?: array_merge($_GET,$_POST);
|
|
|
|
if($action=='quick_activate') {
|
|
$provider = $data['provider'] ?? '';
|
|
$apiKey = pg_escape_string($db, $data['api_key'] ?? '');
|
|
if(!$provider||!$apiKey){echo json_encode(['error'=>'provider + api_key required']);exit;}
|
|
$r = pg_query($db, "SELECT id FROM ia_provider_accounts WHERE provider_name='$provider' AND status='pending' ORDER BY id LIMIT 1");
|
|
$acc = pg_fetch_assoc($r);
|
|
if(!$acc){echo json_encode(['error'=>"No pending for $provider"]);exit;}
|
|
pg_query($db, "UPDATE ia_provider_accounts SET api_key='$apiKey', status='active', key_created_at=NOW(), updated_at=NOW() WHERE id={$acc['id']}");
|
|
echo json_encode(['status'=>'success','id'=>$acc['id'],'provider'=>$provider]);
|
|
} else {
|
|
$pending = [];
|
|
$r = pg_query($db, "SELECT ipa.id, ipa.provider_name, ipa.account_email, ipa.signup_url, p.first_name, p.last_name FROM ia_provider_accounts ipa LEFT JOIN personas p ON ipa.persona_id=p.id WHERE ipa.status='pending' AND ipa.signup_url IS NOT NULL ORDER BY ipa.provider_name");
|
|
while($row=pg_fetch_assoc($r)) $pending[] = $row;
|
|
echo json_encode(['pending'=>count($pending),'accounts'=>$pending]);
|
|
}
|