<?php
// /admin/editar-galeria.php
require 'db.php';

if(!defined('VX_OK')||!VX_OK){header('HTTP/1.0 403 Forbidden');exit;}

if (!isset($_SESSION['admin_logado'])) {
    header("Location: login.php");
    exit;
}

$mensagem = '';
$tipo_alerta = 'success'; 

if ($_SERVER['REQUEST_METHOD'] == 'POST' && empty($_POST) && empty($_FILES) && $_SERVER['CONTENT_LENGTH'] > 0) {
    $mensagem = "ERRO CRÍTICO: O arquivo que você tentou enviar é grande demais!";
    $tipo_alerta = 'danger';
}

if ($_SERVER['REQUEST_METHOD'] == 'POST' && isset($_POST['acao']) && $_POST['acao'] == 'salvar_midias') {
    
    // 🛰️ MOTOR UPSERT PARA TODOS OS TÍTULOS DA GALERIA
    $chaves_texto = ['vr1_titulo', 'vr2_titulo', 'titulo_video', 'titulo_cards', 'titulo_voice_reels'];
    $stmtTextos = $pdo->prepare("INSERT INTO configs (chave, valor) VALUES (?, ?) ON DUPLICATE KEY UPDATE valor = ?");
    foreach ($chaves_texto as $chave) {
        if (isset($_POST[$chave])) {
            $stmtTextos->execute([$chave, $_POST[$chave], $_POST[$chave]]);
        }
    }

    $erro_upload = false;

    if (!empty($_FILES['vr1_audio']['name'])) {
        $ext = pathinfo($_FILES['vr1_audio']['name'], PATHINFO_EXTENSION);
        $novo_nome = 'vr1_' . time() . '.' . $ext;
        if (move_uploaded_file($_FILES['vr1_audio']['tmp_name'], '../audio/' . $novo_nome)) {
            $pdo->prepare("UPDATE configs SET valor = ? WHERE chave = 'vr1_audio'")->execute(['audio/' . $novo_nome]);
        } else { $erro_upload = true; }
    }
    
    if (!empty($_FILES['vr2_audio']['name'])) {
        $ext = pathinfo($_FILES['vr2_audio']['name'], PATHINFO_EXTENSION);
        $novo_nome = 'vr2_' . time() . '.' . $ext;
        if (move_uploaded_file($_FILES['vr2_audio']['tmp_name'], '../audio/' . $novo_nome)) {
            $pdo->prepare("UPDATE configs SET valor = ? WHERE chave = 'vr2_audio'")->execute(['audio/' . $novo_nome]);
        } else { $erro_upload = true; }
    }
    
    if (isset($_POST['video_destaque_url'])) {
        $link_limpo = trim($_POST['video_destaque_url']);
        $pdo->prepare("INSERT INTO configs (chave, valor) VALUES ('video_destaque', ?) ON DUPLICATE KEY UPDATE valor = ?")->execute([$link_limpo, $link_limpo]);
    }
    
    if (!$erro_upload && empty($mensagem)) {
        $mensagem = "Mídias e títulos atualizados com sucesso!";
        $tipo_alerta = 'success';
    } elseif ($erro_upload && empty($mensagem)) {
        $mensagem = "Houve um erro no envio de um dos arquivos de áudio.";
        $tipo_alerta = 'warning';
    }
}

if ($_SERVER['REQUEST_METHOD'] == 'POST' && isset($_POST['id'])) {
    $id = $_POST['id'];
    $nome = $_POST['nome'];
    $obras = $_POST['obras'];
    
    $stmt = $pdo->prepare("UPDATE galeria SET nome_atriz_personagem = ?, obras = ? WHERE id = ?");
    $stmt->execute([$nome, $obras, $id]);
    
    if (!empty($_FILES['nova_imagem']['name'])) {
        $extensao = pathinfo($_FILES['nova_imagem']['name'], PATHINFO_EXTENSION);
        $novo_nome_arquivo = 'galeria_' . $id . '_' . time() . '.' . $extensao;
        $caminho_final = '../img/' . $novo_nome_arquivo;
        
        if (move_uploaded_file($_FILES['nova_imagem']['tmp_name'], $caminho_final)) {
            $stmt = $pdo->prepare("UPDATE galeria SET imagem = ? WHERE id = ?");
            $stmt->execute(['img/' . $novo_nome_arquivo, $id]);
        }
    }
    $mensagem = "Card de $nome atualizado com sucesso!";
}

