<?php
include '../config.php';

if ($_SERVER['REQUEST_METHOD'] === 'POST') {
    $type = isset($_POST['type']) ? $_POST['type'] : null;
    $userId = isset($_POST['user_id']) ? (int)$_POST['user_id'] : null;

    if ($type !== null && $userId !== null) {
        try {
            // Darlama ve Satış için status integer olarak alınıyor
            if ($type === 'darlama_status' || $type === 'satis_status') {
                $status = isset($_POST['status']) ? (int)$_POST['status'] : null;
                if ($status === null) {
                    echo json_encode(['sonuc' => 0, 'mesaj' => 'Status değeri eksik.']);
                    exit;
                }
                
                if ($type === 'darlama_status') {
                    $query = $db->prepare("UPDATE kullanicilar SET user_darlama = :status WHERE user_id = :user_id");
                } elseif ($type === 'satis_status') {
                    $query = $db->prepare("UPDATE kullanicilar SET user_satisizin = :status WHERE user_id = :user_id");
                }
                
                $query->execute([':status' => $status, ':user_id' => $userId]);
                
                if ($query->rowCount()) {
                    echo json_encode(['sonuc' => 1]);
                } else {
                    echo json_encode(['sonuc' => 0, 'mesaj' => 'Güncelleme başarısız.']);
                }
            }
            // Arama ve Onay paketleri için status string olarak alınıyor (Evet/Hayır) ve 1/0'a çevriliyor
            elseif ($type === 'arama_paket_status' || $type === 'onay_paket_status') {
                $statusStr = isset($_POST['status']) ? $_POST['status'] : null;
                if ($statusStr === null) {
                    echo json_encode(['sonuc' => 0, 'mesaj' => 'Status değeri eksik.']);
                    exit;
                }
                
                // "Evet" -> 1, "Hayır" -> 0
                $status = ($statusStr === 'Evet') ? 1 : 0;
                
                if ($type === 'arama_paket_status') {
                    $query = $db->prepare("UPDATE kullanicilar SET user_call = :status WHERE user_id = :user_id");
                } elseif ($type === 'onay_paket_status') {
                    $query = $db->prepare("UPDATE kullanicilar SET user_onay = :status WHERE user_id = :user_id");
                }
                
                $query->execute([':status' => $status, ':user_id' => $userId]);
                
                if ($query->rowCount()) {
                    echo json_encode(['sonuc' => 1]);
                } else {
                    echo json_encode(['sonuc' => 0, 'mesaj' => 'Güncelleme başarısız.']);
                }
            }
            // Jeton güncelleme
            elseif ($type === 'jeton_guncelle') {
                $jeton = isset($_POST['jeton']) ? (int)$_POST['jeton'] : null;
                if ($jeton === null || $jeton < 0) {
                    echo json_encode(['sonuc' => 0, 'mesaj' => 'Geçerli bir jeton değeri girin.']);
                    exit;
                }
                
                $query = $db->prepare("UPDATE kullanicilar SET user_jeton = :jeton WHERE user_id = :user_id");
                $query->execute([':jeton' => $jeton, ':user_id' => $userId]);
                
                if ($query->rowCount()) {
                    echo json_encode(['sonuc' => 1]);
                } else {
                    echo json_encode(['sonuc' => 0, 'mesaj' => 'Güncelleme başarısız.']);
                }
            } else {
                echo json_encode(['sonuc' => 0, 'mesaj' => 'Geçersiz type.']);
                exit;
            }
        } catch (PDOException $e) {
            echo json_encode(['sonuc' => 0, 'mesaj' => 'Veritabanı hatası: ' . $e->getMessage()]);
        }
    } else {
        echo json_encode(['sonuc' => 0, 'mesaj' => 'Geçersiz veri.']);
    }
} else {
    echo json_encode(['sonuc' => 0, 'mesaj' => 'Bu sayfa yalnızca POST istekleri için kullanılabilir.']);
}
?>
