<?php
require_once __DIR__ . '/../helpers/session.php';
require_once __DIR__ . '/../../config/database.php';
require_once __DIR__ . '/../helpers/crypto.php';

function index()
{
    $conn = getConnection();

    $id_usuario = $_SESSION['usuario_id'] ?? null;

    if (!$id_usuario) {
        die("ID de usuario no disponible en la sesión.");
    }

    $sql = "SELECT * FROM informacion_general WHERE id_usuario = ?";
    $params = [$id_usuario];
    
    $stmt = sqlsrv_query($conn, $sql, $params);

    if ($stmt === false) {
        die(print_r(sqlsrv_errors(), true));
    }

    $datos = sqlsrv_fetch_array($stmt, SQLSRV_FETCH_ASSOC);

    include __DIR__ . '/../../views/configuracion/dashboard_configuracion.php';
}

function editar()
{
     $conn = getConnection();
    $id_usuario = $_SESSION['usuario_id'] ?? null;

    if (!$id_usuario) {
        die("ID de usuario no disponible en la sesión.");
    }

    // Traer los datos existentes del usuario
    $sql = "SELECT * FROM informacion_general WHERE id_usuario = ?";
    $params = [$id_usuario];
    $stmt = sqlsrv_query($conn, $sql, $params);

    if ($stmt === false) {
        die(print_r(sqlsrv_errors(), true));
    }

    $datos = sqlsrv_fetch_array($stmt, SQLSRV_FETCH_ASSOC);

    include __DIR__ . '/../../views/configuracion/editar.php';
}

function guardar()
{
    $conn = getConnection();
    $id_usuario = $_SESSION['usuario_id'] ?? null;

    if (!$id_usuario) {
        die("ID de usuario no disponible en la sesión.");
    }

    // Captura los datos del formulario
    $campos = [
        'clave', 'tipo_identificador', 'curp', 'calle', 'num_exterior', 'num_interior',
        'ciudad', 'colonia', 'pais', 'codigo_postal', 'municipio', 'estado', 'fax', 'observaciones'
    ];

    $sql_parts = [];
    $params = [];

    foreach ($campos as $campo) {
        if (isset($_POST[$campo]) && $_POST[$campo] !== '') {
            $sql_parts[] = "$campo = ?";
            $params[] = $_POST[$campo];
        }
    }

    // Si no hay datos que actualizar
    if (empty($sql_parts)) {
        header("Location: /IMPORTADORES/configuracion");
        exit;
    }

    $sql = "UPDATE informacion_general SET " . implode(", ", $sql_parts) . " WHERE id_usuario = ?";
    $params[] = $id_usuario;

    $stmt = sqlsrv_query($conn, $sql, $params);

    if ($stmt === false) {
        die(print_r(sqlsrv_errors(), true));
    }

    header("Location: /IMPORTADORES/configuracion/index");
    exit;
}

function automatizaciones()
{
    include __DIR__ . '/../../views/configuracion/automatizaciones.php';
}

function preferencias()
{
    include __DIR__ . '/../../views/configuracion/preferencias.php';
}

function seguridad()
{
    include __DIR__ . '/../../views/configuracion/seguridad.php';
}

function bitacoras()
{
    include __DIR__ . '/../../views/configuracion/bitacoras.php';
}