$stmtMidias = $pdo->query("SELECT chave, valor FROM configs WHERE chave IN ('vr1_titulo', 'vr1_audio', 'vr2_titulo', 'vr2_audio', 'video_destaque', 'titulo_video', 'titulo_cards', 'titulo_voice_reels')");
$midias = [];
while ($r = $stmtMidias->fetch()) {
    $midias[$r['chave']] = $r['valor'];
}

$stmt = $pdo->query("SELECT * FROM galeria ORDER BY id ASC");
$cards = $stmt->fetchAll();
$categorias = [];
foreach ($cards as $card) {
    $categorias[$card['categoria']][] = $card;
}
?>
<!DOCTYPE html>
<html lang="pt-BR">
<head>
    <meta charset="UTF-8">
    <title>Gerenciar Galeria | VoxCore Admin</title>
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/css/bootstrap.min.css" rel="stylesheet">
    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/css/all.min.css">
    <link rel="stylesheet" href="admin.css">
    <style>
        .card-tars { box-shadow: 0 4px 15px rgba(0,0,0,0.05); border: none; border-radius: 12px; margin-bottom: 20px;}
        .img-preview { width: 50px; height: 50px; object-fit: cover; border-radius: 8px; border: 2px solid #eee; }
    </style>
    
    <?php 
        // No admin, o caminho volta uma pasta para achar a imagem na raiz /img/
        $stmt_fav_adm = $pdo->query("SELECT valor FROM configs WHERE chave = 'favicon_admin'");
        $fav_adm_path = $stmt_fav_adm->fetchColumn() ?: 'img/favicon_admin.png';
    ?>
    
    <link rel="icon" href="../<?= $fav_adm_path ?>?v=<?= time() ?>" type="image/png">    
    
</head>
<body>
<?php include 'sidebar.php'; ?>
    <main class="col-md-9 ms-sm-auto col-lg-10 px-md-4 main-content pt-4">
        <div class="d-flex justify-content-between align-items-center mb-4">
            <h2><i class="fas fa-th text-primary me-2"></i> Gerenciador de Galeria</h2>
        </div>

        <?php if ($mensagem): ?>
            <div class="alert alert-<?= $tipo_alerta ?> alert-dismissible fade show">
                <i class="fas fa-info-circle"></i> <?= $mensagem ?>
                <button type="button" class="btn-close" data-bs-dismiss="modal"></button>
            </div>
        <?php endif; ?>

        <div class="card card-tars p-4 mb-5 border-top border-primary border-4">
            <h4 class="mb-3 text-secondary"><i class="fas fa-photo-video text-primary"></i> Mídias e Títulos Principais</h4>
            <form method="POST" enctype="multipart/form-data">
                <input type="hidden" name="acao" value="salvar_midias">
                <div class="row">
                    <div class="col-md-6 border-end">
                        
                        <h6 class="fw-bold mb-3"><i class="fas fa-microphone-alt"></i> Voice Reels (MP3)</h6>

                        <div class="mb-3 bg-light p-3 rounded border">
                            <label class="form-label small fw-bold text-primary">Título da Secção de Áudio</label>
                            <input type="text" name="titulo_voice_reels" class="form-control" placeholder="Ex: Voice Reel ou Minhas Demos" value="<?= htmlspecialchars($midias['titulo_voice_reels'] ?? '') ?>">
                        </div>
                        
                        <div class="mb-3 bg-light p-3 rounded border">
                            <label class="form-label small fw-bold">Título da Faixa 1</label>
                            <input type="text" name="vr1_titulo" class="form-control mb-2" value="<?= htmlspecialchars($midias['vr1_titulo'] ?? '') ?>">
                            <label class="form-label small fw-bold text-danger">Trocar Áudio 1 (.mp3)</label>
                            <input type="file" name="vr1_audio" class="form-control" accept="audio/mpeg, audio/mp3">
                        </div>
                        <div class="mb-3 bg-light p-3 rounded border">
                            <label class="form-label small fw-bold">Título da Faixa 2</label>
                            <input type="text" name="vr2_titulo" class="form-control mb-2" value="<?= htmlspecialchars($midias['vr2_titulo'] ?? '') ?>">
                            <label class="form-label small fw-bold text-danger">Trocar Áudio 2 (.mp3)</label>
                            <input type="file" name="vr2_audio" class="form-control" accept="audio/mpeg, audio/mp3">
                        </div>
                    </div>
                    <div class="col-md-6">
                        <h6 class="fw-bold mb-3"><i class="fab fa-youtube text-danger"></i> Vídeo Destaque</h6>
                        <div class="mb-3 bg-light p-3 rounded border">
                            <label class="form-label small fw-bold">Título da Seção de Vídeo</label>
                            <input type="text" name="titulo_video" class="form-control mb-3" placeholder="Ex: Cinema e TV" value="<?= htmlspecialchars($midias['titulo_video'] ?? '') ?>">
                            
                            <label class="form-label small fw-bold text-danger">Link do Vídeo no YouTube</label>
                            <input type="url" name="video_destaque_url" class="form-control" placeholder="Ex: https://youtu.be/..." value="<?= htmlspecialchars($midias['video_destaque'] ?? '') ?>">
                        </div>
                        
                        <h6 class="fw-bold mb-3 mt-4"><i class="fas fa-images text-success"></i> Seção de Cards</h6>
                        <div class="mb-3 bg-light p-3 rounded border">
                            <label class="form-label small fw-bold">Título da Seção de Cards</label>
                            <input type="text" name="titulo_cards" class="form-control" placeholder="Ex: Atrizes e Personagens" value="<?= htmlspecialchars($midias['titulo_cards'] ?? '') ?>">
                        </div>
                    </div>
                </div>
                <button type="submit" class="btn btn-primary w-100 mt-3 fw-bold"><i class="fas fa-save"></i> Salvar Mídias e Títulos</button>
            </form>
        </div>

        <h4 class="mb-3 text-secondary"><i class="fas fa-images"></i> Obras e Personagens</h4>
        <?php foreach ($categorias as $nome_categoria => $itens): ?>
            <div class="card card-tars p-4">
                <h5 class="border-bottom pb-2 mb-3"><?= $nome_categoria ?></h5>
                <div class="table-responsive">
                    <table class="table table-hover align-middle">
                        <tbody>
                            <?php foreach ($itens as $item): ?>
                            <tr>
                                <td width="70"><img src="../<?= $item['imagem'] ?>?v=<?= time() ?>" class="img-preview"></td>
                                <td class="fw-bold"><?= $item['nome_atriz_personagem'] ?></td>
                                <td class="text-muted small"><?= $item['obras'] ?></td>
                                <td class="text-end">
                                    <button class="btn btn-sm btn-primary" onclick="abrirModal(<?= $item['id'] ?>, '<?= addslashes($item['nome_atriz_personagem']) ?>', '<?= addslashes($item['obras']) ?>', '../<?= $item['imagem'] ?>')"><i class="fas fa-edit"></i> Editar</button>
                                </td>
                            </tr>
                            <?php endforeach; ?>
                        </tbody>
                    </table>
                </div>
            </div>
        <?php endforeach; ?>
    </main>
</div></div>

<div class="modal fade" id="modalEditar" tabindex="-1">
  <div class="modal-dialog">
    <div class="modal-content">
      <form method="POST" enctype="multipart/form-data">
          <div class="modal-header bg-primary text-white">
            <h5 class="modal-title">Editar Card</h5>
            <button type="button" class="btn-close btn-close-white" data-bs-dismiss="modal"></button>
          </div>
          <div class="modal-body">
            <input type="hidden" name="id" id="edit_id">
            <div class="mb-3 text-center"><img src="" id="edit_img_preview" style="max-width: 150px; border-radius: 10px; box-shadow: 0 4px 10px rgba(0,0,0,0.1); margin-bottom: 10px;"></div>
            <div class="mb-3"><label class="form-label">Nome</label><input type="text" name="nome" id="edit_nome" class="form-control" required></div>
            <div class="mb-3"><label class="form-label">Obras</label><textarea name="obras" id="edit_obras" class="form-control" rows="2" required></textarea></div>
            <div class="mb-3 border rounded p-3 bg-light"><label class="form-label text-danger fw-bold"><i class="fas fa-upload"></i> Trocar Imagem</label><input type="file" name="nova_imagem" class="form-control" accept="image/*"></div>
          </div>
          <div class="modal-footer"><button type="button" class="btn btn-secondary" data-bs-dismiss="modal">Cancelar</button><button type="submit" class="btn btn-success"><i class="fas fa-save"></i> Salvar</button></div>
      </form>
    </div>
  </div>
</div>

<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/js/bootstrap.bundle.min.js"></script>
<script>
    function abrirModal(id, nome, obras, imgSrc) {
        document.getElementById('edit_id').value = id;
        document.getElementById('edit_nome').value = nome;
        document.getElementById('edit_obras').value = obras;
        document.getElementById('edit_img_preview').src = imgSrc + '?v=' + new Date().getTime();
        var modal = new bootstrap.Modal(document.getElementById('modalEditar')); modal.show();
    }
    document.getElementById('btnToggleMenu')?.addEventListener('click', function() {
        document.getElementById('sidebarMenu').classList.toggle('show');
        document.getElementById('sidebarOverlay').classList.toggle('show');
    });
</script>
</body>
</html>