
­­­­­­­­­­­­­­­­­­
<!DOCTYPE html>
<html>
<?php



// DB CONFIG
$host = "localhost";
$db   = "balubaid_autozoneoffers";
$user = "balubaid_autozoneoffers";
$pass = "Vision@2050";
$charset = "utf8mb4";

// PDO CONNECTION
try {
    $pdo = new PDO(
        "mysql:host=$host;dbname=$db;charset=$charset",
        $user,
        $pass,
        [
            PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION,
            PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC
        ]
    );
} catch (PDOException $e) {
    http_response_code(500);
    exit("DB Connection Failed");
}


function normalizeSaudiMobile($input)
{
    // Remove all non-numeric characters
    $number = preg_replace('/\D+/', '', $input);

    // If starts with country code 966
    if (strpos($number, '966') === 0) {
        $number = substr($number, 3);
    }

    // If starts with leading zero (05xxxxxxxx)
    if (strpos($number, '0') === 0) {
        $number = substr($number, 1);
    }

    // Final validation: must be 9 digits and start with 5
    if (preg_match('/^5\d{8}$/', $number)) {
        return $number;
    }

    return null; // Invalid number
}

// CAPTURE DATA (POST OR ARRAY)
$data = $_POST;

// OPTIONAL: convert ISO date to MySQL DATETIME
$createdAt = date('Y-m-d H:i:s', strtotime($data['createdat']));

// INSERT QUERY
$sql = "INSERT IGNORE INTO tiktok_leads_v2 (
    adid, adname, adsquadename, branch, channel, cmpname, createdat,
    email, fname, lname, formname, leadid, leadpreferred, mobile,
    paymethod, purchasetime, salary, strategy
) VALUES (
    :adid, :adname, :adsquadename, :branch, :channel, :cmpname, :createdat,
    :email, :fname, :lname, :formname, :leadid, :leadpreferred, :mobile,
    :paymethod, :purchasetime, :salary, :strategy
)";

$stmt = $pdo->prepare($sql);

$stmt->execute([
    ':adid'          => $data['adid'] ?? null,
    ':adname'        => $data['adname'] ?? null,
    ':adsquadename' => $data['adsquadename'] ?? null,
    ':branch'        => $data['branch'] ?? null,
    ':channel'       => $data['channel'] ?? null,
    ':cmpname'       => $data['cmpname'] ?? null,
    ':createdat'     => $createdAt,
    ':email'         => $data['email'] ?? null,
    ':fname'         => $data['fname'] ?? null,
    ':lname'         => $data['lname'] ?? null,
    ':formname'      => $data['formname'] ?? null,
    ':leadid'        => $data['leadid'] ?? null,
    ':leadpreferred' => $data['leadpreferred'] ?? null,
    ':mobile'        => normalizeSaudiMobile($data['mobile']) ?? null,
    ':paymethod'     => $data['paymethod'] ?? null,
    ':purchasetime' => $data['purchasetime'] ?? null,
    ':salary'        => $data['salary'] ?? null,
    ':strategy'      => $data['strategy'] ?? null
]);

echo json_encode([
    "status" => "success",
    "message" => "Lead stored successfully"
]);


function getbranchValue($lookup_value) {
    // Database connection parameters
    $servername = "localhost";
    $username = "balubaid_autozoneoffers";
    $password = "Vision@2050";
    $dbname = "balubaid_autozoneoffers";
    

    // Create connection
    $conn = new mysqli($servername, $username, $password, $dbname);

    // Check connection
    if ($conn->connect_error) {
        die("Connection failed: " . $conn->connect_error);
    }

    // Prepare SQL query to prevent SQL injection
    $stmt = $conn->prepare("SELECT result_value FROM branch_lookup WHERE lookup_value = ?");
    $stmt->bind_param("s", $lookup_value);  // "s" means string type

    // Execute the query
    $stmt->execute();
    $stmt->bind_result($result_value);

    // Fetch the result
    if ($stmt->fetch()) {
        $stmt->close();
        $conn->close();
        return $result_value;
    } else {
        $stmt->close();
        $conn->close();
        return null; // Return null if no match is found
    }
}



function getLookupValue($lookup_value,$type) {
    // Database connection parameters
    $servername = "localhost";
    $username = "balubaid_autozoneoffers";
    $password = "Vision@2050";
    $dbname = "balubaid_autozoneoffers";
    

    // Create connection
    $conn = new mysqli($servername, $username, $password, $dbname);

    // Check connection
    if ($conn->connect_error) {
        die("Connection failed: " . $conn->connect_error);
    }

    // Prepare SQL query to prevent SQL injection
    $stmt = $conn->prepare("SELECT result_value FROM lookup_values   WHERE lookup_value = ? and type = ?");
    $stmt->bind_param("ss", $lookup_value,$type);  // "s" means string type

    // Execute the query
    $stmt->execute();
    $stmt->bind_result($result_value);

    // Fetch the result
    if ($stmt->fetch()) {
        $stmt->close();
        $conn->close();
        return $result_value;
    } else {
        $stmt->close();
        $conn->close();
        return null; // Return null if no match is found
    }
}


$fullName = $data['fname'].' '.$data['lname'];
$mobile = "0".normalizeSaudiMobile($data['mobile']);
$email = $data['email'];
$model = $data['adname'];
$utm_source = 'TIKTOK';
$utm_campaign = $data['cmpname']."API";
$vcity = getLookupValue($data['adsquadename'],'city');
$vsalary = getLookupValue($data['salary'],'salary');
$vgender = 'Male - ذكر';    
$vbank = 'OTHERS';
$vbranch = getLookupValue($data['adsquadename'],'branch');
$offer_id = '12345844';
$typeOptions = ['Cash', 'installment'];
//$typeOptions = ['Cash', 'Cash'];
$formtype = $typeOptions[array_rand($typeOptions)];



$data = array('your-name' => $fullName,'phonenumber' => $mobile,'your-email' => $email,'your-car' => $model,'source' => $utm_source,'campaign' => $utm_campaign, 'your-city' => $vcity,'gender' => $vgender,'salary' => $vsalary,'your-branch' => $vbranch,'your-bank' => $vbank,'formid' => $offer_id,'form-type' => $formtype);	   
      $ch = curl_init();

curl_setopt($ch, CURLOPT_URL,"https://lp.autozone.com.sa/service_request/new_service.php?confirm=@CRM1");
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS,$data);

// In real life you should use something like:
// curl_setopt($ch, CURLOPT_POSTFIELDS, 
//          http_build_query(array('postvar1' => 'value1')));

// Receive server response ...
//curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

$server_output = curl_exec($ch);

curl_close ($ch);

//print_r($server_output);
//print_r(json_decode(trim($server_output),true));

$oppdetail = json_decode(trim($server_output),true);

?>