<?php
require_once 'config/db.php';

try {
    // 1. Atualizar o schema para suportar o tipo 'planilha'
    // Ignora erro se já existir ou se der problema de privilégio (tentamos).
    try {
        $pdo->exec("ALTER TABLE itens MODIFY tipo ENUM('texto', 'arquivo', 'ambos', 'planilha') DEFAULT 'ambos'");
    } catch (Exception $e) {
        // Silencioso caso já seja
    }

    $pdo->beginTransaction();

    // 2. Verifica se a categoria já existe
    $stmt = $pdo->prepare("SELECT id FROM categorias WHERE nome = ?");
    $stmt->execute(['Docentes']);
    $cat = $stmt->fetch();

    if ($cat) {
        $cat_id = $cat['id'];
    } else {
        // Insere a nova Categoria (Ícone: graduation-cap)
        $stmt = $pdo->prepare("INSERT INTO categorias (nome, icone) VALUES (?, ?)");
        $stmt->execute(['Docentes', 'graduation-cap']);
        $cat_id = $pdo->lastInsertId();
    }

    // 3. Subcategoria: Corpo Docente
    $stmt = $pdo->prepare("SELECT id FROM subcategorias WHERE categoria_id = ? AND nome = ?");
    $stmt->execute([$cat_id, 'Corpo Docente']);
    $sub_corpo = $stmt->fetch();
    if ($sub_corpo) {
        $id_corpo = $sub_corpo['id'];
    } else {
        $stmt = $pdo->prepare("INSERT INTO subcategorias (categoria_id, nome) VALUES (?, ?)");
        $stmt->execute([$cat_id, 'Corpo Docente']);
        $id_corpo = $pdo->lastInsertId();
    }

    // Item: Quadro de Professores
    $stmt = $pdo->prepare("SELECT id FROM itens WHERE subcategoria_id = ? AND nome = ?");
    $stmt->execute([$id_corpo, 'Quadro de Professores']);
    if (!$stmt->fetch()) {
        $stmt = $pdo->prepare("INSERT INTO itens (subcategoria_id, nome, tipo, limite_caracteres) VALUES (?, ?, 'planilha', 8000)");
        $stmt->execute([$id_corpo, 'Quadro de Professores']);
    }

    // 4. Subcategoria: Grade Curricular
    $stmt = $pdo->prepare("SELECT id FROM subcategorias WHERE categoria_id = ? AND nome = ?");
    $stmt->execute([$cat_id, 'Grade Curricular']);
    $sub_grade = $stmt->fetch();
    if ($sub_grade) {
        $id_grade = $sub_grade['id'];
    } else {
        $stmt = $pdo->prepare("INSERT INTO subcategorias (categoria_id, nome) VALUES (?, ?)");
        $stmt->execute([$cat_id, 'Grade Curricular']);
        $id_grade = $pdo->lastInsertId();
    }

    // Item: Matriz Curricular
    $stmt = $pdo->prepare("SELECT id FROM itens WHERE subcategoria_id = ? AND nome = ?");
    $stmt->execute([$id_grade, 'Matriz Curricular']);
    if (!$stmt->fetch()) {
        $stmt = $pdo->prepare("INSERT INTO itens (subcategoria_id, nome, tipo, limite_caracteres) VALUES (?, ?, 'planilha', 8000)");
        $stmt->execute([$id_grade, 'Matriz Curricular']);
    }

    $pdo->commit();

    echo "<div style='font-family:sans-serif; padding: 20px; text-align: center; color: green;'>";
    echo "<h1>Sucesso!</h1>";
    echo "<p>A categoria 'Docentes' e suas planilhas foram criadas com sucesso!</p>";
    echo "<a href='index.php'>Voltar para o sistema</a>";
    echo "</div>";

} catch (Exception $e) {
    if ($pdo->inTransaction()) {
        $pdo->rollBack();
    }
    echo "<div style='font-family:sans-serif; padding: 20px; text-align: center; color: red;'>";
    echo "<h1>Erro ao atualizar!</h1>";
    echo "<p>" . $e->getMessage() . "</p>";
    echo "</div>";
}
?>
