'.$guid.'
';
*/
$control_doc = $docs->DOCUMENTO;
$xml ='
'.$guid.'
';
file_put_contents('request_download_doc.xml', $xml);
/////////////////////////CERTIFICADO DEL XML///////////////////////////////
shell_exec( 'xmlsec1 --sign --output signed.xml --pkcs12 ./certificado/certificado.p12 --pwd logalty request_download_doc.xml');
//se elimina primera línea del XML que contiene
shell_exec( 'sed \'1d\' signed.xml > signed_send.xml');
shell_exec( 'rm signed.xml');
//se añade cabeceras SOAP
shell_exec( 'echo \' \' > SOAP.xml ');
shell_exec( 'cat SOAP.xml signed_send.xml > signed_SOAP.xml');
shell_exec( 'rm signed_send.xml');
shell_exec( 'rm SOAP.xml');
shell_exec( 'sed -e \'$a \' signed_SOAP.xml > signed_SOAP_send.xml');
shell_exec( 'rm signed_SOAP.xml');
//se obtiene el XML firmado
$input_data = file_get_contents("signed_SOAP_send.xml");
//HAGO EL POST DE LA FIRMA=================================================
$request = 'POST';
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL ,$host);
curl_setopt($curl, CURLOPT_HEADER, 0);
curl_setopt($curl, CURLOPT_HTTPHEADER,array('User-Agent: curl/7.15.5','Accept: */*','Content-Type: text/xml; charset=UTF-8','Content-Length: '.strlen($input_data)));
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl, CURLOPT_CONNECTTIMEOUT,5);
curl_setopt($curl, CURLOPT_TIMEOUT,30);
curl_setopt($curl, CURLOPT_CUSTOMREQUEST,$request);
curl_setopt($curl, CURLOPT_POSTFIELDS, $input_data);
$xml_documento = curl_exec($curl);
//print_r($result);
//INTERPRETO LA RESPUESTA=======================================================
$doc_firmado = new DOMDocument();
libxml_use_internal_errors(true);
$doc_firmado->loadHTML($xml_documento);
libxml_clear_errors();
$xml_documento = $doc_firmado->saveXML($doc_firmado->documentElement);
$xml_documento = simplexml_load_string($xml_documento);
//HAGO EL UPLOAD DEL DOCUMENTO==================================================
if ( isset($xml_documento->body->envelope->body->signed_binary_response->main) AND $xml_documento->body->envelope->body->signed_binary_response->main == "0000" ) {
$main = (string)$xml_documento->body->envelope->body->signed_binary_response->main;
$guid = (string)$xml_documento->body->envelope->body->signed_binary_response->signedbinarys->signedbinary[0]["guid"];
$binary_b64 = (string)$xml_documento->body->envelope->body->signed_binary_response->signedbinarys->signedbinary[0]["signedbinary"];
$binario = base64_decode($binary_b64);
//print_r($main);
//UPLOAD DEL DOC A LA BBDD===================================================
//CONSULO SI EL DOCUMETO POSEE O NO EL VERSIONADO ACTIVO---------------------
$user = $_SERVER["HTTP_CLIENT_ID"];
$ordenador = "api_ext";
$origen = "AWA";
$tipo = "D";
$doc_datos = datosDocumento($bd_conn, $guid, $control_doc);
$clave_doc = $doc_datos["CLAVE"];
$version_actual = "0";
$padre = $doc_datos["PADRE"];
$nombre_doc_firm = $doc_datos["NOMBRE"];
$sufijo = $doc_datos["SUFIJO"];
$acceso_doc = $doc_datos["ACCESO"];
$permiso = $doc_datos["ACCESO"];
$ubicacion = $doc_datos["UBICACION"];
$archivo = $doc_datos["ARCHIVO"];
//ACTUALIZO EL CAMPO Y ACTIVO EL VERSIONADO DEL DOCUMENTO-------------------
UpdateVersionadoDocumento($bd_conn, $clave_doc);
//OBTENER LA VERSION BASE DEL DOCUMENTO--------------------------------------
$datos_version_base = versionBaseDocumento($bd_conn, $clave_doc, $sufijo, $version_actual);
//VARIABLES------------------------------------------------------------------
//PARTE
$parte = $datos_version_base["PARTE"];
//VERSION
$version = "1.00";
//FICHERO
$fichero = mysqli_real_escape_string($bd_conn, $datos_version_base["FICHERO"]);
//TAMANO
$tamano = $datos_version_base["TAMANO"];
//ENTRADA
$entrada = $datos_version_base["ENTRADA"];
//COMPRIMIDO
$comprimido = $datos_version_base["COMPRIMIDO"];
//TAMANOREAL
$tamano_real = $datos_version_base["TAMANOREAL"];
//ENCRIPTADO
$encriptado = $datos_version_base["ENCRIPTADO"];
//CREO EL REGISTRO DEL VERSIONADO DEL DOCUMENTO EN LA DE FICHEROS------------
creaRegistroTablaFicheros($bd_conn, $clave_doc, $parte, $version, $fichero, $tamano, $entrada, $tamano_real, $sufijo);
//===========================================================================
//CREO EL REGISTRO DE LA NUEVA VERSION---------------------------------------
//AUMENTO LA VERSION ACTUAL
$nueva_version = $version + 0.01;
//Tamaño
//$tamano = (isset($_POST['doc_size_1'])) ? $_POST["doc_size_1"] : 0 ;
//$tamano_real = (isset($_POST['doc_size_1'])) ? $_POST["doc_size_1"] : 0 ;
$binario = mysqli_real_escape_string($bd_conn, $binario);
//CREO EL REGISTRO DEL NUEVO DOCUMENTO EN LA TABLA DE LOS FICHEROS-----------
creaRegistroTablaFicheros($bd_conn, $clave_doc, $parte, $nueva_version, $binario, $tamano, $entrada, $tamano_real, $sufijo);
//ACTUALIZO LA VERSION EN LA TABLA DE ELEMENTOS------------------------------
UpdateNuevaVersionDocumento($bd_conn, $clave_doc, $nueva_version, $grapado);
//===========================================================================
//HAGO EL UPDATE DEL FICHERO ACTUAL DEL DOC EN LA DE FICHERO-----------------
UpdateDocumentoActual($bd_conn, $clave_doc, $binario, $tamano, $tamano_real, $sufijo);
updateDescargaDoc($bd_conn, $guid );
}else{
$error = 1;
}
?>