<?php
/**
 * Admin Ürün Silme Motoru (Akıllı Kontrol)
 * Konum: /magaza/admin/urunler/sil.php
 * Özellik: Satılmışsa Soft-Delete (Pasife al), Satılmamışsa Hard-Delete (Komple sil ve resimleri uçur).
 */

require_once '../../includes/db.php';
require_once '../../includes/functions.php';

// Güvenlik: Sadece Admin
adminCheck();

if (isset($_GET['id']) && is_numeric($_GET['id'])) {
    $urun_id = (int)$_GET['id'];

    try {
        // 1. ADIM: Bu ürün daha önce hiç satılmış mı? (Sipariş kalemlerinde var mı?)
        $siparis_kontrol = $db->prepare("SELECT COUNT(id) FROM order_items WHERE product_id = ?");
        $siparis_kontrol->execute([$urun_id]);
        $satis_sayisi = $siparis_kontrol->fetchColumn();

        if ($satis_sayisi > 0) {
            // DURUM A: ÜRÜN SATILMIŞ. Faturalar bozulmasın diye sadece "Pasif" yapıyoruz.
            $db->prepare("UPDATE products SET status = 0 WHERE id = ?")->execute([$urun_id]);
            
            // Listeye 'pasif_yapildi' mesajıyla geri yolla
            header("Location: index.php?islem=pasif_yapildi");
            exit;

        } else {
            // DURUM B: ÜRÜN HİÇ SATILMAMIŞ! Kökten temizlik vakti (Hard Delete)

            // 1. Ürüne ait fiziksel resimleri bul ve sunucudan (klasörden) sil
            $gorseller = $db->prepare("SELECT image_path FROM product_images WHERE product_id = ?");
            $gorseller->execute([$urun_id]);
            while ($gorsel = $gorseller->fetch()) {
                $dosya_yolu = '../../' . $gorsel['image_path'];
                if (file_exists($dosya_yolu) && is_file($dosya_yolu)) {
                    unlink($dosya_yolu); // Sunucudaki WebP dosyasını yok et
                }
            }

            // 2. Eğer ürün "Dijital" ise, yüklü olan PDF/Video dosyasını bul ve sil
            $urun_bilgi = $db->prepare("SELECT file_path FROM products WHERE id = ?");
            $urun_bilgi->execute([$urun_id]);
            $dijital_dosya = $urun_bilgi->fetchColumn();
            if ($dijital_dosya) {
                $dijital_yol = '../../' . $dijital_dosya;
                if (file_exists($dijital_yol) && is_file($dijital_yol)) {
                    unlink($dijital_yol); // Sunucudaki dijital dosyayı yok et
                }
            }

            // 3. Veritabanından ürünü komple sil (FOREIGN KEY ayarlı olduğu için product_images tablosundaki satırları da otomatik silecektir)
            $db->prepare("DELETE FROM products WHERE id = ?")->execute([$urun_id]);

            // Listeye 'tamamen_silindi' mesajıyla geri yolla
            header("Location: index.php?islem=tamamen_silindi");
            exit;
        }

    } catch (Exception $e) {
        die("Silme işlemi sırasında kritik bir hata oluştu: " . $e->getMessage());
    }
} else {
    // ID gelmediyse geri dön
    header("Location: index.php");
    exit;
}
?>