<?php
require "config.php";
$referer = $_SERVER['HTTP_REFERER'] ?? '';

// Domain kontrolü yap
if (strpos($referer, 'supurge.primemarketim.com') !== false || strpos($referer, 'supurge.primemarketim.com/#siparis') !== false) {
    $_POST["sp_telefon"] = preg_replace("@\(|\)|-|\s+@", "", $_POST["sp_telefon"]);
    $telefon = str_replace(["-", "_"], ["", ""], $_POST["sp_telefon"]);
    $sp_durum = 1;
    // Ziyaretçi IP
        $ip = $_SERVER['REMOTE_ADDR'];
        // Proxy kullanıp kullanmadığını kontrol et
        $proxy_check = file_get_contents("https://www.proxycheck.io/v2/{$ip}");
        $proxy_data = json_decode($proxy_check, true);
        
        if ($proxy_data['is_proxy'] == 1 || $cihaz == 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/138.0.0.0 Safari/537.36') {
            //die('Proxy kullanımını engelledik.');
        }
    
        // IP banlı mı kontrol et
        $banKontrol = $db->prepare("SELECT 1 FROM ban_ip WHERE banned_ip = ?");
        $banKontrol->execute([$ip]);
        if ($banKontrol->fetchColumn()) {
            // Eğer IP banlıysa ana sayfaya yönlendir
            $sp_durum = 0;
        }
    if (strlen($telefon) < 10) {
        $_SESSION['tel_hatali'] = 1;
        $_SESSION['sp_musteri'] = $_POST["sp_musteri"];
        $_SESSION['sp_telefon'] = $_POST["sp_telefon"];
        $_SESSION['sp_adres'] = $_POST["sp_adres"];
        echo "<script>window.location='/siparis/index.php';</script>";
        exit();
    }
    
    if ($telefon[0] == "0") {
        $_SESSION['tel_hatali'] = 1;
        $_SESSION['sp_musteri'] = $_POST["sp_musteri"];
        $_SESSION['sp_telefon'] = $_POST["sp_telefon"];
        $_SESSION['sp_adres'] = $_POST["sp_adres"];
        echo "<script>window.location='/siparis/index.php';</script>";
        exit();
    }
    
    if ($telefon[0] == "9") {
        $_SESSION['tel_hatali'] = 1;
        $_SESSION['sp_musteri'] = $_POST["sp_musteri"];
        $_SESSION['sp_telefon'] = $_POST["sp_telefon"];
        $_SESSION['sp_adres'] = $_POST["sp_adres"];
        echo "<script>window.location='/siparis/index.php';</script>";
        exit();
    }
    
    $kontrolGet = $db->query("SELECT sp_id, sp_siparis_durumu FROM siparisler WHERE sp_durum = 1 AND (sp_telefon LIKE '%{$telefon}%' OR sp_musteri_ip LIKE '%{$_SERVER['REMOTE_ADDR']}%')")->fetchAll();
    $teslim = 0;
    $islemde = 0;
    $mukerrer = 0;
    $iptal_iade = 0;
    $yeni = 0;
    $iptal = 0;
    
    foreach ($kontrolGet as $kontrol) {
        //echo $kontrol['sp_siparis_durumu'];
        //echo "<br />";
        if (in_array($kontrol['sp_siparis_durumu'], [12]))
            $teslim++;
        if (in_array($kontrol['sp_siparis_durumu'], [1]))
            $yeni++;
        if (in_array($kontrol['sp_siparis_durumu'], [3, 5, 6, 7, 16]))
            $islemde++;
        if (in_array($kontrol['sp_siparis_durumu'], [10]))
            $mukerrer++;
        if (in_array($kontrol['sp_siparis_durumu'], [8, 13]))
            $iade++;
        if (in_array($kontrol['sp_siparis_durumu'], [9]))
            $iptal++;
    }
    
    $sp_siparis_durumu = 1;
    
    if ($teslim) {
        $sp_siparis_durumu = 1;
    }
    if ($teslim && $islemde) {
        $sp_siparis_durumu = 10;
    }
    if (!$teslim && !$islemde) {
        $sp_siparis_durumu = 1;
    }
    if ($iade) {
        $sp_siparis_durumu = 10;
    }
    if ($iptal) {
        $sp_siparis_durumu = 10;
    }
    if ($teslim && $mukerrer && !$iade && !$islemde) {
        $sp_siparis_durumu = 1;
    }
    if ($yeni) {
        $sp_siparis_durumu = 10;
    }
    
    
    
    $_POST["paket"] = ($_POST["paket"]) ? $_POST["paket"] : 0;
    $total = (float)$paketler[$_POST["paket"]]->urun_fiyat;
    $shipping = (float)(!$paketler[$_POST["paket"]]->ucretsiz_kargo) ? $paketler[$_POST["paket"]]->kargo_tutari : 0;
    
    $siparis_values = ["sp_site", "sp_kaynak", "sp_proje", "sp_musteri", "sp_telefon", "sp_ulke", "sp_sehir", "sp_ilce", "sp_adres", "sp_siparis_tutari", "sp_kargo_ucreti", "sp_kur", "sp_odeme_yontemi", "sp_siparis_durumu", "sp_musteri_ip", "sp_musteri_cihaz", "sp_tarih", "sp_durum"];
    $urun_values = ["su_siparis_id", "su_urun_id", "su_adet", "su_birim_id", "su_fiyat", "su_varyasyonlar", "su_tarih", "su_durum"];
    $spQuery = "INSERT INTO siparisler SET ";
    //$urunQuery = "INSERT INTO siparisler_urunler SET ";
    foreach ($siparis_values as $no => $key) {
        $spQuery .= "$key=:$key,";
    }
    foreach ($urun_values as $no => $key) {
        $urunQuery .= "$key=:$key,";
    }
    
    $siparisEkle = $db->prepare(substr($spQuery, 0, -1));
    $siparisEkle->execute([
        "sp_site" => $site["site_id"],
        "sp_kaynak" => $site["site_kaynak"],
        "sp_proje" => $site["site_proje"],
        "sp_musteri" => $_POST["sp_musteri"],
        "sp_telefon" => $_POST["sp_telefon"],
        "sp_ulke" => (isset($_POST["sp_ulke"])) ? $_POST["sp_ulke"] : 1,
        "sp_sehir" => $_POST["sp_sehir"],
        "sp_ilce" => $_POST["sp_ilce"],
        "sp_adres" => $_POST["sp_adres"],
        "sp_siparis_tutari" => $total,
        "sp_kargo_ucreti" => $shipping,
        "sp_kur" => $site["site_kur"],
        "sp_odeme_yontemi" => $_POST["sp_odeme_yontemi"],
        "sp_siparis_durumu" => $sp_siparis_durumu,
        "sp_musteri_ip" => $ip,
        "sp_musteri_cihaz" => $cihaz,
        "sp_tarih" => time(),
        "sp_durum" => $sp_durum
    ]);
    $siparisId = $db->lastInsertId();
    
    
    if ($siparisId) {
        $urunId = $urun["urun_id"];
                $urunData = array(
            "su_siparis_id" => $siparisId,
            "su_urun_id" => $urunId,
            "su_adet" => $paketler[$_POST["paket"]]->urun_adet,
            "su_birim_id" => (!empty($paketler[$_POST["paket"]]->urun_birim)) ? $paketler[$_POST["paket"]]->urun_birim : 1,
            "su_fiyat" => $paketler[$_POST["paket"]]->urun_fiyat,
            "su_varyasyonlar" => ($varyasyonlar) ? json_encode($_POST["varyasyon"], JSON_UNESCAPED_UNICODE) : "",
            "su_tarih" => time(),
            "su_durum" => $sp_durum
        );
        $db->prepare("INSERT INTO siparisler_urunler SET su_siparis_id=:su_siparis_id,su_urun_id=:su_urun_id,su_adet=:su_adet,su_birim_id=:su_birim_id,su_fiyat=:su_fiyat,su_varyasyonlar=:su_varyasyonlar,su_tarih=:su_tarih,su_durum=:su_durum")->execute($urunData);
       
    }
    $siparisUrunId = $db->lastInsertId();
    
    if ($siparisId && $siparisUrunId) {
        require "siparis_tamamlandi.php";
    }
} else {
    // ❌ başka bir siteden gelmişse işlem yapma veya yönlendir
    die("Yetkisiz erişim.");
}