<?php 
require_once('../modelos/Portal.php');
include_once 'funciones.php';

$portal=new Portal();

$idcuota=isset($_POST["idcuota"])? limpiarCadena($_POST["idcuota"]):"";
$idcontrato=isset($_POST["idcontrato"])? limpiarCadena($_POST["idcontrato"]):"";
$idbanco=isset($_POST["idbanco"])? limpiarCadena($_POST["idbanco"]):"";
$nroperacion=isset($_POST["operacion"])? limpiarCadena($_POST["operacion"]):"";
$fecha=isset($_POST["fecha"])? limpiarCadena($_POST["fecha"]):"";
$monto=isset($_POST["monto"])? limpiarCadena($_POST["monto"]):"";

switch ($_GET["op"])
{
    case 'validarNroDni':
        $operacion = isset($_GET['id']) ? intval($_GET['id']) : 0;
        $result = $portal->validarNroDni($operacion);
        echo json_encode(["exists" => $result['count'] > 0]);
      break;

      case 'enviarVoucher':
        if (!file_exists($_FILES['imagen']['tmp_name']) || !is_uploaded_file($_FILES['imagen']['tmp_name'])) {
            // Si no se sube una nueva imagen, usa la imagen actual
            $imagen = $_POST["imagenactual"];
        } else {
            // Validar formato de imagen
            $ext = pathinfo($_FILES["imagen"]["name"], PATHINFO_EXTENSION);
            $mime_type = mime_content_type($_FILES['imagen']['tmp_name']);
            $valid_extensions = ["jpg", "jpeg", "png"];
            $valid_mime_types = ["image/jpeg", "image/png"];
    
            if (in_array(strtolower($ext), $valid_extensions) && in_array($mime_type, $valid_mime_types)) {
                $imagen = $_FILES["imagen"]["name"];
                $rutaDestino = "../files/voucher/" . $imagen;
                // Verificar si la imagen ya existe en el directorio
                if (!file_exists($rutaDestino)) {
                    // Si la imagen no existe, se sube la nueva
                    $rutaTemporal = $_FILES["imagen"]["tmp_name"];
                    // Procesar la imagen (redimensionar y comprimir)
                    $max_width = 1024;  // Ajustar según necesidad
                    $max_height = 768;
                    $calidad = 80; // Calidad de compresión (JPEG)
                    if (!procesarImagen($rutaTemporal, $rutaDestino, $max_width, $max_height, $calidad, $ext)) {
                        echo json_encode(["status" => "error", "message" => "Error al procesar la imagen."]);
                        exit;
                    }
                    // Eliminar la imagen anterior si existe y es diferente a la nueva
                    if (!empty($_POST["imagenactual"]) && $_POST["imagenactual"] !== $imagen) {
                        $rutaImagenAnterior = "../files/voucher/" . $_POST["imagenactual"];
                        if (file_exists($rutaImagenAnterior)) {
                            unlink($rutaImagenAnterior);
                        }
                    }
                }
            } else {
                echo json_encode(["status" => "error", "message" => "Error: Formato de imagen no permitido."]);
                exit;
            }
        }
    
        // Llamar a la función con los valores validados
        $rspta = $portal->enviarVoucher($idcuota,$idcontrato,$idbanco,$nroperacion,$fecha,$monto,$imagen);
    
        if ($rspta === "success") {
            echo json_encode(["status" => "success", "message" => "Voucher registrado correctamente"]);
        } elseif ($rspta === "existe") {
            echo json_encode(["status" => "existe", "message" => "Ya existe un comprobante para esta cuota."]);
        } else {
            echo json_encode(["status" => "error", "message" => "Voucher no se pudo registrar."]);
        }
        break;

          
}