<?php
$doc_datos = consultaDatosDocumento($bd_conn, $doc_id);
$status_fichero = 0;
if ( $doc_datos["VERSIONADO"] == 0 ) {
    $doc_sufijo = $doc_datos["SUFIJO"];
    $version_actual = "0";
    $datos_version_base = versionBaseDocumento($bd_conn,$doc_id,$doc_sufijo,$version_actual);
    $parte = $datos_version_base["PARTE"];
    $version = "1.00";
    $fichero = mysqli_real_escape_string($bd_conn, $datos_version_base["FICHERO"]);
    $tamano = $datos_version_base["TAMANO"];
    $entrada = $datos_version_base["ENTRADA"];
    $comprimido = $datos_version_base["COMPRIMIDO"];
    $tamano_real = $datos_version_base["TAMANOREAL"];
    $encriptado = $datos_version_base["ENCRIPTADO"];
    creaRegistroTablaFicheros($bd_conn, $doc_id, $parte, $version, $fichero, $tamano, $entrada, $tamano_real, $doc_sufijo);
    //=================================================================================
    //CREO EL REGISTRO DE LA NUEVA VERSION---------------------------------------------
    //AUMENTO LA VERSION ACTUAL
    $nueva_version = $version + 0.01;
    if (isset($_POST["doc_origen"])) {
        if ($_POST["doc_origen"] == 'IOS') {
            $coding_file = str_replace(" ", "+" , $coding_file);
        }
    }
    $binario = base64_decode($coding_file);
    $binario = mysqli_real_escape_string($bd_conn, $binario);
    creaRegistroTablaFicheros($bd_conn, $doc_id, $parte, $nueva_version, $binario, $tamano, $entrada, $tamano_real, $doc_sufijo);
    UpdateNuevaVersionDocumento($bd_conn, $doc_id, $nueva_version);
    UpdateDocumentoActual($bd_conn, $doc_id, $binario, $tamano, $tamano_real, $doc_sufijo);
    $status_fichero = 1;
}elseif (  $doc_datos["VERSIONADO"] == 1 ) {
    $doc_sufijo = $doc_datos["SUFIJO"];
    $version_actual = $doc_datos["VERSION"];
    $datos_version_base = versionBaseDocumento($bd_conn,$doc_id,$doc_sufijo,$version_actual);
    $parte = $datos_version_base["PARTE"];
    $nueva_version = $version_actual + 0.01;
    $entrada = $datos_version_base["ENTRADA"];
    $comprimido = $datos_version_base["COMPRIMIDO"];
    $encriptado = $datos_version_base["ENCRIPTADO"];
    $tamano = $datos_version_base["TAMANO"];
    $tamano_real = $datos_version_base["TAMANOREAL"];
    if (isset($_POST["doc_origen"])) {
        if ($_POST["doc_origen"] == 'IOS') {
            $coding_file = str_replace(" ", "+" , $coding_file);
        }
    }
    $binario = base64_decode($coding_file);
    $binario = mysqli_real_escape_string($bd_conn, $binario);
    creaRegistroTablaFicheros($bd_conn, $doc_id, $parte, $nueva_version, $binario, $tamano, $entrada, $tamano_real, $doc_sufijo);
    UpdateNuevaVersionDocumento($bd_conn, $doc_id, $nueva_version);
    UpdateDocumentoActual($bd_conn, $doc_id, $binario, $tamano, $tamano_real, $doc_sufijo);
    $status_fichero = 1;
}
if (isset($_POST['doc_trace'])) {
    if ($_POST['doc_trace'] !== '') {
        $accion_historial = $_POST['doc_trace'];
    }else {
		$accion_historial = 2;
	}
}else {
	$accion_historial = 2;
}
$user = $_SERVER["HTTP_CLIENT_ID"];
$nombre = $doc_datos["NOMBRE"];
$ordenador = "api_ext";
$ambito = "PUB";
$acceso_doc = '';
historialLog($bd_conn, $doc_id, $user, $nombre, $ordenador, $ambito, $acceso_doc, $tamano, $accion_historial);
//FUNCIONES=============================================
function historialLog($bd, $clave, $user, $nombre, $ordenador, $ambito, $acceso_doc, $tamano, $accion_historial) {
	mysqli_query($bd, "INSERT INTO BIBLIOTECA_HISTORIAL 
						(CLAVE, USUARIO, FECHA, ACCION, DOCUMENTO, CARPETA, ORDENADOR, AMBITO, ACCESO, TIPO, TAMANO, CREADOR, CONTROL, AWA) 
						VALUES 
						('$clave', '$user', now(), $accion_historial, '$nombre', '$user', '$ordenador', '$ambito', '$acceso_doc', 'D', $tamano, '$user', 0, 1)") ;
}
function UpdateDocumentoActual($bd, $doc, $fichero, $tamano, $tamano_real, $sufijo)
{
    $query = "  UPDATE FICHEROS_$sufijo 
                SET FICHERO = '$fichero', TAMANO = $tamano, TAMANOREAL = $tamano_real
                WHERE CLAVE = '$doc' AND VERSION = '0' ";
    mysqli_query($bd, $query);
}
function creaRegistroTablaFicheros($bd, $doc, $parte, $version, $fichero, $tamano, $entrada, $tamano_real, $sufijo)
{
    $query = "  INSERT INTO FICHEROS_$sufijo (CLAVE, VERSION, ENTRADA, TAMANO, TAMANOREAL, PARTE, FICHERO)
                VALUES ( '$doc', '$version', '$entrada', $tamano, $tamano_real, $parte, '$fichero')";
    mysqli_query($bd, $query);
}
function UpdateNuevaVersionDocumento($bd, $doc, $nueva_version)
{
    $query = "  UPDATE BIBLIOTECA_ELEMENTOS 
                SET VERSION = '$nueva_version', VERSIONADO = 1
                WHERE CLAVE = '$doc'";
    mysqli_query($bd, $query);
}
function versionBaseDocumento($bd, $doc_id, $doc_sufijo, $version_actual)
{
    $sql =  "   SELECT *
                FROM FICHEROS_$doc_sufijo
                WHERE CLAVE = ? AND VERSION = ? LIMIT 1";
    $base = $bd->prepare($sql);
    $doc_id = mysqli_real_escape_string($bd, $doc_id);
    $version_actual = mysqli_real_escape_string($bd, $version_actual);
    $base->bind_param('ss', $doc_id, $version_actual);
    $base->execute();
    $result =mysqli_fetch_array($base->get_result());
    $base->close();
    return $result;
}
function consultaDatosDocumento($bd, $doc_id)
{
    $sql =  "   SELECT E.VERSION, E.SUFIJO, E.VERSIONADO, E.NOMBRE
                FROM BIBLIOTECA_ELEMENTOS E
                WHERE E.CLAVE = ? LIMIT 1";
    $base = $bd->prepare($sql);
    $doc_id = mysqli_real_escape_string($bd, $doc_id);
    $base->bind_param('s', $doc_id);
    $base->execute();
    $result =mysqli_fetch_array($base->get_result());
    $base->close();
    return $result;
}
?>