<?php
// /admin/dashboard.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;
}

// 🔐 PROCESSAMENTO DA SENHA
$msg_senha = '';
if ($_SERVER['REQUEST_METHOD'] == 'POST' && isset($_POST['acao']) && $_POST['acao'] == 'mudar_senha') {
    $senha_atual = $_POST['senha_atual'];
    $nova_senha = $_POST['nova_senha'];
    $confirma_senha = $_POST['confirma_senha'];
    $usuario_logado = $_SESSION['admin_usuario'];

    try {
        $stmt = $pdo->prepare("SELECT id, senha FROM usuarios WHERE usuario = ?");
        $stmt->execute([$usuario_logado]);
        $admin = $stmt->fetch();

        if ($admin && password_verify($senha_atual, $admin['senha'])) {
            if ($nova_senha === $confirma_senha) {
                $nova_senha_hash = password_hash($nova_senha, PASSWORD_DEFAULT);
                $stmt_update = $pdo->prepare("UPDATE usuarios SET senha = ? WHERE id = ?");
                $stmt_update->execute([$nova_senha_hash, $admin['id']]);
                $msg_senha = "<div class='alert alert-success alert-dismissible fade show'><i class='fas fa-check-circle'></i> Senha alterada com sucesso! <button type='button' class='btn-close' data-bs-dismiss='alert'></button></div>";
            } else {
                $msg_senha = "<div class='alert alert-warning alert-dismissible fade show'><i class='fas fa-exclamation-triangle'></i> A nova senha e a confirmação não coincidem. <button type='button' class='btn-close' data-bs-dismiss='alert'></button></div>";
            }
        } else {
            $msg_senha = "<div class='alert alert-danger alert-dismissible fade show'><i class='fas fa-times-circle'></i> A senha atual está incorreta. <button type='button' class='btn-close' data-bs-dismiss='alert'></button></div>";
        }
    } catch (Exception $e) {
        $msg_senha = "<div class='alert alert-danger'>Erro no banco de dados.</div>";
    }
}

// 🛰️ BUSCANDO DADOS DO BANCO
$stmt = $pdo->query("SELECT valor FROM configs WHERE chave = 'nome_artista'");
$nome_artista = $stmt->fetchColumn() ?: 'Artista';

$total_cards = $pdo->query("SELECT COUNT(*) FROM galeria")->fetchColumn();
$total_faqs = $pdo->query("SELECT COUNT(*) FROM faqs")->fetchColumn();
?>
<!DOCTYPE html>
<html lang="pt-BR">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Painel de Controle | VoxCore CMS</title>
    <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?v=<?= time() ?>">


    <?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 main-content">
    <div class="d-flex justify-content-between flex-wrap flex-md-nowrap align-items-center pt-3 pb-2 mb-3 border-bottom">
        <h1 class="h2">Painel Administrativo: <?= htmlspecialchars($nome_artista) ?></h1>
        <div class="text-muted d-none d-sm-block">Sessão: <strong><?= $_SESSION['admin_usuario'] ?></strong></div>
    </div>

    <?= $msg_senha ?>

    <div class="row mt-4">
        <div class="col-md-4 mb-4">
            <div class="card card-stat p-3">
                <div class="d-flex align-items-center">
                    <div class="bg-primary text-white p-3 rounded-circle me-3">
                        <i class="fas fa-images fa-lg"></i>
                    </div>
                    <div>
                        <h6 class="mb-0 text-muted">Cards na Galeria</h6>
                        <h3 class="mb-0"><?= $total_cards ?></h3>
                    </div>
                </div>
            </div>
        </div>
        <div class="col-md-4 mb-4">
            <div class="card card-stat p-3">
                <div class="d-flex align-items-center">
                    <div class="bg-success text-white p-3 rounded-circle me-3">
                        <i class="fas fa-comments fa-lg"></i>
                    </div>
                    <div>
                        <h6 class="mb-0 text-muted">Perguntas no FAQ</h6>
                        <h3 class="mb-0"><?= $total_faqs ?></h3>
                    </div>
                </div>
            </div>
        </div>
    </div>

    <div class="alert alert-info mt-4">
        <i class="fas fa-info-circle"></i> <strong>Dica de Operação:</strong> Use o menu lateral para navegar e atualizar os conteúdos do site. As alterações refletem instantaneamente na área pública!
    </div>
</main>

<?php include 'footer_admin.php'; ?>

<div class="modal fade" id="modalSenha" tabindex="-1" aria-labelledby="modalSenhaLabel" aria-hidden="true">
  <div class="modal-dialog modal-dialog-centered">
    <div class="modal-content">
      <form method="POST" action="dashboard.php">
          <input type="hidden" name="acao" value="mudar_senha">
          
          <div class="modal-header bg-dark text-white">
            <h5 class="modal-title" id="modalSenhaLabel"><i class="fas fa-lock"></i> Credenciais de Acesso</h5>
            <button type="button" class="btn-close btn-close-white" data-bs-dismiss="modal" aria-label="Close"></button>
          </div>
          
          <div class="modal-body">
            <p class="text-muted small mb-4">Para proteger a integridade do sistema, insira sua senha atual antes de definir uma nova chave de acesso.</p>
            
            <div class="mb-3">
                <label class="form-label fw-bold">Senha Atual</label>
                <div class="input-group">
                    <span class="input-group-text"><i class="fas fa-unlock"></i></span>
                    <input type="password" name="senha_atual" class="form-control" required placeholder="Digite a senha que usou para entrar">
                </div>
            </div>
            <hr>
            <div class="mb-3">
                <label class="form-label fw-bold">Nova Senha</label>
                <div class="input-group">
                    <span class="input-group-text"><i class="fas fa-key"></i></span>
                    <input type="password" name="nova_senha" class="form-control" required minlength="6" placeholder="Mínimo de 6 caracteres">
                </div>
            </div>
            <div class="mb-3">
                <label class="form-label fw-bold">Confirme a Nova Senha</label>
                <div class="input-group">
                    <span class="input-group-text"><i class="fas fa-check-double"></i></span>
                    <input type="password" name="confirma_senha" class="form-control" required minlength="6" placeholder="Repita a nova senha">
                </div>
            </div>
          </div>
          
          <div class="modal-footer bg-light">
            <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> Atualizar Senha</button>
          </div>
      </form>
    </div>
  </div>
</div>

</body>
</html>