<?php
header('Content-Type: application/json');

if ($_SERVER['REQUEST_METHOD'] !== 'POST') {
    echo json_encode(['success' => false, 'message' => 'Invalid request method.']);
    exit;
}

// Anti-spam: honeypot check
if (!empty($_POST['website_url'])) {
    echo json_encode(['success' => false, 'message' => 'Spam detected.']);
    exit;
}

require_once 'db_connect.php';

if ($pdo === null) {
    echo json_encode(['success' => false, 'message' => 'Database connection error. Please try again later.']);
    exit;
}

$name = trim($_POST['name'] ?? '');
$email = trim($_POST['email'] ?? '');
$phone = trim($_POST['phone'] ?? '');
$service = trim($_POST['service'] ?? '');
$country = trim($_POST['country'] ?? '');
$message = trim($_POST['message'] ?? '');
$source_page = trim($_POST['source_page'] ?? 'homepage');

if (empty($name) || empty($email) || empty($phone)) {
    echo json_encode(['success' => false, 'message' => 'Name, email and phone are required.']);
    exit;
}

try {
    // Duplicate check: same email+phone within last 1 hour
    $dup = $pdo->prepare("SELECT COUNT(*) as cnt FROM leads WHERE email = :email AND phone = :phone AND created_at > DATE_SUB(NOW(), INTERVAL 1 HOUR)");
    $dup->execute([':email' => $email, ':phone' => $phone]);
    if ($dup->fetch()['cnt'] > 0) {
        echo json_encode(['success' => false, 'message' => 'You have already submitted an enquiry. Our team will contact you soon!']);
        exit;
    }

    $stmt = $pdo->prepare("INSERT INTO leads (name, email, phone, service, country, message, source_page) VALUES (:name, :email, :phone, :service, :country, :message, :source_page)");
    $stmt->execute([
        ':name' => $name,
        ':email' => $email,
        ':phone' => $phone,
        ':service' => $service,
        ':country' => $country,
        ':message' => $message,
        ':source_page' => $source_page
    ]);
    echo json_encode(['success' => true, 'message' => 'Thank you! We will contact you shortly.']);
}
catch (PDOException $e) {
    error_log("Lead Insert Error: " . $e->getMessage());
    echo json_encode(['success' => false, 'message' => 'Something went wrong. Please try again.']);
}
?>
