<?php

require '../Clases/Firmar_bol.php';
require '../Clases/Autentificacion.php';
require './Clase_SoapSII.php';
include('../../conex.php'); 
 $id_empresa = 1;
$sl=chr(10);

/**************** Datos Empresa ****************** seleccionar cual empresa  es el ingreso  en ssesion******/
	$sql_empresa = "SELECT * FROM empresa, comunas WHERE comunas.cod_comuna = empresa.comuna and id=$id_empresa;";
	
	$res_empresa = mysql_query($sql_empresa,$enlace);
	$row=0;
	
		$empresa_rut=mysql_result($res_empresa, $row, "rut_empresa");
		$empresa_rut = str_replace('.', '', $empresa_rut);
		$rut_representante=mysql_result($res_empresa, $row, "rut_representante");
	  	$rut_representante = str_replace('.', '', $rut_representante);
		$fecha_resolucion=mysql_result($res_empresa, $row, "fecha_resolucion");
		$numero_resolucion=mysql_result($res_empresa, $row, "numero_resolucion");
		$certificacion=mysql_result($res_empresa, $row, "certificacion");
		$fecha_certificacion=mysql_result($res_empresa, $row, "fecha_certificacion");
		$correo_dte=mysql_result($res_empresa, $row, "correo_dte");
		$clave_correo_dte=mysql_result($res_empresa, $row, "clave_correo_dte");
		$sitio_empresa=mysql_result($res_empresa, $row, "sitio_empresa");
        $ip_empresa=mysql_result($res_empresa, $row, "ip_empresa");
      $clave_certificado_digital=mysql_result($res_empresa, $row, "clave_certificado_digital");
	  
	 $ambiente="PRODUCCION";
	if($certificacion=='SI') { $ambiente="CERTIFICACION"; $fecha_resolucion=$fecha_certificacion; $numero_resolucion=0;}



if (!isset($_GET["documento"])){
  echo "<h3>[X] No se ha enviado ninguna ruta.</h3>";  
}
else{

    $doc_recibido = $_GET["documento"];
	
	    
    $rutEmisor = $empresa_rut;
    $rutEnvia = $rut_representante;
     $pkRuta = './'.$rut_representante.'.pfx'; 
	$pkPass =  $clave_certificado_digital;
	
	
	 define("PEM_RUTA", "./crt.pem");
	 define("KEY_RUTA", "./server.key");
	 define("SLC_HAMBIENTE",$ambiente);
    
    
    // crear lista de archivos
    $arrDocRecibido = explode("|",$doc_recibido);
    //print_r($arrDocRecibido);
    foreach ($arrDocRecibido as $indiceDocs => $nDocs) 
	{
        //echo "$indiceDocs ** $nDocs<br>\n";
        $documentos[$indiceDocs]["ruta"] = "../DOC/ORIGINAL/".$nDocs ;
    }
    // obtiene contenido de documento xml
    $xmlra = file_get_contents($documentos[0]["ruta"]);
    
    $xmlras = utf8_decode('<?xml version="1.0" encoding="ISO-8859-1"?>'.$sl."<ConsumoFolios xmlns=\"http://www.sii.cl/SiiDte\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" version=\"1.0\" xsi:schemaLocation=\"http://www.sii.cl/SiiDte ConsumoFolio_v10.xsd\">\n"
            .arreglarXML($xmlra).
            "\n</ConsumoFolios>");
    
//debug($xmlras); exit();   /// ver 
    
    $firmarDoc = new Firmar();
    $firmarDoc->pkPass = $pkPass;
    $firmarDoc->pkRuta = $pkRuta;
	
	$firmarDoc->recepArch = $xmlras;
     
    $firmarDoc->ProcesarConsumoFolios();
	
	
		
	$estaAutentificacion = new Autentificacion();
    
    $estaAutentificacion->pkPass = $pkPass;
    $estaAutentificacion->pkRuta = $pkRuta;
    $estaAutentificacion->pemRuta = PEM_RUTA;
    $estaAutentificacion->keyRuta = KEY_RUTA;

    $estaAutentificacion->getToken(); 
    
    $token = $estaAutentificacion->token;
	
	$arrEnviar = $firmarDoc->arrRecepArchivoRuta;
	//exit();
	$esteSoap = new Clase_SoapSII();

    $envio = $esteSoap->sendUploadDTE(array('rutEmisor' => $rutEmisor,'rutEnvia' => $rutEnvia,'archivo' => $arrEnviar['archivo'],'token' => $token));
    print_r($envio);
    
	
		//*******  saca datos de envio ****
	$trackid=get_string_between($envio,"<TRACKID>","</TRACKID>");
	  // echo ($trackid);

	$up_dcto = "UPDATE consumo_folios SET trackid='$trackid' WHERE  trackid='1' and empresa=$id_empresa";
	 mysql_query($up_dcto,$enlace);	
		
	 
	}
    //exit();
//************************ fin ***********

function arreglarXML($xml) {
    $docf = new DOMDocument("1.0");
    $docf->preserveWhiteSpace = false;
    $docf->formatOutput = true;
    $docf->loadXML($xml);
    $xml = $docf->saveXML();
    $xml2 = trim(preg_replace('/<\?xml.*\?>/', '', $xml, 1));
    return($xml2);
}

function debug($str) {
    echo "<textarea style='width: 99%; height: 99%'>".htmlentities($str)."</textarea>";
      }
function get_string_between($string, $start, $end)
    {
    $string = " ".$string;
     $ini = strpos($string,$start);
     if ($ini == 0) return "";
     $ini += strlen($start);     
     $len = strpos($string,$end,$ini) - $ini;
     return substr($string,$ini,$len);
   }
  
?>