<?php
require_once '../../core/config.php';
require_once '../../core/session.php';
require_once '../../core/database.php';
require_once '../../core/permissions.php';

// Bloqueo de seguridad
require_login();
require_permission('admin.users.edit');

if ($_SERVER['REQUEST_METHOD'] === 'POST') {
    $pdo = db();
    $id = isset($_POST['id']) ? (int) $_POST['id'] : 0;
    
    // Obtenemos los datos del usuario logueado para evitar que se elimine a sí mismo
    $currentUser = current_user();

    if ($id <= 0) {
        die('ID de usuario inválido.');
    }

    // Medida de seguridad: Evitar la auto-eliminación
    if ($id === (int) $currentUser['id']) {
        die('Operación denegada: No puedes eliminar tu propia cuenta de usuario.');
    }

    try {
        // Ejecutamos el borrado permanente
        $stmt = $pdo->prepare("DELETE FROM users WHERE id = ?");
        $stmt->execute([$id]);
        
    } catch (PDOException $e) {
        // Si hay error (ej. el usuario está amarrado a registros del CRM y tu BD restringe el borrado)
        die('Error al eliminar: Este usuario tiene registros asociados en el sistema y no puede ser borrado permanentemente. Intenta cambiar su estado a "Inactivo" en su lugar.');
    }
}

// Redirigir de vuelta al panel de usuarios
header('Location: /modules/admin/users.php');
exit;