<?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');
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['foto']['error']) == 0)
{
    $codigo = $_SESSION['CODIGO_COCHE'];
    $countFoto = count($_FILES['foto']['name']);
    for($i = 0; $i < $countFoto; $i++)
    {
        $clave = get_id_unico();
        $name = $_FILES['foto']['name'][$i];
        $tmp = $_FILES['foto']['tmp_name'][$i];
        $size = $_FILES['foto']['size'][$i];
        $sqlName = "SELECT NOMBRE FROM BIBLIOTECA_ELEMENTOS WHERE NOMBRE = '$name'";
        $resName = $con->query($sqlName);
        if($resName->num_rows > 0)
        {
            $name = cambiar_nombre_doc($con,$name);  
        }
        $sqlParamTable = 'SELECT VALOR FROM PARAMETROS WHERE CODIGO = "TAM_TABLABLOB"';
        $part = pathinfo($name);
        $extension = strtoupper($part['extension']);
        $resParamTable = $con->query($sqlParamTable);
        $filaParamTable = $resParamTable->fetch_array();
        $paramGb = $filaParamTable['VALOR'];
        $parte = 1;
        $version = 0;
        $entrada = get_id_unico();
        $nombreArchivo = basename($name,".$extension");
        $padre =  get_padre($con,$codigo);
        $sqlPAU = "SELECT PADRE,ACCESO,UBICACION FROM BIBLIOTECA_ELEMENTOS WHERE CLAVE = '$padre'";
        $resPAU = $con->query($sqlPAU);
        $filaPAU = $resPAU->fetch_array();
        $acceso = $filaPAU['ACCESO'];
        $ubicacion = $filaPAU['UBICACION'];
        $tipo = 'D';
        $ambito = 'PUB';
        $sqlPC = "SELECT ORDENADOR FROM USUARIOS_ACCESOS WHERE USUARIO = '$usuarioSession'";
        $resPC = $con->query($sqlPC);
        $filaPC = $resPC->fetch_array();
        $ordenador = $filaPC['ORDENADOR'];
        copy($tmp,'../uploads/'.$name);
        $item = "../uploads/$name";
        $ruta = fopen($item,"r");
        $dataSecondary = fread($ruta,filesize($item));
        $data = $dataSecondary;
        fclose($ruta);
        $sqlTable = "SELECT TABLE_NAME,ROUND(DATA_LENGTH/(1024*1024*1024),1) AS GB
                    FROM INFORMATION_SCHEMA.TABLES
                    WHERE TABLE_SCHEMA = ?
                    AND TABLE_NAME LIKE 'FICHEROS_2%'
                    AND (ROUND(DATA_LENGTH/(1024*1024*1024),1) + ROUND(?/(1024*1024*1024),1)) < (ROUND(?,1))
                    ORDER BY DATA_LENGTH LIMIT 1";
        $stmt = $con->prepare($sqlTable);
        $stmt->bind_param('sii',$database,$size,$paramGb);
        $stmt->execute();
        $resTable = $stmt->get_result();
        if($resTable->num_rows)
        {
            $filaTable = $resTable->fetch_array();
            $table_name = $filaTable['TABLE_NAME'];
            $explode = explode("_",$table_name);
            $sufijo = $explode[1];
        }
        else
        {
            $sufijo = substr(get_id_unico(),0, 14);
            $sqlCreateTable = "CREATE TABLE `FICHEROS_$sufijo` (
                `CLAVE` VARCHAR(18) NOT NULL DEFAULT '',
                `PARTE` INT(11) NOT NULL DEFAULT '0',
                `VERSION` VARCHAR(8) NOT NULL DEFAULT '',
                `FICHERO` LONGBLOB NULL,
                `TAMANO` DOUBLE(15,0) NULL DEFAULT '0',
                `ENTRADA` VARCHAR(18) NULL DEFAULT '',
                `COMPRIMIDO` INT(11) NULL DEFAULT '0',
                `TAMANOREAL` DOUBLE(15,0) NULL DEFAULT '0',
                `ENCRIPTADO` INT(11) NULL DEFAULT '0',
                `FECHA` DATETIME NULL DEFAULT NULL,
                `USUARIO` VARCHAR(50) NULL DEFAULT NULL,
                PRIMARY KEY (`CLAVE`, `PARTE`, `VERSION`),
                INDEX `TAMANO` (`TAMANO`),
                INDEX `ENTRADA` (`ENTRADA`)
            )
            COLLATE='latin1_swedish_ci'
            ENGINE=MyISAM
            ;";
            $resCreateTable = $con->query($sqlCreateTable);
            $table_name = "FICHEROS_$sufijo";
        }
        if ( $size > 16777216 ) 
        {
            $array = str_split($data, 16777216);
            foreach ($array as $key => $value) {
                $sql = "INSERT INTO $table_name(CLAVE,PARTE,VERSION,FICHERO,TAMANO,ENTRADA,TAMANOREAL) 
                    VALUES(?,?,?,?,?,?,?)";
                $stmt = $con->prepare($sql);
                $stmt->bind_param('siisisi',$clave,$parte,$version,$value,$size,$entrada,$size);
                $stmt->execute();
                $parte++;
            }
        }
        else
        {
            $sql = "INSERT INTO $table_name(CLAVE,PARTE,VERSION,FICHERO,TAMANO,ENTRADA,TAMANOREAL) 
                    VALUES(?,?,?,?,?,?,?)";
            $stmt = $con->prepare($sql);
            $stmt->bind_param('siisisi',$clave,$parte,$version,$data,$size,$entrada,$size);
            $stmt->execute();
        } 
        $sqlBE = "INSERT INTO BIBLIOTECA_ELEMENTOS(CLAVE,NOMBRE,EXTENSION,PADRE,ACCESO,UBICACION,TIPO,FECHA,TAMANO,AMBITO,CREADOR,ORDENADOR,MODIFICACION,PARTES,ENTRADA,SUFIJO) VALUES('$clave','$nombreArchivo','$extension','$padre','$acceso','$ubicacion','$tipo',NOW(),$size,'$ambito','$usuarioSession','$ordenador',NOW(),$parte,'$entrada',$sufijo)";
        $con->query($sqlBE);
        unlink($item);

        $sqlEsq = "SELECT CODIGO FROM ESQUEMAS WHERE ALIAS = 'DOC_VEHICULO'";
        $resEsq = $con->query($sqlEsq);
        $filaEsq = $resEsq->fetch_array();
        $grupoe = 1;
        $esquema = $filaEsq['CODIGO']; 
        $sqlGr1 = "INSERT INTO BIBLIOTECA_ETIQUETAS(CODIGO,CLAVE,DESCRIPCION,GRUPOE,ESQUEMA,FECHA) 
        VALUES(" . get_id_unico() . ", '$clave'," . get_id_unico() . ", $grupoe, $esquema, NOW())";
        $con->query($sqlGr1);

        $grupoEE = esquema_estructura($con,'FECHA',$esquema)[0];
        $ordenEE = esquema_estructura($con,'FECHA',$esquema)[1];
        $descripcion = date('d/m/Y');
        $vfecha = date('Y-m-d');

        $sqlGr2 = "INSERT INTO BIBLIOTECA_ETIQUETAS(CODIGO,CLAVE,DESCRIPCION,GRUPOE,ESQUEMA,FECHA,ORDEN,VFECHA)
        VALUES(" . get_id_unico() .", '$clave', '$descripcion', $grupoEE, $esquema,NOW(),$ordenEE,'$vfecha')";
        $con->query($sqlGr2);

        $grupoEE = esquema_estructura($con,'TIPO',$esquema)[0];
        $ordenEE = esquema_estructura($con,'TIPO',$esquema)[1];
        $tipoEE = esquema_estructura($con,'TIPO',$esquema)[2];
        $listaEE = esquema_estructura($con,'TIPO',$esquema)[3];
        $descripcion = 'FOTO';
        $sqlTipoLC = "SELECT CODIGO FROM ETIQUETAS WHERE GRUPO = $listaEE AND DESCRIPCION = '$descripcion'";
        $resTipoLC = $con->query($sqlTipoLC);
        $filaTipoLC = $resTipoLC->fetch_array(); 

        $sqlGr3 = "INSERT INTO BIBLIOTECA_ETIQUETAS(CODIGO,CLAVE,DESCRIPCION,GRUPO,ETIQUETA,GRUPOE,ESQUEMA,FECHA,ORDEN)
        VALUES(" . get_id_unico() . ", '$clave', '$descripcion',  $listaEE, " . $filaTipoLC['CODIGO'] . ", $grupoEE, $esquema, NOW(), $ordenEE)";
        $con->query($sqlGr3);

        $grupoEE = esquema_estructura($con,'VEHICULO',$esquema)[0];
        $ordenEE = esquema_estructura($con,'VEHICULO',$esquema)[1];
        $tipoEE = esquema_estructura($con,'VEHICULO',$esquema)[2];
        $listaEE = esquema_estructura($con,'VEHICULO',$esquema)[3];
        
        $sqlGr4 = "INSERT INTO BIBLIOTECA_ETIQUETAS(CODIGO,CLAVE,DESCRIPCION,GRUPOE,ESQUEMA,FECHA,ORDEN)
        VALUES(" . get_id_unico() . ", '$clave','$codigo', $grupoEE, $esquema, NOW(), $ordenEE)";
        $con->query($sqlGr4);
        historial($con,2,$codigo,$imagenes_insertadas_lg);
        $_SESSION['edit'] = 5; 
        header("Location:../resultados-editar.php");
    }
}
else
{
    historial($con,2,$codigo,$error_lg);
    $_SESSION['edit'] = 99; 
    header("Location:../resultados-editar.php");
}
?>