<?php


error_reporting(E_ALL);
ini_set('display_errors', 1);
date_default_timezone_set('America/Costa_Rica');

require ('../../conexion.php');		//Controla las credenciales para BD
require ('nt_consultasbd.php');	//Realizas las consultas a BD para la optencion de datos
//require ('fe_objeto_te.php');   //Forma el un string en para exportar a xml

$codnota=$_GET["f"];

$consulta = "SELECT * FROM facturas_notas_debito WHERE codnota='$codnota'";
$resultado = $mysqli->query($consulta);
$fila = $resultado->fetch_array();

    echo    $clave = $fila["cdgclave"];
	echo	$fechaEmision = $fila["fechac"];
	echo	$numcomp = $fila["numcomp"];
	echo	$cedtip= $fila["cedtip"];
    echo    $cedcli= $fila["cedcli"];
	echo    $cdgcli= $fila["cdgcli"];

echo $xmlFirmado = 'crt/comprobantes/'.$numcomp.'.xml';
			


$xmlFirmado = file_get_contents($xmlFirmado);


/***************************************	
		PREPARACION
***************************************/	
	$ahora = strtotime(date('Y-m-d H:i:s'));	
	$bdHora = $resultadoToken['refresh_token_limit'];
		
	if((int)$ahora < (int)($bdHora)){		
		$eltoken = $resultadoToken['access_token'];		
	}else{
	$eltoken = $resultadoToken['access_token'];			
	}
	
	$mensaje ='{
	  "clave": "'.$clave.'",
	  "fecha": "'.$fechaEmision.'", 
	  "emisor": {
		"tipoIdentificacion": "'.$web_0000['TIPCEDEMP'].'",
		"numeroIdentificacion": "'.$web_0000['CEDJUR'].'"
	  },';
	 
	if($cdgcli !== '9999'){
		$mensaje .='
		  "receptor": {
			"tipoIdentificacion": "'.$cedtip.'",
			"numeroIdentificacion": "'.$cedcli.'"
		  },
		  "comprobanteXml": "'.base64_encode($xmlFirmado).'"
		}'; 
	}else{
		$mensaje .='
		  "comprobanteXml": "'.base64_encode($xmlFirmado).'"
		}'; 
	}
 
	$header = array(
		'Authorization: bearer '.$eltoken,//NOTA: Token
		'Content-Type: application/json'
	);
	
	$curl = curl_init($parametros['uriRecepcion']);
	curl_setopt($curl, CURLOPT_HEADER, true);
	curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
	curl_setopt($curl, CURLOPT_HTTPHEADER, $header);
	curl_setopt($curl, CURLOPT_CUSTOMREQUEST, "POST");
	curl_setopt($curl, CURLOPT_POSTFIELDS, $mensaje);
	curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
	curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, false);

	$respuesta = curl_exec($curl);
	$status = curl_getinfo($curl,CURLINFO_HTTP_CODE);
	curl_close($curl);
	
	$headers = array();
	
	$data = explode("\n",$respuesta);
		
	$mensaje = '';
	foreach($data as $key=>$currentkey ){
		$pos = strpos($currentkey,'X-Error-Cause');		
		if ($pos !== false) {	
			$mensaje = utf8_encode($data[$key]);
			break;
		}
	}
	
	//modificar el tiquete electronico con la clave actual	
	if($facturas_notas_debito['estadoComprobanteIntegracion'] >= 200 && $facturas_notas_debito['estadoComprobanteIntegracion'] <=299){
		$status = $facturas_notas_debito['estadoComprobanteIntegracion'];
		if(empty($facturas_notas_debito['mensajeHacienda']))
			$mensaje = $facturas_notas_debito['mensajeHacienda'];		
	}
	
	$actualizarEstadoComp = "
	UPDATE facturas_notas_debito 
	SET 
		estadoComprobanteIntegracion = $status,
		mensajeHacienda = '$mensaje'
		
	WHERE codnota = $idNota";
	
	if ($mysqli->query($actualizarEstadoComp) === TRUE) {
		echo "Record updated successfully";
	} else {
		echo "Error updating record: " . $mysqli->error;
		echo '<br>'.$actualizarEstadoComp;
		
	}
	$mysqli->close();

	
	if((int)$status >= 201 && (int)$status <= 299){		
		/***************************************	
		Proceso de consulta de estado del comprobantes
		***************************************/	

		require('nt_estado.php'); /**/
		
		
	}else{
echo "<script languaje='javascript' type='text/javascript'>window.close();</script>";
	}
	
	
?>