<?php
require_once __DIR__.'/../../config/auth.php';$error='';$ok='';
if(($_SERVER['REQUEST_METHOD']??'GET')==='POST'){$actual=$_POST['actual']??'';$nueva=$_POST['nueva']??'';$confirmar=$_POST['confirmar']??'';$uid=(int)$_SESSION['user_id'];$u=$conn->query("SELECT password_hash FROM usuarios WHERE id=$uid")->fetch_assoc();if(!$u||!password_verify($actual,$u['password_hash']))$error='La contraseña actual no es correcta.';elseif(strlen($nueva)<8)$error='La nueva contraseña debe tener al menos 8 caracteres.';elseif($nueva!==$confirmar)$error='La confirmación no coincide con la nueva contraseña.';else{$hash=password_hash($nueva,PASSWORD_DEFAULT);$s=$conn->prepare('UPDATE usuarios SET password_hash=? WHERE id=?');$s->bind_param('si',$hash,$uid);$s->execute();registrar_auditoria($conn,'UPDATE','usuarios',$uid,'Actualización de contraseña propia');$ok='Contraseña actualizada correctamente.';}}
include __DIR__.'/../../includes/header.php';include __DIR__.'/../../includes/sidebar.php';?>
<main class="main"><?php include __DIR__.'/../../includes/topbar.php';?><div class="content"><h3 class="page-title">Actualizar contraseña</h3><p class="text-muted">Cambie la contraseña de su cuenta de acceso.</p><div class="row"><div class="col-lg-6"><div class="card card-hm"><div class="card-body"><?php if($error):?><div class="alert alert-danger"><?=e($error)?></div><?php endif;?><?php if($ok):?><div class="alert alert-success"><?=e($ok)?></div><?php endif;?><form method="post" autocomplete="off"><div class="mb-3"><label>Contraseña actual</label><input class="form-control" type="password" name="actual" required autocomplete="current-password"></div><div class="mb-3"><label>Nueva contraseña</label><input class="form-control" type="password" name="nueva" minlength="8" required autocomplete="new-password"><small class="text-muted">Mínimo 8 caracteres.</small></div><div class="mb-3"><label>Confirmar nueva contraseña</label><input class="form-control" type="password" name="confirmar" minlength="8" required autocomplete="new-password"></div><button class="btn btn-hm">Actualizar contraseña</button></form></div></div></div></div></div></main><?php include __DIR__.'/../../includes/footer.php';?>
