<?php
    session_start();
    $usuarioSession = $_SESSION['USUARIO'];
    $grupo = $_SESSION['GRUPO'];
    $contacto = $_SESSION['CONTACTO'];
    $awa_session_id = $_SESSION['AWA_SESION_ID'];
    include('../includes/conex.php');
    include('../includes/eat.php');
    include('../includes/historial.php');
    include('../includes/functions.php');
    include('../includes/esquemas.php');
    include('../class/Schema.php');
    include('../class/MotherCar.php');
    include('../class/Expediente.php');
    include('../class/Static.php');
    if(!isset($usuarioSession) OR $awa_session_id != $awa_id) {
        eatCookies();
        header('Location:../index.php');
    }
    if(isset($_COOKIE['usuario']) AND $_COOKIE['usuario'] != $staticUsu ) {
        eatCookies();
        header('Loction:../index.php');
    }
    if (isset($_COOKIE['idioma'])) {
        include('../lg/LG_' . $_COOKIE['idioma'] . '.php');
    } else {
        include('../lg/LG_SP.php');
    }
    

    
    if (array_sum($_FILES['doc']['error']) == 0) {
        $Schema = new Schema($con, $database);
        $MotherCar = new MotherCar($con);
        $Expediente = new Expediente($con);
        $codigo_vehiculo = $_SESSION['VEHICULO_RECIEN_CREADO'];
        $res = $Schema->executeQuery('SELECT IDCAR, MARCA, MODELO, MATRICULA FROM VEHICULOS WHERE CODIGO = ?', 'i', [$codigo_vehiculo]);
        $row = $res->fetch_array();
        
        $Schema->set_ubicacion_archivos('../uploads/')->get_ubicacion_archivos();
        $_POST['youCantSeeMe'] == 'FOTO' ? $Schema->set_resize_img(TRUE) : $Schema->set_resize_img(FALSE); 
        $EXP0 = 'EXP000000000000000';
        $mostrar = $MotherCar->construir_mostrar_vehiculo($row['IDCAR'], $row['MARCA'], $row['MODELO'], $row['MATRICULA']);
        $codigo_exp_tipo = $Schema->select_expediente_tipos_valores('VEHICULO_STOCK');
        $descripcion_exp_tipo = $Schema->select_expediente_tipos_valores('VEHICULO_STOCK', 'DESCRIPCION');
        $codigo_esq_estr = $Schema->select_esquema_estructura_valores('VEHICULO', -1);
        $str_replace = substr_replace($EXP0,$codigo_exp_tipo,-strlen($codigo_exp_tipo));
        $contadores = $Expediente->check_contador_expediente($codigo_vehiculo) ? $Expediente->check_contador_expediente($codigo_vehiculo) : Statics::get_contadores($con,$str_replace);

        
        if($Expediente->check_expediente($codigo_esq_estr, $contadores)) {
            $claveXT = "XT$codigo_exp_tipo";
            $nombreXT = $descripcion_exp_tipo; 
            $padreXT = "##EXPEDIENTES##";
            $iconoXT = "expediente";
            $ubicacionXT = "##PUBLICO##/##EXPEDIENTES##/";
            $ano = date('Y');
            $fechahoy = date('d/m/Y');

            $claveXA = "XA$codigo_exp_tipo".".$ano";
            $nombreXA = $descripcion_exp_tipo; 
            $padreXA = "##EXPEDIENTES##";
            $iconoXA = "fecha";
            $ubicacionXA = "##PUBLICO##/##EXPEDIENTES##/" . $claveXT . "/";

            $Expediente->insert_biblioteca_expedientes_valores($contadores,1,$codigo_exp_tipo,0,$contadores);
            $Expediente->insert_biblioteca_expedientes_valores($contadores,2,$codigo_exp_tipo,1,$fechahoy,0,"NOW()");
            $Expediente->insert_biblioteca_expedientes_valores($contadores,3,$codigo_exp_tipo,2,$descripcion_exp_tipo,false,false,$codigo_exp_tipo);
            $Expediente->insert_biblioteca_expedientes_valores($contadores,$codigo_esq_estr,$codigo_exp_tipo,3,$mostrar,false,false,$codigo_vehiculo);

            if ($Expediente->check_expediente_carpeta($claveXT) == 0) {
                $Expediente->crear_carpeta_expediente($claveXT, $nombreXT, $padreXT, $usuarioSession, $iconoXT, $ubicacionXT);
            } 
            if ($Expediente->check_expediente_carpeta($claveXA) == 0) {
                $acceso = $Expediente->select_acceso_biblioteca_elementos($claveXT);
                $Expediente->crear_carpeta_expediente($claveXA, $ano, $claveXT, $usuarioSession, $iconoXA, $ubicacionXA, $acceso);
            } else {
                $acceso = $Expediente->select_acceso_biblioteca_elementos($claveXA);
            }

            $claveEXP = get_id_unico();
            $padre = $claveXA;
            $ubicacion = $ubicacionXA . "$claveXA/";
            $Expediente->crear_carpeta_expediente($claveEXP,$mostrar,$padre,$usuarioSession,$iconoXT,$ubicacion,$acceso,$contadores);
            $Expediente->insert_biblioteca_etiquetas_expediente(get_id_unico(),$claveEXP,$contadores,1,-1);
        } else {
            $claveEXP = $Expediente->select_clave_padre_acceso_ubicacion_expediente($codigo_vehiculo);
            $acceso = $Expediente->select_clave_padre_acceso_ubicacion_expediente($codigo_vehiculo, 'ACCESO');
            $ubicacion = $Expediente->select_clave_padre_acceso_ubicacion_expediente($codigo_vehiculo, 'UBICACION');   
        }

        if($_POST['youCantSeeMe'] == 'FOTO') {
            $sql_pos = 'SELECT MAX(E.POS) AS MAX_POS
            FROM BIBLIOTECA_ELEMENTOS E 
            INNER JOIN BIBLIOTECA_ETIQUETAS T ON T.CLAVE = E.CLAVE
            WHERE T.ETIQUETA = ? AND E.PAPELERA = ?';
            $res_pos = $Schema->executeQuery($sql_pos, 'ii', [$codigo_vehiculo, 0]);
            $row_pos = $res_pos->fetch_array();
            $start_here_posicion = $row_pos['MAX_POS'] + 1;
            for($i = 0; $i < count($_FILES['doc']['tmp_name']); $i++) {
                $posicion = $i + $start_here_posicion;
                $clave = $Schema->set_clave_elemento(get_id_unico())->get_clave_elemento();
                $name = $_FILES['doc']['name'][$i];
                $tmp = $_FILES['doc']['tmp_name'][$i];
                $size = $_FILES['doc']['size'][$i];
                $part = pathinfo($name);
                $extension = $part['extension'];
                $name = Statics::rename($extension, $posicion, $con, $row['IDCAR']);
                $Schema->upload_doc($tmp, $name, $size, $claveEXP, $acceso, $ubicacion, $usuarioSession, $codigo_vehiculo, $posicion);

                $codigo_biblioteca_etiquetas = get_id_unico();
                $Schema->asignar_etiquetas_nuevo_expediente($codigo_biblioteca_etiquetas, $codigo_vehiculo, $mostrar, TRUE, TRUE);

            }
        } else {
            $tipo_documento = Statics::SafeInput($con, $_POST['youCantSeeMe']);

            for($i = 0; $i < count($_FILES['doc']['tmp_name']); $i++) {
                $clave = $Schema->set_clave_elemento(get_id_unico())->get_clave_elemento();
                $name = $_FILES['doc']['name'][$i];
                $tmp = $_FILES['doc']['tmp_name'][$i];
                $size = $_FILES['doc']['size'][$i];
                $part = pathinfo($name);
                $extension = $part['extension'];
                $nombre_vehiculo = $MotherCar->nombre_vehiculo($row['MARCA'], $row['MODELO'], "_");
                $name = $tipo_documento . "_" . Statics::rename($extension, $i, $con, $nombre_vehiculo);
                $Schema->upload_doc($tmp, $name, $size, $claveEXP, $acceso, $ubicacion, $usuarioSession, $codigo_vehiculo);

                $codigo_biblioteca_etiquetas = get_id_unico();
                $Schema->asignar_etiquetas_nuevo_expediente($codigo_biblioteca_etiquetas, $codigo_vehiculo, $mostrar); 

            }
        } 
        $_SESSION['MSG_INFO'] = 'DATOS_ARCHIVOS';
        $detalle = $documentos_imagenes_lg . ': ' . $archivos_cargados_correctamente_lg;
        Statics::add_trace_history($con, $usuarioSession, $_SESSION['VEHICULO_RECIEN_CREADO'], 2, $detalle);
        header("Location:../nuevo-vehiculo-datos.php");
    } else {
        $_SESSION['MSG_INFO'] = 'ERROR';
        $detalle = $documentos_imagenes_lg . ': ' . $archivos_no_cargados_lg;
        Statics::add_trace_history($con, $usuarioSession, $_SESSION['VEHICULO_RECIEN_CREADO'], 2, $detalle);
        header("Location:../nuevo-vehiculo-datos.php");
    }

    
?>