This commit is contained in:
2025-07-09 16:14:22 -06:00
parent 91b6806898
commit 287ad27274
39 changed files with 2517 additions and 2000 deletions

View File

@@ -25,6 +25,7 @@ function index()
function opciones()
{
$conn = getConnection();
$id_usuario = $_SESSION['usuario_id'] ?? null;
// Asegúrate de que el usuario está autenticado
@@ -49,12 +50,11 @@ function obtenerEstadoDosFactores()
return 0; // valor por defecto si no hay sesión
}
$sql_dos_factores = "SELECT dos_factores FROM usuarios_sistema WHERE id_usuario = ?";
$params = [$id_usuario];
$sql_dos_factores = "SELECT dos_factores FROM usuarios_sistema WHERE id_usuario = ?";
$params = [$id_usuario];
$stmt_dos_factores = sqlsrv_prepare($conn, $sql_dos_factores, $params);
$dos_factores_estado = 0; // valor por defecto
if ($stmt_dos_factores && sqlsrv_execute($stmt_dos_factores)) {
if ($row = sqlsrv_fetch_array($stmt_dos_factores, SQLSRV_FETCH_ASSOC)) {
$dos_factores_estado = (int)$row['dos_factores'];
@@ -90,10 +90,9 @@ function autenticacionDosFactores()
}
$dos_factores = isset($_POST['dos_factores']) ? 1 : 0;
$sql = "UPDATE usuarios_sistema SET dos_factores = ? WHERE id_usuario = ?";
$params = [$dos_factores, $id_usuario];
$stmt = sqlsrv_prepare($conn, $sql, $params);
$sql = "UPDATE usuarios_sistema SET dos_factores = ? WHERE id_usuario = ?";
$params = [$dos_factores, $id_usuario];
$stmt = sqlsrv_prepare($conn, $sql, $params);
if (!$stmt) {
die("Error en la preparación: " . print_r(sqlsrv_errors(), true));
@@ -125,12 +124,13 @@ function correoExtra()
exit;
}
$id_usuario = $_SESSION['usuario_id']; // CORRIGIDO
$id_usuario = $_SESSION['usuario_id'];
$conn = getConnection();
$sql_check = "SELECT COUNT(*) AS total FROM correo_extra WHERE id_usuario = ?";
$sql_check = "SELECT COUNT(*) AS total FROM correo_extra WHERE id_usuario = ?";
$stmt_check = sqlsrv_query($conn, $sql_check, [$id_usuario]);
$row = sqlsrv_fetch_array($stmt_check, SQLSRV_FETCH_ASSOC);
$row = sqlsrv_fetch_array($stmt_check, SQLSRV_FETCH_ASSOC);
if ($row['total'] > 0) {
echo "Ya tienes un correo adicional registrado.";
@@ -145,7 +145,7 @@ function correoExtra()
}
$query = "INSERT INTO correo_extra (id_usuario, correo) VALUES (?, ?)";
$stmt = sqlsrv_prepare($conn, $query, [$id_usuario, $correo]);
$stmt = sqlsrv_prepare($conn, $query, [$id_usuario, $correo]);
if ($stmt && sqlsrv_execute($stmt)) {
$_SESSION['config_success'] = 'Correo adicional registrado correctamente.';
@@ -164,6 +164,7 @@ function modificarCorreoExtra()
}
$id_usuario = $_SESSION['usuario_id'];
$conn = getConnection();
$correo = $_POST['email-extra'] ?? '';
@@ -174,7 +175,7 @@ function modificarCorreoExtra()
}
$query = "UPDATE correo_extra SET correo = ? WHERE id_usuario = ?";
$stmt = sqlsrv_prepare($conn, $query, [$correo, $id_usuario]);
$stmt = sqlsrv_prepare($conn, $query, [$correo, $id_usuario]);
if ($stmt && sqlsrv_execute($stmt)) {
$_SESSION['config_success'] = 'Correo adicional actualizado correctamente.';
@@ -193,10 +194,11 @@ function eliminarCorreoExtra()
}
$id_usuario = $_SESSION['usuario_id'];
$conn = getConnection();
$query = "DELETE FROM correo_extra WHERE id_usuario = ?";
$stmt = sqlsrv_prepare($conn, $query, [$id_usuario]);
$stmt = sqlsrv_prepare($conn, $query, [$id_usuario]);
if ($stmt && sqlsrv_execute($stmt)) {
$_SESSION['config_success'] = 'Correo adicional eliminado correctamente.';
@@ -215,12 +217,13 @@ function correoRespaldo()
exit;
}
$id_usuario = $_SESSION['usuario_id']; // CORRIGIDO
$id_usuario = $_SESSION['usuario_id'];
$conn = getConnection();
$sql_check = "SELECT COUNT(*) AS total FROM correo_respaldo WHERE id_usuario = ?";
$sql_check = "SELECT COUNT(*) AS total FROM correo_respaldo WHERE id_usuario = ?";
$stmt_check = sqlsrv_query($conn, $sql_check, [$id_usuario]);
$row = sqlsrv_fetch_array($stmt_check, SQLSRV_FETCH_ASSOC);
$row = sqlsrv_fetch_array($stmt_check, SQLSRV_FETCH_ASSOC);
if ($row['total'] > 0) {
echo "Ya tienes un correo de respaldo registrado.";
@@ -235,7 +238,7 @@ function correoRespaldo()
}
$query = "INSERT INTO correo_respaldo (id_usuario, correo) VALUES (?, ?)";
$stmt = sqlsrv_prepare($conn, $query, [$id_usuario, $correo]);
$stmt = sqlsrv_prepare($conn, $query, [$id_usuario, $correo]);
if ($stmt && sqlsrv_execute($stmt)) {
$_SESSION['config_success'] = 'Correo de respaldo registrado correctamente.';
@@ -246,7 +249,7 @@ function correoRespaldo()
}
}
function modificarCorreoRspaldo()
function modificarCorreoRespaldo()
{
if (!isset($_SESSION['usuario_id']) || ($_SESSION['pendiente_confirmacion'] ?? false)) {
echo "Error: no se ha iniciado sesión o sesión incompleta.";
@@ -254,6 +257,7 @@ function modificarCorreoRspaldo()
}
$id_usuario = $_SESSION['usuario_id'];
$conn = getConnection();
$correo = $_POST['email-respaldo'] ?? '';
@@ -264,7 +268,7 @@ function modificarCorreoRspaldo()
}
$query = "UPDATE correo_respaldo SET correo = ? WHERE id_usuario = ?";
$stmt = sqlsrv_prepare($conn, $query, [$correo, $id_usuario]);
$stmt = sqlsrv_prepare($conn, $query, [$correo, $id_usuario]);
if ($stmt && sqlsrv_execute($stmt)) {
$_SESSION['config_success'] = 'Correo de respaldo actualizado correctamente.';
@@ -283,10 +287,11 @@ function eliminarCorreoRespaldo()
}
$id_usuario = $_SESSION['usuario_id'];
$conn = getConnection();
$query = "DELETE FROM correo_respaldo WHERE id_usuario = ?";
$stmt = sqlsrv_prepare($conn, $query, [$id_usuario]);
$stmt = sqlsrv_prepare($conn, $query, [$id_usuario]);
if ($stmt && sqlsrv_execute($stmt)) {
$_SESSION['config_success'] = 'Correo de respaldo eliminado correctamente.';
@@ -300,15 +305,16 @@ function eliminarCorreoRespaldo()
function obtenerCorreos($conn, $id_usuario)
{
$correos = [
'dos_factores' => 0,
'correo_extra' => '',
'dos_factores' => 0,
'correo_extra' => '',
'correo_respaldo' => ''
];
// Obtener estado dos_factores
$sql_dos_factores = "SELECT dos_factores FROM usuarios_sistema WHERE id_usuario = ?";
$params = [$id_usuario];
$sql_dos_factores = "SELECT dos_factores FROM usuarios_sistema WHERE id_usuario = ?";
$params = [$id_usuario];
$stmt_dos_factores = sqlsrv_prepare($conn, $sql_dos_factores, $params);
if ($stmt_dos_factores && sqlsrv_execute($stmt_dos_factores)) {
if ($row = sqlsrv_fetch_array($stmt_dos_factores, SQLSRV_FETCH_ASSOC)) {
$correos['dos_factores'] = (int)$row['dos_factores']; // MEJORADO: Cast a int
@@ -316,8 +322,9 @@ function obtenerCorreos($conn, $id_usuario)
}
// Obtener correo_extra
$sql_extra = "SELECT correo FROM correo_extra WHERE id_usuario = ?";
$sql_extra = "SELECT correo FROM correo_extra WHERE id_usuario = ?";
$stmt_extra = sqlsrv_prepare($conn, $sql_extra, $params);
if ($stmt_extra && sqlsrv_execute($stmt_extra)) {
if ($row = sqlsrv_fetch_array($stmt_extra, SQLSRV_FETCH_ASSOC)) {
$correos['correo_extra'] = $row['correo'];
@@ -325,8 +332,9 @@ function obtenerCorreos($conn, $id_usuario)
}
// Obtener correo_respaldo
$sql_respaldo = "SELECT correo FROM correo_respaldo WHERE id_usuario = ?";
$sql_respaldo = "SELECT correo FROM correo_respaldo WHERE id_usuario = ?";
$stmt_respaldo = sqlsrv_prepare($conn, $sql_respaldo, $params);
if ($stmt_respaldo && sqlsrv_execute($stmt_respaldo)) {
if ($row = sqlsrv_fetch_array($stmt_respaldo, SQLSRV_FETCH_ASSOC)) {
$correos['correo_respaldo'] = $row['correo'];