<?php
session_start();
include('../conexion.php');
include('../include/sesiones.php');

$clie_id = $_SESSION['clie_id'] ?? '';

if (empty($clie_id)) {
    echo '<div class="alert alert-danger" role="alert"><center>No tienes la sesión iniciada.</center></div>';
    exit;
}

$contraseña_1 = $_POST['principal'] ?? '';
$contraseña_2 = $_POST['password_cuen_3'] ?? '';
$contraseña_3 = $_POST['password_cuen_4'] ?? '';

// Validar que las nuevas contraseñas coincidan
if ($contraseña_2 !== $contraseña_3) {
    echo '<div class="alert alert-danger" role="alert"><center>Las nuevas contraseñas no coinciden.</center></div>';
    exit;
}

// Validar la seguridad de la nueva contraseña
function es_contraseña_segura($contraseña)
{
    return preg_match('/^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[!@#$%^&*]).{8,}$/', $contraseña);
}

if (!es_contraseña_segura($contraseña_2)) {
    echo '<div class="alert alert-danger" role="alert"><center>La nueva contraseña debe tener al menos 8 caracteres, una mayúscula, una minúscula, un número y un carácter especial (!@#$%^&*).</center></div>';
    exit;
}

// Consultar la contraseña actual
$usuario = mysqli_query($con, "SELECT clie_clave FROM cliente WHERE clie_id = '$clie_id' AND empresa = '$emp_id'");
$usu = mysqli_fetch_array($usuario);
$clie_clave = $usu['clie_clave'] ?? '';

// Validar la contraseña actual
if ($clie_clave === $contraseña_1) {
    // Actualizar la contraseña
    $cambiar_contra = mysqli_query($con, "UPDATE cliente SET clie_clave = '$contraseña_2' WHERE clie_id = '$clie_id'");
    if ($cambiar_contra) {
        echo '<div class="alert alert-success" role="alert"><center>¡Contraseña actualizada con éxito!</center></div>';
    } else {
        echo '<div class="alert alert-danger" role="alert"><center>Error al actualizar la contraseña.</center></div>';
    }
} else {
    echo '<div class="alert alert-danger" role="alert"><center>La contraseña actual es incorrecta.</center></div>';
}

exit;
