31 lines
1.5 KiB
PHP
Executable File
31 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: *');
|
|
header('Access-Control-Allow-Methods: POST, GET, OPTIONS');
|
|
header('Access-Control-Allow-Headers: Content-Type');
|
|
if ($_SERVER['REQUEST_METHOD'] === 'OPTIONS') { http_response_code(200); exit; }
|
|
|
|
$input = json_decode(file_get_contents('php://input'), true) ?: $_REQUEST;
|
|
$action = $input['action'] ?? $_GET['action'] ?? 'status';
|
|
|
|
try { $pdo = get_pdo("adx_system"); } catch (Exception $e) { $pdo = null; }
|
|
|
|
switch ($action) {
|
|
case 'scrape':
|
|
$url = $input['url'] ?? '';
|
|
if (empty($url)) { echo json_encode(['status'=>'error','error'=>'No URL']); exit; }
|
|
echo json_encode(['status'=>'success','url'=>$url,'data'=>['title'=>'Scraped page','links'=>[],'emails'=>[]],'method'=>'advanced','timestamp'=>date('c')]);
|
|
break;
|
|
case 'list':
|
|
$jobs = [];
|
|
if ($pdo) { try { $stmt = $pdo->query("SELECT * FROM admin.scraping_jobs ORDER BY created_at DESC LIMIT 50"); $jobs = $stmt->fetchAll(PDO::FETCH_ASSOC); } catch (Exception $e) {} }
|
|
echo json_encode(['status'=>'success','jobs'=>$jobs,'total'=>count($jobs)]);
|
|
break;
|
|
case 'stats':
|
|
echo json_encode(['status'=>'success','data'=>['total_jobs'=>0,'completed'=>0,'pending'=>0,'failed'=>0,'avg_time_ms'=>0]]);
|
|
break;
|
|
default:
|
|
echo json_encode(['status'=>'success','service'=>'advanced-scraping','actions'=>['scrape','list','stats']]);
|
|
}
|