<?php
if ( isset($data_walcu["matricula"]) AND isset($data_walcu["bastidor"]) AND isset($data_walcu["email"]) ) {
    //VARIABLES================================================================
    define('CONT_OFERTA_IVO', 'OFTAIVO00000000001');
    $user = $_SERVER["HTTP_CLIENT_ID"];
    $matricula = trim($data_walcu["matricula"]);
    $bastidor = trim($data_walcu["bastidor"]);
    $hoy = date("Y-m-d H:s:i");
    $fecha_header = date("d-m-Y, H:i");
    $datos_vehiculo = consultaDatosVehiculo($bd_conn, $matricula, $bastidor);
    $id_vehiculo = $datos_vehiculo["CODIGO"];
    $txt_dir_correo1 = trim($data_walcu["email"]);
    $datos_cliente = consultaDatosCliente($bd_conn, $txt_dir_correo1);
    $codigo_contacto = $datos_cliente["CODIGO"];
    $txt_nif = $datos_cliente["NIF"];
    $txt_nombre = $datos_cliente["NOMBRE"];
    $txt_cp = $datos_cliente["CP_PER"];
    $txt_apellido1 = $datos_cliente["APELLIDO1"];
    $txt_apellido2 = $datos_cliente["APELLIDO2"];
    $txt_tel1 = $datos_cliente["TLFNO1"];
    $txt_direccion = $datos_cliente["DIRECCION_PER"];
    $txt_mostrar = $txt_nombre . " " . $txt_apellido1 . ' ' . $txt_apellido2;
    $txt_desc_finac_euros = ( isset($data_walcu["importe_financiado"]) ) ? trim($data_walcu["importe_financiado"]) : 0 ;
    $txt_pvp_total = ( isset($data_walcu["importe_total"]) ) ? trim($data_walcu["importe_total"]) : 0 ;
    $txt_base_imponible = ( isset($data_walcu["total_operacion"]) ) ? trim($data_walcu["total_operacion"]) : 0 ;
    //FALTAN-------------------------------------------------------------------
    $txt_desc_especial_euros = 0;
    $txt_pvp_recomendado = 0;
    $valor_iva = 0;
    $txt_gastos_gestion = 0;
    //Creo la clave--------------------------------------------------
    $clave = get_id_unico();
    $id_documento_16 = substr( $clave, 2, 16);
    //=============================================================================
    //CREO LA OFERTA===============================================================
    $codigo_oferta = get_id_unico($bd);
    //CONTADOR---------------------------------------------------------------------
    $cod_contador = CONT_OFERTA_IVO;
    $datos_contador = datosContador($bd_conn, $cod_contador);
    $prox_contador = $datos_contador["CONTADORSIG"] + 1;
    //CUENTO LOS CARACTERES DE LA MASCARA------------------------------------------
    $mascara = strlen($datos_contador["MASCARA"]);
    //CREO LA MASCARA DEL CONTADOR
    $cont_mascara = sprintf("%0".$mascara."d", $datos_contador["CONTADORSIG"] );
    //AROMO EL CODIGO DEL EXPEDIENTE-----------------------------------------------
    $num_oferta = $datos_contador["PREFIJO"] . $cont_mascara . $datos_contador["SUFIJO"];
    //HAGO EL UPDATE DEL CONTADOR--------------------------------------------------
    UpdateRegistroTablaContadores($bd_conn, $prox_contador, $cod_contador);
    $sub_total = $txt_base_imponible - $txt_desc_especial_euros;
    creaRegistroTablaVehiculoOfertas($bd_conn, $codigo_oferta, $id_vehiculo, $codigo_contacto, $txt_dir_correo1, $num_oferta, $user, $txt_desc_especial_euros, $txt_desc_finac_euros, $txt_pvp_recomendado, $valor_iva, $txt_pvp_total, $txt_gastos_gestion, $txt_base_imponible, $sub_total, $clave );
    //=============================================================================
    //=================HTML========================================================
    //=============================================================================
    //VARIABLES DEL HTML
    $html_pdf = '';
    $html_clave_doc = $id_documento_16;
    $html_oferta = $num_oferta;
    $html_mostrar = trim($txt_mostrar);
    $html_nif = $txt_nif;
    $html_direccion = $txt_direccion;
    $html_tel = $txt_tel1;
    $html_email = $txt_dir_correo1;
    $html_base_imponible = money_format("%.2n", $txt_base_imponible);
    $html_desc_especial = money_format("%.2n", $txt_desc_especial_euros);
    $html_desc_financ = money_format("%.2n", $txt_desc_finac_euros);
    $html_subtotal = money_format("%.2n", $txt_base_imponible - $txt_desc_especial_euros);
    $html_iva = $valor_iva;
    $html_monto_iva = money_format("%.2n", ( ($txt_base_imponible - $txt_desc_especial_euros) * $valor_iva ) / 100 );
    $html_pvp_recomendado = money_format("%.2n", ($txt_base_imponible - $txt_desc_especial_euros) + ( ($txt_base_imponible - $txt_desc_especial_euros) * $valor_iva ) / 100 );
    $html_gastos_gest = money_format("%.2n", $txt_gastos_gestion);
    $html_total = money_format("%.2n", (($txt_base_imponible - $txt_desc_especial_euros) + ( ($txt_base_imponible - $txt_desc_especial_euros) * $valor_iva ) / 100 ) + $txt_gastos_gestion );
    $html_pend_pago = money_format("%.2n", ((($txt_base_imponible - $txt_desc_especial_euros) + ( ($txt_base_imponible - $txt_desc_especial_euros) * $valor_iva ) / 100 ) + $txt_gastos_gestion) - $txt_desc_finac_euros );
    //
    include('./system/controllers/walcu/includes/htmlCustomPdfOfertaVehiculo.php');
    $nombre_doc = "oferta_".$html_oferta." de ".$html_mostrar.".pdf";
    $dompdf->setPaper('A4', 'portrait');
    $dompdf->loadHtml($html_pdf);
    $dompdf->render();
    $pdf = $dompdf->output();
    file_put_contents("./assets/temporals/".$nombre_doc, $pdf);
    //LIMPIO LOS DOCUMENTOS CON ANTIGUEDAD MAYOR A 5 min-------------------------------
    $dir = opendir('./assets/temporals/');
    while($f = readdir($dir))
    {
    if((time()-filemtime('./assets/temporals/'.$f) > 300) and !(is_dir('./assets/temporals/'.$f)))
    unlink('./assets/temporals/'.$f);
    }
    //===============================================================
    //HAGO EL UPLOAD DEL DOCUMENTO A LA BD---------------------------
    //Creo la Entrada------------------------------------------------
    $entrada = get_id_unico();
    //este es el archivo temporal------------------------------------
    $imagen_temporal  = "./assets/temporals/".$nombre_doc;
    //Tamaño---------------------------------------------------------
    $tamano = filesize($imagen_temporal);
    //este es el tipo de archivo------------------------------------
    $ext = get_extension($nombre_doc);
    //usuario-------------------------------------------------------
    $user = $_SERVER["HTTP_CLIENT_ID"];
    //ordenador-----------------------------------------------------
    $ordenador = 'EXT';
    //contacto------------------------------------------------------
    //$contacto = $_SESSION["contacto"];
    //Padre
    $alias_padre = "OFERTAS_IVO";
    //Busco los datos del padre-------------------------------------
    $datos_padre = datosDirPadre($bd_conn, $alias_padre);
    //Variables del Padre-------------------------------------------
    $clave_padre = $datos_padre['CLAVE'];
    //AMBITO
    $ambito = $datos_padre['AMBITO'];
    //ACCESO DEL PAGRE
    $acceso_padre = $datos_padre['ACCESO']; //ACCESO AUTO DEL PADRE
    $acceso_auto_padre = $datos_padre['ACCESO_AUTO'];
    //UBICACION
    $ubicacion = $datos_padre['UBICACION'] . $clave_padre . "/";
    //permisos-----------------------------------------------------
    $permiso = permisosDir($bd_conn, $clave_padre);
    //este es el acesso heredado del directorio padre--------------
    $acceso_doc = accesoDoc($bd_conn, $clave_padre);
    //=============================================================
    //ACCIONES DEL UPLOAD==========================================
    //VALIDAR EL NOMBRE DEL DOCUMENTO------------------------------
    //-------------------------------------------------------------
    $exist_doc = docExist($bd_conn, $ambito, $nombre_doc, $clave_padre);
    while ( $exist_doc == 1) {
        $a = explode( '.', $nombre_doc );
        $nombre_doc_up = $a[0];
        $ext_doc = end( $a );
        $nombre_doc = $nombre_doc_up."(1).".$ext_doc;
        $exist_doc = docExist($bd_conn, $ambito, $nombre_doc, $clave_padre);
    }
    //=============================================================
    //leer el archivo temporal en binario--------------------------
    $fp     = fopen($imagen_temporal, 'r');
    $data_file = fread($fp, filesize($imagen_temporal));
    fclose($fp);
    //escapar los caracteres---------------------------------------
    $data_file = mysqli_real_escape_string($bd_conn, $data_file);
    //=============================================================
    //SCRIP DEL REGISTRO DEL NUEVO DOCUMENTO-----------------------
    //valido tamaño maximo permitido por los ficheros--------------
    $max_fichero = maxTamanoFichero($bd_conn);
    //verificar si existe tabla con espacio disponible-------------
    $tabla_sufijo = tablaDestDisp($bd_conn, $tamano, $max_fichero, $name_avanws);
    //=============================================================
    //verifico nombre de la tabla o creo una nueva para el registro del doc y cargo el sufijo
    if ($tabla_sufijo == "") {
        $sufijo = substr(get_id_unico(),0, 14);
        $tabla_sufijo = "FICHEROS_" . $sufijo;
        $sql = "CREATE TABLE ". $tabla_sufijo . " LIKE FICHEROS_PATRON";
        $base = $bd_conn->query(strtoupper($sql));
    }else{
        $sufijo = substr($tabla_sufijo, 9, 14);
    }
    //======================================================================================
    //Valido la cantidad de partes y realizao el insert en la Tabla de Ficheros-------------
    $parte = 1;
    if ( $tamano > 16777216 ) {
            $array = str_split($data_file, 16777216);
            foreach ($array as $key => $value) {
                $fichero_ok = subirContenido($bd_conn, $clave, $entrada, $parte, $sufijo, $value, $tamano, strlen($value));
                $parte++;
            }
    }else{
            $entrada = get_id_unico();
            $fichero_ok = subirContenido($bd_conn, $clave, $entrada, $parte, $sufijo, $data_file, $tamano, strlen($data_file));
    }
    //=====================================================================================
    //Valido la cant de partes a utilizar en la Biblioteca de Elementos--------------------
    if ($parte == 1) {
        $partes = $parte;
    }else{
        $partes = $parte -1;
    }
    //====================================================================================
    //Valido que se realizo el insert y Realizo el registro en la biblioteca de elementos-
    if ($fichero_ok){
        //CAPTURO LA CLAVE DEL DOCUMENTO GENERADO-----------------------------------------
        //hago el registro en la biblioteca de elementos----------------------------------
        docBibliotecaElementos($bd_conn, $clave, $nombre_doc, $ext, $clave_padre, $tamano, $acceso_doc, $user, $entrada, $ordenador, $partes, $sufijo, $ambito, $permiso, $ubicacion);
        //hago el registro en el log------------------------------------------------------
        historialLog($bd_conn, $clave, $user, $nombre_doc, $ordenador, $ambito, $acceso_doc, $tamano);
    }else{
        //echo $fichero_ok;
    }
    $data['oferta'] = array ( 
        "status" => "OK",
        "message" => "oferta " . $html_oferta . " creada satisfactoriamente"
    );
}
?>