<?php
/**
 * Admin - Widget (Vitrin) Yönetimi
 * Konum: /magaza/admin/widget/index.php
 */

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

adminCheck();

// --- WIDGET SİLME İŞLEMİ ---
if (isset($_GET['sil']) && is_numeric($_GET['sil'])) {
    $sil_id = (int)$_GET['sil'];
    $db->prepare("DELETE FROM widgets WHERE id = ?")->execute([$sil_id]);
    header("Location: index.php?mesaj=silindi");
    exit;
}

// --- WIDGET LİSTESİNİ ÇEK ---
$stmt = $db->query("
    SELECT w.*, c.name as category_name 
    FROM widgets w 
    LEFT JOIN categories c ON w.category_id = c.id 
    ORDER BY w.id DESC
");
$widgets = $stmt->fetchAll(PDO::FETCH_ASSOC);

// Sitenizin ana URL'sini belirleyin (İframe kodları için gerekli)
$site_url = "https://" . $_SERVER['HTTP_HOST'] . "/magaza";

$page_title = "Widget (Vitrin) Yönetimi";
require_once '../header.php';
?>

<div class="row mb-4 align-items-center text-dark">
    <div class="col-md-8">
        <h2 class="fw-bold mb-0"><i class="bi bi-window-sidebar text-primary me-2"></i>Widget Yönetimi</h2>
        <p class="text-muted small mt-1 mb-0">Ana sitenize veya farklı platformlara ekleyebileceğiniz ürün vitrinleri oluşturun.</p>
    </div>
    <div class="col-md-4 text-md-end mt-3 mt-md-0">
        <a href="olustur.php" class="btn btn-primary fw-bold shadow-sm rounded-pill px-4 py-2">
            <i class="bi bi-plus-lg me-1"></i> Yeni Widget Oluştur
        </a>
    </div>
</div>

<?php if (isset($_GET['mesaj']) && $_GET['mesaj'] == 'silindi'): ?>
    <div class="alert alert-success shadow-sm"><i class="bi bi-check-circle me-2"></i> Widget başarıyla silindi.</div>
<?php endif; ?>

<div class="card shadow-sm border-0 rounded-4 overflow-hidden mb-5">
    <div class="card-body p-0">
        <div class="table-responsive text-dark">
            <table class="table table-hover align-middle mb-0">
                <thead class="table-light">
                    <tr>
                        <th class="ps-4 py-3">Widget Başlığı</th>
                        <th>Kategori</th>
                        <th>Görünüm & Limit</th>
                        <th>Oluşturulma</th>
                        <th class="text-end pe-4">Embed Kodu / İşlem</th>
                    </tr>
                </thead>
                <tbody>
                    <?php if (count($widgets) > 0): ?>
                        <?php foreach ($widgets as $row): 
                            // İframe yüksekliği Slider için daha az, Grid için ürün sayısına göre daha fazla olmalı
                            $iframe_height = ($row['layout_type'] == 'slider') ? '450px' : '750px';
                            $embed_code = '<iframe src="'.$site_url.'/widget-render.php?id='.$row['id'].'" width="100%" height="'.$iframe_height.'" frameborder="0" scrolling="no" style="border:none; overflow:hidden;"></iframe>';
                        ?>
                        <tr>
                            <td class="ps-4 fw-bold text-primary">
                                <?= htmlspecialchars($row['title']) ?>
                            </td>
                            <td>
                                <span class="badge bg-secondary px-3 py-2 rounded-pill"><?= htmlspecialchars($row['category_name'] ?? 'Tüm Ürünler') ?></span>
                            </td>
                            <td>
                                <div><i class="bi <?= $row['layout_type'] == 'slider' ? 'bi-view-stacked text-warning' : 'bi-grid-3x3-gap-fill text-info' ?> me-1"></i> <?= ucfirst($row['layout_type']) ?> Görünüm</div>
                                <small class="text-muted fw-bold"><?= $row['item_limit'] ?> Ürün Gösterilecek</small>
                            </td>
                            <td class="text-muted small">
                                <?= date('d.m.Y H:i', strtotime($row['created_at'])) ?>
                            </td>
                            <td class="text-end pe-4">
    <div class="d-flex justify-content-end gap-2">
        <button type="button" class="btn btn-sm btn-dark fw-bold rounded-pill px-3 shadow-sm" onclick="copyToClipboard('code_<?= $row['id'] ?>')">
            <i class="bi bi-clipboard me-1"></i> Kodu Kopyala
        </button>
        <a href="duzenle.php?id=<?= $row['id'] ?>" class="btn btn-sm btn-outline-primary fw-bold rounded-pill px-3">
            <i class="bi bi-pencil"></i>
        </a>
        <a href="?sil=<?= $row['id'] ?>" class="btn btn-sm btn-outline-danger fw-bold rounded-pill px-3" onclick="return confirm('Bu widget\'ı silmek istediğinize emin misiniz? Ana sitenizde çalışmayı durdurur.')">
            <i class="bi bi-trash"></i>
        </a>
    </div>
    <textarea id="code_<?= $row['id'] ?>" class="d-none"><?= $embed_code ?></textarea>
</td>
                        </tr>
                        <?php endforeach; ?>
                    <?php else: ?>
                        <tr>
                            <td colspan="5" class="text-center py-5 text-muted">
                                <i class="bi bi-window-x fs-1 d-block mb-3 opacity-25"></i>
                                <h5 class="fw-bold">Henüz Widget Oluşturulmamış</h5>
                                <p class="small mb-0">Ana sitenizde ürün sergilemek için hemen bir widget oluşturun.</p>
                            </td>
                        </tr>
                    <?php endif; ?>
                </tbody>
            </table>
        </div>
    </div>
</div>

<script>
function copyToClipboard(elementId) {
    var copyText = document.getElementById(elementId);
    // Hidden textarea içeriğini seçmek için geçici olarak display yap
    copyText.classList.remove('d-none');
    copyText.select();
    copyText.setSelectionRange(0, 99999); // Mobiller için
    document.execCommand("copy");
    copyText.classList.add('d-none');
    
    alert("Widget kodu panoya kopyalandı! Artık ana sitenize yapıştırabilirsiniz.");
}
</script>

<?php require_once '../footer.php'; ?>