<?php
// excluir_cliente.php — Excluir cliente (ADMIN only)
require_once __DIR__ . '/auth.php';
require_once __DIR__ . '/functions.php';
requirePerfil(['ADMIN']);

$id = (int)($_GET['id'] ?? 0);
if (!$id) { header('Location: clientes.php'); exit; }

$c = getClienteById($id);
if (!$c) { header('Location: clientes.php?erro=Cliente+não+encontrado'); exit; }

// Verifica OS abertas
$osAbertas = (int)pdo()->prepare(
    "SELECT COUNT(*) FROM ordens_servico WHERE cliente_id=? AND status IN ('ABERTA','AGENDADA','EM_ANDAMENTO')"
)->execute([$id]) ? pdo()->query("SELECT COUNT(*) FROM ordens_servico WHERE cliente_id=$id AND status IN ('ABERTA','AGENDADA','EM_ANDAMENTO')")->fetchColumn() : 0;

$stmt = pdo()->prepare("SELECT COUNT(*) FROM ordens_servico WHERE cliente_id=? AND status IN ('ABERTA','AGENDADA','EM_ANDAMENTO')");
$stmt->execute([$id]);
$osAbertas = (int)$stmt->fetchColumn();

if ($osAbertas > 0) {
    header("Location: cliente_detalhe.php?id=$id&erro=Não+é+possível+excluir:+cliente+possui+$osAbertas+OS+aberta(s)");
    exit;
}

// Confirmação via GET token
if (isset($_GET['confirmar']) && $_GET['token'] === md5('excluir'.$id.session_id())) {
    // Remove fotos físicas
    $stmtFotos = pdo()->prepare("SELECT caminho_arquivo FROM clientes_fotos WHERE cliente_id=?");
    $stmtFotos->execute([$id]);
    foreach ($stmtFotos->fetchAll(PDO::FETCH_COLUMN) as $path) {
        $full = __DIR__ . '/' . ltrim($path, '/');
        if (file_exists($full)) @unlink($full);
    }
    // Remove pasta de fotos do cliente
    $pastaFotos = __DIR__ . "/uploads/clientes/$id";
    if (is_dir($pastaFotos)) @rmdir($pastaFotos);

    // Remove do banco (CASCADE remove OS e fotos)
    pdo()->prepare("DELETE FROM clientes WHERE id=?")->execute([$id]);
    header("Location: clientes.php?msg=Cliente+" . urlencode($c['nome']) . "+excluído+com+sucesso!");
    exit;
}

// Página de confirmação
$pageTitle  = 'Excluir Cliente';
$pageActive = 'clientes';
require_once __DIR__ . '/includes/header.php';

$token = md5('excluir'.$id.session_id());
?>
<div class="topbar">
  <div>
    <div class="page-title">✕ Excluir Cliente</div>
    <div class="page-sub">Esta ação é irreversível</div>
  </div>
  <div class="topbar-actions">
    <a href="cliente_detalhe.php?id=<?= $id ?>" class="btn btn-ghost">← Cancelar</a>
  </div>
</div>
<div class="content" style="max-width:500px">
  <div style="background:rgba(239,68,68,.08);border:1px solid rgba(239,68,68,.25);border-radius:12px;padding:28px 24px;text-align:center">
    <div style="font-size:36px;margin-bottom:12px">⚠️</div>
    <h3 style="margin-bottom:8px;color:var(--red)">Confirmar Exclusão</h3>
    <p style="font-size:14px;margin-bottom:6px">Você está prestes a excluir permanentemente:</p>
    <div style="background:var(--card);border-radius:8px;padding:14px;margin:14px 0">
      <div style="font-size:16px;font-weight:700"><?= e($c['nome']) ?></div>
      <div style="font-size:12px;color:var(--muted);font-family:var(--mono)">
        <?= e($c['documento']?:'—') ?> · <?= e($c['endereco_cidade']?:'—') ?>
      </div>
    </div>
    <p style="font-size:12px;color:var(--muted);margin-bottom:20px">
      Todas as ordens de serviço, fotos e dados cadastrais serão removidos permanentemente.
    </p>
    <div style="display:flex;gap:10px;justify-content:center">
      <a href="cliente_detalhe.php?id=<?= $id ?>" class="btn btn-ghost">← Cancelar</a>
      <a href="excluir_cliente.php?id=<?= $id ?>&confirmar=1&token=<?= $token ?>"
         class="btn btn-danger" style="font-weight:700">
        ✕ Sim, Excluir Definitivamente
      </a>
    </div>
  </div>
</div>
<?php require_once __DIR__ . '/includes/footer.php'; ?>
