<?php
ini_set('display_errors', 1);
error_reporting(E_ALL);


$db = new SQLite3('a/.eggziedb.db');
$db->exec("PRAGMA foreign_keys = ON;");


/* ===== EXCLUIR ===== */
if (isset($_GET['delete'])) {
    $id = (int)$_GET['delete'];
    $db->exec("DELETE FROM planos_pagamento WHERE id = $id");
    header("Location: create_plano.php");
    exit;
}

require_once 'includes/header.php';



// GARANTE A COLUNA IMAGEM SE A TABELA JÁ EXISTIR
$check = $db->query("PRAGMA table_info(planos_pagamento)");
$temImagem = false;

while ($col = $check->fetchArray(SQLITE3_ASSOC)) {
    if ($col['name'] === 'imagem') {
        $temImagem = true;
        break;
    }
}

if (!$temImagem) {
    $db->exec("ALTER TABLE planos_pagamento ADD COLUMN imagem TEXT");
}


/* ===== CRIA TABELA AUTOMATICAMENTE ===== */
$db->exec("
CREATE TABLE IF NOT EXISTS planos_pagamento (
    id INTEGER PRIMARY KEY AUTOINCREMENT,
    meses INTEGER NOT NULL UNIQUE,
    titulo TEXT NOT NULL,
    valor REAL NOT NULL,
    pagbank_link TEXT NOT NULL,
    imagem TEXT
);
");

/* ===== SALVAR PLANO ===== */
$msg = '';

if ($_SERVER['REQUEST_METHOD'] === 'POST') {

    $meses  = (int)($_POST['meses'] ?? 0);
    $titulo = trim($_POST['titulo'] ?? '');
    $valor  = (float)($_POST['valor'] ?? 0);
    $link   = trim($_POST['link'] ?? '');

    if ($meses > 0 && $titulo && $valor > 0 && $link && !empty($_FILES['imagem']['name'])) {

        $ext = strtolower(pathinfo($_FILES['imagem']['name'], PATHINFO_EXTENSION));
        $permitidas = ['jpg','jpeg','png','webp'];

        if (!in_array($ext, $permitidas)) {
            $msg = 'Formato de imagem inválido';
        } else {

            $nomeImagem = 'plano_'.$meses.'_'.time().'.'.$ext;
            $caminho = 'assets/planos/'.$nomeImagem;

            move_uploaded_file($_FILES['imagem']['tmp_name'], $caminho);

            $stmt = $db->prepare("
                INSERT OR REPLACE INTO planos_pagamento
                (meses, titulo, valor, pagbank_link, imagem)
                VALUES (:m, :t, :v, :l, :i)
            ");
            $stmt->bindValue(':m', $meses, SQLITE3_INTEGER);
            $stmt->bindValue(':t', $titulo, SQLITE3_TEXT);
            $stmt->bindValue(':v', $valor, SQLITE3_FLOAT);
            $stmt->bindValue(':l', $link, SQLITE3_TEXT);
            $stmt->bindValue(':i', $caminho, SQLITE3_TEXT);
            $stmt->execute();

            $msg = 'Plano salvo com sucesso';
        }

    } else {
        $msg = 'Preencha todos os campos corretamente';
    }
}



/* ===== LISTAR ===== */
$planos = $db->query("SELECT * FROM planos_pagamento ORDER BY meses ASC");
?>

<style>
.wrapper{
    max-width:1000px;
    margin:40px auto;
    padding:20px;
}
.card{
    background:linear-gradient(145deg,#0f1b34,#23385e);
    border-radius:18px;
    padding:20px;
    margin-bottom:20px;
    border:1px solid rgba(114,159,255,.3);
}
input{
    width:100%;
    padding:12px;
    background:#090e1e;
    border:1px solid #7191e8;
    border-radius:8px;
    color:#fff;
    margin-bottom:10px;
}
button{
    padding:12px;
    width:100%;
    border:none;
    border-radius:10px;
    background:linear-gradient(135deg,#52ffb8,#2fcc8a);
    font-weight:700;
    cursor:pointer;
}
table{
    width:100%;
    border-collapse:collapse;
}
th,td{
    padding:12px;
    border-bottom:1px solid rgba(114,159,255,.2);
}
.actions a{
    color:#ff6b81;
    text-decoration:none;
}
.msg{
    margin-top:10px;
    font-weight:600;
}
.success{color:#52ffb8}
.error{color:#ff6b81}
img.preview{
    max-width:60px;
    border-radius:8px;
}
</style>

<div class="wrapper">

    <div class="card">
        <h2>➕ Criar Plano</h2>

        <form method="post" enctype="multipart/form-data">
            <input type="number" name="meses" placeholder="Meses (1, 3, 6, 12)" required>
            <input type="text" name="titulo" placeholder="Título do plano" required>
            <input type="number" step="0.01" name="valor" placeholder="Valor (ex: 30.00)" required>
            <input type="url" name="link" placeholder="Link PagBank (pag.ae/...)" required>
            <input type="file" name="imagem" accept="image/*" required>
            <button>Salvar Plano</button>
        </form>

        <?php if ($msg): ?>
            <div class="msg <?= strpos($msg,'sucesso') !== false ? 'success' : 'error' ?>">
                <?= htmlspecialchars($msg) ?>
            </div>
        <?php endif; ?>
    </div>

    <div class="card">
        <h2>📦 Planos Cadastrados</h2>
        <table>
            <thead>
                <tr>
                    <th>ID</th>
                    <th>Meses</th>
                    <th>Título</th>
                    <th>Valor</th>
                    <th>Imagem</th>
                    <th>Ação</th>
                </tr>
            </thead>
            <tbody>
            <?php while ($p = $planos->fetchArray(SQLITE3_ASSOC)): ?>
                <tr>
                    <td><?= $p['id'] ?></td>
                    <td><?= $p['meses'] ?></td>
                    <td><?= htmlspecialchars($p['titulo']) ?></td>
                    <td>R$ <?= number_format($p['valor'],2,',','.') ?></td>
                    <td>
                        <?php if ($p['imagem']): ?>
                            <img class="preview" src="<?= htmlspecialchars($p['imagem']) ?>">
                        <?php endif; ?>
                    </td>
                    <td class="actions">
                        <a href="?delete=<?= $p['id'] ?>" onclick="return confirm('Excluir plano?')">
                            Excluir
                        </a>
                    </td>
                </tr>
            <?php endwhile; ?>
            </tbody>
        </table>
    </div>

</div>
