<?php
require_once 'includes/auth.php';
exigir_rol('admin');
require_once 'conexion.php';

if ($_SERVER['REQUEST_METHOD'] !== 'POST') {
    header('Location: admin_dashboard.php');
    exit;
}
csrf_check();

$id_propietario = (int)($_POST['id'] ?? 0);
if ($id_propietario > 0) {
    /* Borrar en cadena: registros/acompañantes de sus arrendatarios, arrendatarios y el propietario+usuario. */
    $conn->begin_transaction();
    try {
        $conn->query("DELETE r FROM registros r
                      JOIN arrendatarios a ON r.id_arrendatario = a.id_arrendatario
                      WHERE a.id_propietario = " . $id_propietario);
        $conn->query("DELETE ac FROM acompanantes ac
                      JOIN arrendatarios a ON ac.id_arrendatario = a.id_arrendatario
                      WHERE a.id_propietario = " . $id_propietario);
        $conn->query("DELETE FROM arrendatarios WHERE id_propietario = " . $id_propietario);

        $res = $conn->query("SELECT id_usuario FROM propietarios WHERE id_propietario = " . $id_propietario);
        $row = $res->fetch_assoc();

        $conn->query("DELETE FROM propietarios WHERE id_propietario = " . $id_propietario);
        if ($row) {
            $conn->query("DELETE FROM usuarios WHERE id_usuario = " . (int)$row['id_usuario']);
        }
        $conn->commit();
        $_SESSION['mensaje'] = 'Propietario eliminado con éxito.';
    } catch (Throwable $e) {
        $conn->rollback();
        $_SESSION['mensaje'] = 'Error al eliminar propietario.';
    }
}

header('Location: admin_dashboard.php');
exit;
