<?php
require_once('../../../includes/load.php');
// Define la ruta base de tu proyecto en la raíz del servidor
define('RUTA_BASE', $_SERVER['DOCUMENT_ROOT'] . '/transporte/');
if ($_SERVER['REQUEST_METHOD'] == 'POST') {
    $id = remove_junk($db->escape($_POST['id']));
	$usuario = remove_junk($db->escape($_POST['usuario']));
    $placa = remove_junk($db->escape($_POST['placa']));
    $motivo = remove_junk($db->escape($_POST['motivo']));
    $fecha = remove_junk($db->escape($_POST['fecha']));
    $area = remove_junk($db->escape($_POST['area']));
    $ubicacionI = remove_junk($db->escape($_POST['ubicacionI']));
    $ubicacionL = remove_junk($db->escape($_POST['ubicacionL']));
    $km_promedio = remove_junk($db->escape($_POST['km_promedio']));
    $km_promedio = round($km_promedio);
    $kiloI = remove_junk($db->escape($_POST['kiloI']));
    $kiloF = remove_junk($db->escape($_POST['kiloF']));
    $vale = remove_junk($db->escape($_POST['vale']));
    $galon = remove_junk($db->escape($_POST['galon']));
    $galonp = remove_junk($db->escape($_POST['galonP']));
    $detalle = remove_junk($db->escape($_POST['detalle']));
    $update=date("Y-m-d H:i:s");
    $fechaEntera = strtotime($update);
    $anio = date("Y", $fechaEntera);
    $mes = date("m", $fechaEntera);
    
    //Sirve para buscar por id la bitacora que deseamos destruir la foto
    $find_Foto = find_by_id('det_veh',$id);


    $fkinicial = $_FILES['fkinicial']['name'];
    $fkfinal = $_FILES['fkfinal']['name'];

    $FotoInicial = null;
    $FotoFinal = null;

    // Directorio base para guardar las imágenes
    $dirBase = RUTA_BASE;

    // Permitir todas las extensiones de imagen
    $allowedExtensions = ['jpg', 'jpeg', 'png', 'gif'];

    if ($fkinicial != '' || $fkinicial != null) {
        $file_type = $_FILES['fkinicial']['type'];
        list($type, $extension) = explode('/', $file_type);
        $extension = strtolower($extension);

        if (in_array($extension, $allowedExtensions)) {
            $dir = $dirBase . 'FotoInicial/';
            if (!file_exists($dir)) {
                mkdir($dir, 0777, true);
            }
            $file_tmp_name = $_FILES['fkinicial']['tmp_name'];
            $FotoIniG = $dir . file_name($placa).'-'. file_name($kiloI).'-'. file_name($update) . '.' . $extension;

            // Redimensionar la imagen
            $maxWidth = 800; // Ancho máximo deseado
            $maxHeight = 600; // Altura máxima deseada

            list($width, $height) = getimagesize($file_tmp_name);

            $aspectRatio = $width / $height;

            if ($width > $maxWidth || $height > $maxHeight) {
                if ($aspectRatio > 1) {
                    $newWidth = $maxWidth;
                    $newHeight = $maxWidth / $aspectRatio;
                } else {
                    $newHeight = $maxHeight;
                    $newWidth = $maxHeight * $aspectRatio;
                }

                $newImage = imagecreatetruecolor($newWidth, $newHeight);
                $source = imagecreatefromjpeg($file_tmp_name);

                imagecopyresampled($newImage, $source, 0, 0, 0, 0, $newWidth, $newHeight, $width, $height);

                imagejpeg($newImage, $FotoIniG, 80); // 80 es la calidad de compresión, puedes ajustarla

                imagedestroy($newImage);
                imagedestroy($source);
            } else {
                move_uploaded_file($file_tmp_name, $FotoIniG);
            }

            $FotoInicial = 'FotoInicial/' . file_name($placa).'-'. file_name($kiloI).'-'. file_name($update) .'.' . $extension;
            //para buscar a la foto anterior para ser eliminada
            $FotoDestuirI = $dirBase .$find_Foto['fkinicial'];
            if (file_exists($FotoDestuirI) && $find_Foto['fkinicial'] !='') {
                unlink($FotoDestuirI);
                }
        } else {
            echo "No Imagen";
        }
    }else{
    $FotoInicial = $find_Foto['fkinicial'];
    }

    if ($fkfinal != '' || $fkfinal != null) {
        $file_type = $_FILES['fkfinal']['type'];
        list($type, $extension) = explode('/', $file_type);
        $extension = strtolower($extension);

        if (in_array($extension, $allowedExtensions)) {
            $dir = $dirBase . 'FotoFinal/';
            if (!file_exists($dir)) {
                mkdir($dir, 0777, true);
            }
            $file_tmp_name = $_FILES['fkfinal']['tmp_name'];
            $FotoFiG = $dir . file_name($placa).'-'. file_name($kiloF).'-'. file_name($update) . '.' . $extension;

            // Redimensionar la imagen
            $maxWidth = 800; // Ancho máximo deseado
            $maxHeight = 600; // Altura máxima deseada

            list($width, $height) = getimagesize($file_tmp_name);

            $aspectRatio = $width / $height;

            if ($width > $maxWidth || $height > $maxHeight) {
                if ($aspectRatio > 1) {
                    $newWidth = $maxWidth;
                    $newHeight = $maxWidth / $aspectRatio;
                } else {
                    $newHeight = $maxHeight;
                    $newWidth = $maxHeight * $aspectRatio;
                }

                $newImage = imagecreatetruecolor($newWidth, $newHeight);
                $source = imagecreatefromjpeg($file_tmp_name);

                imagecopyresampled($newImage, $source, 0, 0, 0, 0, $newWidth, $newHeight, $width, $height);

                imagejpeg($newImage, $FotoFiG, 80); // 80 es la calidad de compresión, puedes ajustarla

                imagedestroy($newImage);
                imagedestroy($source);
            } else {
                move_uploaded_file($file_tmp_name, $FotoFiG);
            }

            $FotoFinal = 'FotoFinal/' . file_name($placa).'-'. file_name($kiloF).'-'. file_name($update) . '.' . $extension;
            //para buscar a la foto anterior para ser eliminada
            $FotoDestuirF = $dirBase .$find_Foto['fkfinal'];
            if (file_exists($FotoDestuirF) && $find_Foto['fkfinal'] != '') {
                 unlink($FotoDestuirF);
            }
        } else {
            echo "No Imagen";
        }
    }else{
    $FotoFinal = $find_Foto['fkfinal'];
    }
    
    $query ="UPDATE det_veh SET MOTIVO_TRASLADO='$motivo',ID_VEHICULO='$placa',UBI_INICIO='$ubicacionI',UBI_LLEGADA='$ubicacionL',FECH_REG='$fecha',KM_INICIAL='$kiloI',KM_FINAL='$kiloF',NUM_VALE='$vale',GALONES='$galon',ID_USER='$usuario',anio='$anio',mes='$mes',updated_at='$update',AREA='$area',DETALLE_CARGA='$detalle' ,fkinicial='$FotoInicial' ,fkfinal='$FotoFinal',GALONESP='$galonp',KM_PROMEDIO='$km_promedio' WHERE id = $id";

    if ($db->query($query)) {
        echo 'success';

        
    } else {
        echo 'fail';
    }
} 


