<?php
/**
 * claveController.php — Sprint 4
 * + Corregido strip_tags(isset())
 * + Usa SmsService centralizado (Sprint 2)
 * + Eliminadas credenciales SMS hardcodeadas
 * + Eliminado alert() JS inline → redirect con mensaje
 */
namespace app\controller;

use app\models\user;

require_once '../models/user.php';
require_once '../../datos.php';
require_once '../../app/services/SmsService.php';

$cedula = isset($_POST['cedula']) ? strip_tags($_POST['cedula']) : '';
$celular = isset($_POST['celular']) ? strip_tags($_POST['celular']) : '';

if (!$cedula) {
    header("Location: ../../clave.php?error=documento+obligatorio");
    exit;
}

if (!$celular) {
    header("Location: ../../clave.php?error=celular+obligatorio");
    exit;
}

$user = new user();
$datosUsuario = $user->buscarUsuario($cedula);

if (!$datosUsuario) {
    header("Location: ../../clave.php?error=Usuario+no+encontrado");
    exit;
}

if (!$datosUsuario->telefono) {
    header("Location: ../../clave.php?error=No+tiene+teléfono+registrado");
    exit;
}

if ($datosUsuario->telefono != $celular) {
    $new_tel1 = substr($datosUsuario->telefono, 0, 2) . '*****' . substr($datosUsuario->telefono, 7);
    $error = urlencode("Atención, el número de teléfono registrado es otro: " . $new_tel1 . ". " . $textoComuniquese);
    header("Location: ../../clave.php?error=$error");
    exit;
}

$sms = new \SmsService();
$mensaje = $mensajeDeTexto . ' ' . $datosUsuario->password;
$resultado = $sms->enviar($datosUsuario->telefono, $mensaje);

header("Location: ../../clave.php?success=Se+envió+un+mensaje+de+texto+con+su+código");
exit;
