130 lines
3.8 KiB
PHP
130 lines
3.8 KiB
PHP
<?php
|
|
require_once __DIR__ . '/../helpers/session.php';
|
|
require_once __DIR__ . '/../../config/database.php';
|
|
require_once __DIR__ . '/../helpers/crypto.php';
|
|
|
|
function index()
|
|
{
|
|
// Asegúrate de tener conexión
|
|
$conn = getConnection(); // Suponiendo que tienes una función getConnection()
|
|
|
|
// Verifica si la sesión tiene el id_usuario
|
|
if (!isset($_SESSION['usuario_id']) || ($_SESSION['pendiente_confirmacion'] ?? true)) {
|
|
die("Usuario no autenticado.");
|
|
}
|
|
|
|
$id_usuario = $_SESSION['usuario_id'];
|
|
|
|
// Obtener correos
|
|
$correos = obtenerCorreos($conn, $id_usuario);
|
|
|
|
// Cargar vista y pasar datos
|
|
include __DIR__ . '/../../views/seguridad/dashboard_seguridad.php';
|
|
}
|
|
|
|
function opciones()
|
|
{
|
|
include __DIR__ . '/../../views/seguridad/agregar.php';
|
|
}
|
|
|
|
function correoExtra()
|
|
{
|
|
if (!isset($_SESSION['usuario_id']) || ($_SESSION['pendiente_confirmacion'] ?? true)) {
|
|
echo "Error: no se ha iniciado sesión o falta el ID de usuario.";
|
|
exit;
|
|
}
|
|
|
|
$id_usuario = $_SESSION['usuario_id'];
|
|
$conn = getConnection();
|
|
|
|
$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);
|
|
|
|
if ($row['total'] > 0) {
|
|
echo "Ya tienes un correo adicional registrado.";
|
|
return;
|
|
}
|
|
|
|
$correo = $_POST['email-extra'] ?? '';
|
|
|
|
if (!filter_var($correo, FILTER_VALIDATE_EMAIL)) {
|
|
echo "Correo inválido.";
|
|
return;
|
|
}
|
|
|
|
$query = "INSERT INTO correo_extra (id_usuario, correo) VALUES (?, ?)";
|
|
$stmt = sqlsrv_prepare($conn, $query, [$id_usuario, $correo]);
|
|
|
|
if ($stmt && sqlsrv_execute($stmt)) {
|
|
header('Location: /IMPORTADORES/seguridad/index');
|
|
exit;
|
|
} else {
|
|
echo "Error al registrar el correo extra.";
|
|
}
|
|
}
|
|
|
|
function correoRespaldo()
|
|
{
|
|
if (!isset($_SESSION['usuario_id']) || ($_SESSION['pendiente_confirmacion'] ?? true)) {
|
|
echo "Error: no se ha iniciado sesión o falta el ID de usuario.";
|
|
exit;
|
|
}
|
|
|
|
$id_usuario = $_SESSION['usuario_id'];
|
|
$conn = getConnection();
|
|
|
|
$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);
|
|
|
|
if ($row['total'] > 0) {
|
|
echo "Ya tienes un correo adicional registrado.";
|
|
return;
|
|
}
|
|
|
|
$correo = $_POST['email-respaldo'] ?? '';
|
|
|
|
if (!filter_var($correo, FILTER_VALIDATE_EMAIL)) {
|
|
echo "Correo inválido.";
|
|
return;
|
|
}
|
|
|
|
$query = "INSERT INTO correo_respaldo (id_usuario, correo) VALUES (?, ?)";
|
|
$stmt = sqlsrv_prepare($conn, $query, [$id_usuario, $correo]);
|
|
|
|
if ($stmt && sqlsrv_execute($stmt)) {
|
|
header('Location: /IMPORTADORES/seguridad/index');
|
|
exit;
|
|
} else {
|
|
echo "Error al registrar el correo extra.";
|
|
}
|
|
}
|
|
|
|
function obtenerCorreos($conn, $id_usuario)
|
|
{
|
|
$correos = [
|
|
'correo_extra' => '',
|
|
'correo_respaldo' => ''
|
|
];
|
|
|
|
// Obtener correo_extra
|
|
$sql_extra = "SELECT correo FROM correo_extra WHERE id_usuario = ?";
|
|
$stmt_extra = sqlsrv_prepare($conn, $sql_extra, [$id_usuario]);
|
|
if ($stmt_extra && sqlsrv_execute($stmt_extra)) {
|
|
if ($row = sqlsrv_fetch_array($stmt_extra, SQLSRV_FETCH_ASSOC)) {
|
|
$correos['correo_extra'] = $row['correo'];
|
|
}
|
|
}
|
|
|
|
// Obtener correo_respaldo
|
|
$sql_respaldo = "SELECT correo FROM correo_respaldo WHERE id_usuario = ?";
|
|
$stmt_respaldo = sqlsrv_prepare($conn, $sql_respaldo, [$id_usuario]);
|
|
if ($stmt_respaldo && sqlsrv_execute($stmt_respaldo)) {
|
|
if ($row = sqlsrv_fetch_array($stmt_respaldo, SQLSRV_FETCH_ASSOC)) {
|
|
$correos['correo_respaldo'] = $row['correo'];
|
|
}
|
|
}
|
|
|
|
return $correos;
|
|
} |